This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,156 @@
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");
}
}
}
}