init
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
@@ -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; }
|
||||
}
|
||||
}
|
||||
@@ -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}";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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};
|
||||
@@ -0,0 +1,6 @@
|
||||
using DTS.Common.Base;
|
||||
|
||||
namespace DTS.Common.Interface
|
||||
{
|
||||
public interface IEngineerDetailsView : IBaseView { }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user