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,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; }
}
}