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

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,39 @@
using DTS.Common.Enums.Sensors;
using System;
namespace DTS.Common.Interface.Sensors
{
/// <summary>
/// the essential part of any sensor chagne (who did it, when, which sensor)
/// </summary>
public interface ISensorChangeRecord
{
int RecordId { get; }
int SensorId { get; }
DateTime TimeStamp { get; }
string UserName { get; }
}
/// <summary>
/// what the actual change was (type of change, values)
/// there can be up to 4 values that change here for ease and to prevent the need for parsing
/// </summary>
public interface ISensorChange : ISensorChangeRecord
{
SensorChangeTypes ChangeType { get; }
string Value1 { get; }
string Value2 { get; }
string Value3 { get; }
string Value4 { get; }
}
/// <summary>
/// the only type of change we really have right now
/// </summary>
public interface IOffsetToleranceChange : ISensorChange
{
double LowMvValue { get; }
double HighMvValue { get; }
double LowEUValue { get; }
double HighEUValue { get; }
}
}

View File

@@ -0,0 +1,142 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace DTS.Common.Controls
{
public class TestIDViewModel : INotifyPropertyChanged
{
#region INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
protected bool SetProperty<T>(ref T storage, T value, string propertyName = null)
{
if (Equals(storage, value)) return false;
storage = value;
OnPropertyChanged(propertyName);
return true;
}
protected void OnPropertyChanged(string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
private static readonly TestIdPreFixSuffixHelper TEST_ID_SUFFIX_VALUE_NONE_ITEM =
new TestIdPreFixSuffixHelper(TestIdFixedPrefixSuffixValues.None);
private static readonly TestIdPreFixSuffixHelper TEST_ID_SUFFIX_VALUE_TIME_STAMP_ITEM =
new TestIdPreFixSuffixHelper(TestIdFixedPrefixSuffixValues.TimeStamp);
private static readonly TestIdPreFixSuffixHelper TEST_ID_SUFFIX_VALUE_TEST_SETUP_ITEM =
new TestIdPreFixSuffixHelper(TestIdFixedPrefixSuffixValues.TestSetupName);
private string _testSetupLabel = string.Empty;
public string TestSetupLabel
{
get => _testSetupLabel;
set
{
_testSetupLabel = value;
OnPropertyChanged("TestSetupLabel");
OnPropertyChanged("TestSetupLabelVisibility");
}
}
public Visibility TestSetupLabelVisibility => string.IsNullOrEmpty(TestSetupLabel)
? Visibility.Collapsed
: Visibility.Visible;
public string TestIdEditableText { get; set; } = string.Empty;
public void PopulateAllTestIdPrefixSuffixValues(string[] serializedValues)
{
_allTestIdPrefixSuffixValues = new List<TestIdPreFixSuffixHelper>
{
TEST_ID_SUFFIX_VALUE_NONE_ITEM,
TEST_ID_SUFFIX_VALUE_TIME_STAMP_ITEM,
TEST_ID_SUFFIX_VALUE_TEST_SETUP_ITEM
};
// Second, populate all values from the db
var dbList = new List<string>();
dbList.AddRange(serializedValues);
foreach (var s in dbList)
{
_allTestIdPrefixSuffixValues.Add(new TestIdPreFixSuffixHelper(s));
}
OnPropertyChanged("AllTestIDPrefixSuffixValues");
}
private List<TestIdPreFixSuffixHelper> _allTestIdPrefixSuffixValues;
public TestIdPreFixSuffixHelper[] AllTestIdPrefixSuffixValues => _allTestIdPrefixSuffixValues?.ToArray() ?? new TestIdPreFixSuffixHelper[0];
public TestIdPreFixSuffixHelper SelectedTestIdPrefixValueItem { get; set; } = TEST_ID_SUFFIX_VALUE_NONE_ITEM;
public TestIdPreFixSuffixHelper SelectedTestIdSuffixValueItem { get; set; } = TEST_ID_SUFFIX_VALUE_TIME_STAMP_ITEM;
public string TestName
{
get; set;
}
public string GetTestId()
{
var testIdList = new List<string>();
var prefix = GetRunTimeTestIdPrefixOrSuffix(SelectedTestIdPrefixValueItem);
if (prefix != string.Empty)
{
testIdList.Add(prefix);
}
if (!string.IsNullOrEmpty(TestSetupLabel))
{
testIdList.Add(TestSetupLabel);
}
if (TestIdEditableText != string.Empty)
{
testIdList.Add(TestIdEditableText);
}
var suffix = GetRunTimeTestIdPrefixOrSuffix(SelectedTestIdSuffixValueItem);
if (suffix != string.Empty)
{
testIdList.Add(suffix);
}
return string.Join("_", testIdList);
}
private string GetRunTimeTestIdPrefixOrSuffix(TestIdPreFixSuffixHelper prefixOrSuffix)
{
var rv = string.Empty;
if (prefixOrSuffix == null) { return rv; }
switch (prefixOrSuffix.TestIdPreFixSuffix.FixedValue)
{
case TestIdFixedPrefixSuffixValues.TestSetupName:
rv = TestName;
break;
case TestIdFixedPrefixSuffixValues.TimeStamp:
rv = GetTestIdTimestamp();
break;
case TestIdFixedPrefixSuffixValues.NotFixed:
rv = prefixOrSuffix.TestIdPreFixSuffix.ToString();
break;
case TestIdFixedPrefixSuffixValues.None:
default:
// do nothing
break;
}
return rv;
}
public string GetTestIdTimestamp()
{
return $"{DateTime.Now.Year:0000}_{DateTime.Now.Month:00}_{DateTime.Now.Day:00} {DateTime.Now.Hour:00}_{DateTime.Now.Minute:00}";
}
}
}

View File

@@ -0,0 +1,29 @@
namespace DTS.Common.RibbonControl
{
/// <summary>
/// Event arguments for the <see cref="RibbonControlSelectionChanged">TabControlSelectionChanged</see> event.
/// </summary>
public class RibbonControlSelectionEventArgs
{
/// <summary>
/// Gets the tab control operation type such as AddedItem or RemovedItem.
/// </summary>
public RibbonControlOperation Operation { get; private set; }
/// <summary>
/// Gets the added or removed tab control's item.
/// </summary>
public object Item { get; private set; }
/// <summary>
/// Creates a new instance of the object.
/// </summary>
/// <param name="operation">The tab control operation type such as AddedItem or RemovedItem.</param>
/// <param name="item">The added or removed tab control's item.</param>
public RibbonControlSelectionEventArgs(RibbonControlOperation operation, object item)
{
Operation = operation;
Item = item;
}
}
}

View File

@@ -0,0 +1,27 @@
D-1\MN-1-{CHANNEL NUMBER}:{CHANNEL NAME};
D-1\MN1-1-{CHANNEL NUMBER}:DE;
D-1\MN2-1-{CHANNEL NUMBER}:D;
D-1\MN3-1-{CHANNEL NUMBER}:M;
D-1\LT-1-{CHANNEL NUMBER}:WDFR;
D-1\MML\N-1-{CHANNEL NUMBER}:1;
D-1\MNF\N-1-{CHANNEL NUMBER}-1:1;
D-1\WP-1-{CHANNEL NUMBER}-1-1:{CHANNEL NUMBER};
D-1\WI-1-{CHANNEL NUMBER}-1-1:0;
D-1\FP-1-{CHANNEL NUMBER}-1-1:1;
D-1\FI-1-{CHANNEL NUMBER}-1-1:0;
D-1\WFM-1-{CHANNEL NUMBER}-1-1:FW;
C-{CHANNEL NUMBER}\DCN:{CHANNEL NAME};
C-{CHANNEL NUMBER}\MN1:{CHANNEL NAME};
C-{CHANNEL NUMBER}\BFM:OFF;
C-{CHANNEL NUMBER}\DCT:COE;
C-{CHANNEL NUMBER}\MN4:OTH;
C-{CHANNEL NUMBER}\CO\N:1;
C-{CHANNEL NUMBER}\CO:{CHANNEL OFFSET EU};
C-{CHANNEL NUMBER}\CO-1:{CHANNEL SCALEFACTOR EU};
C-{CHANNEL NUMBER}\MN3:{CHANNEL EU};
C-{CHANNEL NUMBER}\MOT1:{CHANNEL MAX RANGE EU};
C-{CHANNEL NUMBER}\MOT3:{CHANNEL MAX RANGE EU};
C-{CHANNEL NUMBER}\MOT5:{CHANNEL MAX RANGE EU};
C-{CHANNEL NUMBER}\MOT2:{CHANNEL MIN RANGE EU};
C-{CHANNEL NUMBER}\MOT4:{CHANNEL MIN RANGE EU};
C-{CHANNEL NUMBER}\MOT6:{CHANNEL MIN RANGE EU};

View File

@@ -0,0 +1,6 @@
using DTS.Common.Base;
namespace DTS.Common.Interface
{
public interface IEngineerDetailsView : IBaseView { }
}

View File

@@ -0,0 +1,13 @@
using System.Collections.Generic;
// ReSharper disable CheckNamespace
namespace DTS.Common.Interface
{
public interface ITestGraphs
{
string Name { get; set; }
string HardwareChannelName { get; set; }
List<string> ChannelIds { get; set; }
List<ITestChannel> Channels { get; set; }
}
}