157 lines
5.7 KiB
C#
157 lines
5.7 KiB
C#
using DTS.Common.Enums;
|
|
using DTS.Common.Interface;
|
|
|
|
// ReSharper disable InconsistentNaming
|
|
|
|
namespace ISOSettings
|
|
{
|
|
public class ISOSettingsData : DTS.Common.Base.BasePropertyChanged, IISOSettingsData
|
|
{
|
|
private bool _bValidateTestPositionAndTestObject = false;
|
|
|
|
/// <summary>
|
|
/// whether the TestObject and position iso fields should be validated when validating a test setup
|
|
/// 15457 add error validation against valid ISO test object and position controlled by a site bool in system settings
|
|
/// </summary>
|
|
public bool ValidateTestObjectAndPosition
|
|
{
|
|
get => _bValidateTestPositionAndTestObject;
|
|
set => SetProperty(ref _bValidateTestPositionAndTestObject, value, "ValidateTestObjectAndPosition");
|
|
}
|
|
|
|
private bool _uniqueISOCodesRequired;
|
|
public bool UniqueISOCodesRequired
|
|
{
|
|
get => _uniqueISOCodesRequired;
|
|
set => SetProperty(ref _uniqueISOCodesRequired, value, "UniqueISOCodesRequired");
|
|
}
|
|
|
|
public bool UniqueISOCodesRequiredAndShowISOCodes => UniqueISOCodesRequired && ShowISOCodes;
|
|
|
|
public bool ShowISOCodes
|
|
{
|
|
get => ISOViewMode == IsoViewMode.ISOAndUserCode || ISOViewMode == IsoViewMode.ISOOnly;
|
|
set
|
|
{
|
|
if (value)
|
|
{
|
|
switch (ISOViewMode)
|
|
{
|
|
case IsoViewMode.ISOOnly:
|
|
case IsoViewMode.ISOAndUserCode:
|
|
break;
|
|
case IsoViewMode.UserCodeOnly:
|
|
ISOViewMode = IsoViewMode.ISOAndUserCode;
|
|
break;
|
|
case IsoViewMode.ChannelNameOnly:
|
|
ISOViewMode = IsoViewMode.ISOOnly;
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
switch (ISOViewMode)
|
|
{
|
|
case IsoViewMode.ISOOnly:
|
|
case IsoViewMode.UserCodeOnly:
|
|
case IsoViewMode.ChannelNameOnly:
|
|
break;
|
|
case IsoViewMode.ISOAndUserCode:
|
|
ISOViewMode = IsoViewMode.UserCodeOnly;
|
|
break;
|
|
}
|
|
}
|
|
|
|
OnPropertyChanged("ShowISOStringBuilder");
|
|
OnPropertyChanged("UniqueISOCodesRequired");
|
|
OnPropertyChanged("UseISOCodeFilterMapping");
|
|
OnPropertyChanged("UniqueISOCodesRequiredAndShowISOCodes");
|
|
}
|
|
}
|
|
|
|
public bool ShowUserCodes
|
|
{
|
|
get => ISOViewMode == IsoViewMode.ISOAndUserCode || ISOViewMode == IsoViewMode.UserCodeOnly;
|
|
set
|
|
{
|
|
if (value)
|
|
{
|
|
switch (ISOViewMode)
|
|
{
|
|
case IsoViewMode.UserCodeOnly:
|
|
case IsoViewMode.ISOAndUserCode:
|
|
break;
|
|
case IsoViewMode.ChannelNameOnly:
|
|
ISOViewMode = IsoViewMode.UserCodeOnly;
|
|
break;
|
|
case IsoViewMode.ISOOnly:
|
|
ISOViewMode = IsoViewMode.ISOAndUserCode;
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
switch (ISOViewMode)
|
|
{
|
|
case IsoViewMode.ISOOnly:
|
|
case IsoViewMode.UserCodeOnly:
|
|
break;
|
|
case IsoViewMode.ISOAndUserCode:
|
|
ISOViewMode = IsoViewMode.ISOOnly;
|
|
break;
|
|
case IsoViewMode.ChannelNameOnly:
|
|
ISOViewMode = IsoViewMode.ChannelNameOnly;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool _showISOStringBuilder;
|
|
public bool ShowISOStringBuilder
|
|
{
|
|
get => _showISOStringBuilder;
|
|
set => SetProperty(ref _showISOStringBuilder, value, "ShowISOStringBuilder");
|
|
}
|
|
|
|
private bool _showChannelCodeLookupHelper;
|
|
public bool ShowChannelCodeLookupHelper
|
|
{
|
|
get => _showChannelCodeLookupHelper;
|
|
set => SetProperty(ref _showChannelCodeLookupHelper, value, "ShowChannelCodeLookupHelper");
|
|
}
|
|
private bool _useISOCodeFilterMapping;
|
|
public bool UseISOCodeFilterMapping
|
|
{
|
|
get => _useISOCodeFilterMapping;
|
|
set => SetProperty(ref _useISOCodeFilterMapping, value, "UseISOCodeFilterMapping");
|
|
}
|
|
|
|
public bool ChannelNamesOnly
|
|
{
|
|
get => ISOViewMode == IsoViewMode.ChannelNameOnly;
|
|
set
|
|
{
|
|
if (value)
|
|
{
|
|
ISOViewMode = IsoViewMode.ChannelNameOnly;
|
|
}
|
|
//there is no else, the only way to turn it false is by clicking on iso or user, which turns this false implicitly
|
|
}
|
|
}
|
|
|
|
private IsoViewMode _viewMode;
|
|
public IsoViewMode ISOViewMode
|
|
{
|
|
get => _viewMode;
|
|
set
|
|
{
|
|
SetProperty(ref _viewMode, value, "ISOViewMode");
|
|
OnPropertyChanged("ShowISOCodes");
|
|
OnPropertyChanged("ShowUserCodes");
|
|
OnPropertyChanged("ChannelNamesOnly");
|
|
}
|
|
}
|
|
}
|
|
}
|