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,106 @@
using System;
using System.Collections.Generic;
using System.Linq;
using DTS.Common.Interface.DataRecorders;
using DTS.Common.Storage;
using DTS.Common.Enums.Hardware;
using DTS.Common.Classes.Hardware;
using DTS.Common.Classes.TestSetups;
using DTS.Common.Interface.TestSetups;
using DataPROWin7.Common;
namespace DTS.Common.DataModel.Common.DbWrappers
{
public class TestSetupHardwareGet : TestSetupHardwareRecord
{
public TestSetupHardwareGet() { }
public TestSetupHardwareGet(ITestSetupHardwareRecord copy) : base(copy) { }
public bool AddOrRemove
{
get => AddDAS;
set
{
AddDAS = value;
OnPropertyChanged("AddOrRemove");
}
}
/// <summary>
/// This ensures that any bad data in the database can be repaired in one place.
/// FB 17777
/// </summary>
/// <param name="testSetupId"></param>
/// <param name="hardwareLookup"></param>
/// <returns></returns>
public List<TestSetupHardwareGet> TestSetupHardwareGet_Wrapper(int? testSetupId, Dictionary<int, IDASHardware> hardwareLookup)
{
var testSetupHardwareGetList = new List<TestSetupHardwareGet>();
var hr = DbOperations.TestSetupHardwareGet(testSetupId, out var records);
if (0 == hr && null != records && records.Any())
{
foreach (var record in records)
{
var testSetupHardwareGet = new TestSetupHardwareGet(record);
if (record.AntiAliasFilterRate == 0 && null != hardwareLookup)
{
var dasTypeEnum = hardwareLookup[record.DASId].DASTypeEnum;
testSetupHardwareGet.AntiAliasFilterRate = RepairAntiAliasFilterRate(dasTypeEnum, record.SamplesPerSecond);
}
testSetupHardwareGetList.Add(testSetupHardwareGet);
}
}
//Now make sure we don't return any 0s in AntiAliasFilterRate (hardwareLookup may have been passed in as null)
foreach (var testSetupHardwareGet in testSetupHardwareGetList)
{
if (testSetupHardwareGet.AntiAliasFilterRate == 0)
{
var dasTypeEnum = GetDASTypeEnumFromId(testSetupHardwareGet.DASId);
testSetupHardwareGet.AntiAliasFilterRate = RepairAntiAliasFilterRate(dasTypeEnum, testSetupHardwareGet.SamplesPerSecond);
}
}
return testSetupHardwareGetList;
}
private HardwareTypes GetDASTypeEnumFromId(int dasId)
{
var dasGet = new DASGet();
var dasGetList = dasGet.DASGet_Wrapper();
foreach (var das in dasGetList)
{
if (das.DASId == dasId)
{
var dasTemp = new DTS.Common.ISO.Hardware();
//Get of DASTypeEnum returns the enum: (HardwareTypes)DASType
dasTemp.DASType = das.Type;
return dasTemp.DASTypeEnum;
}
}
return HardwareTypes.UNDEFINED;
}
private int RepairAntiAliasFilterRate(HardwareTypes dasTypeEnum, int samplesPerSecond)
{
int antiAliasFilterRate = 0;
switch (dasTypeEnum)
{
case HardwareTypes.DIM:
case HardwareTypes.G5INDUMMY:
case HardwareTypes.G5VDS:
case HardwareTypes.SIM:
case HardwareTypes.TDAS_Pro_Rack:
case HardwareTypes.TDAS_LabRack:
case HardwareTypes.TOM:
//TDAS allows 0, so don't do the repair
//antiAliasFilterRate = Convert.ToInt32(SerializedSettings.GetAAFException(SerializableAAF.DAS_TYPE.TDAS, samplesPerSecond));
break;
default:
antiAliasFilterRate = Convert.ToInt32(SerializedSettings.GetAAFException(SerializableAAF.DAS_TYPE.SLICE, samplesPerSecond));
break;
}
return antiAliasFilterRate;
}
}
}

View File

@@ -0,0 +1,245 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using DTS.Common.Base;
using DTS.Common.Storage;
using DTS.Common.Enums;
using DTS.Common.DataModel;
using DTS.Common.SharedResource.Strings;
namespace DataPROWin7.DataModel
{
public class TestEngineerDetails : BasePropertyChanged
{
private bool _blank = true;
public bool IsBlank() { return _blank; }
private DTS.Common.ISO.TestEngineerDetails _testEngineerDetails;
public enum Fields
{
Name,
TestEngineerName,
TestEngineerPhone,
TestEngineerFax,
TestEngineerEmail
}
public string Name
{
get => _testEngineerDetails.Name;
set
{
_testEngineerDetails.Name = value;
_blank = false;
OnPropertyChanged(Fields.Name.ToString());
}
}
public string TestEngineerName
{
get => _testEngineerDetails.TestEngineerName;
set
{
_testEngineerDetails.TestEngineerName = value;
_blank = false;
OnPropertyChanged(Fields.TestEngineerName.ToString());
}
}
public string TestEngineerPhone
{
get => _testEngineerDetails.TestEngineerPhone;
set
{
_testEngineerDetails.TestEngineerPhone = value;
_blank = false;
OnPropertyChanged(Fields.TestEngineerPhone.ToString());
}
}
public string TestEngineerFax
{
get => _testEngineerDetails.TestEngineerFax;
set
{
_testEngineerDetails.TestEngineerFax = value;
_blank = false;
OnPropertyChanged(Fields.TestEngineerFax.ToString());
}
}
public string TestEngineerEmail
{
get => _testEngineerDetails.TestEngineerEmail;
set
{
_testEngineerDetails.TestEngineerEmail = value;
_blank = false;
OnPropertyChanged(Fields.TestEngineerEmail.ToString());
}
}
public bool LocalOnly => _testEngineerDetails.LocalOnly;
public DateTime LastModified => _testEngineerDetails.LastModified;
public string LastModifiedBy => _testEngineerDetails.LastModifiedBy;
public int Version => _testEngineerDetails.Version;
public TestEngineerDetails()
{
_testEngineerDetails = new DTS.Common.ISO.TestEngineerDetails();
_testEngineerDetails.Name = StringResources.TestTemplate_EmptyListName;
}
public bool HasBlankName()
{
return _testEngineerDetails.Name == StringResources.TestTemplate_EmptyListName;
}
public TestEngineerDetails(DTS.Common.ISO.TestEngineerDetails testEngineerDetails)
{
_blank = false;
_testEngineerDetails = new DTS.Common.ISO.TestEngineerDetails(testEngineerDetails);
}
public DTS.Common.ISO.TestEngineerDetails GetISOTestEngineer()
{
return _testEngineerDetails;
}
public override string ToString()
{
return Name;
}
}
public class TestEngineerDetailsList : BasePropertyChanged
{
public enum Tags
{
TestEngineers
}
protected TestEngineerDetailsList()
{
}
private static TestEngineerDetailsList _testEngineerList = new TestEngineerDetailsList();
public static TestEngineerDetailsList TestEngineerList => _testEngineerList;
public void Delete(TestEngineerDetails testEngineer)
{
testEngineer.GetISOTestEngineer().Delete(ApplicationProperties.CurrentUser.UserName);
lock (_testEngineerLock)
{
_testEngineers.Remove(testEngineer.Name);
}
OnPropertyChanged(Tags.TestEngineers.ToString());
}
public void Delete(TestEngineerDetails[] testEngineers)
{
foreach (var testEngineer in testEngineers)
{
Delete(testEngineer);
}
}
private static readonly object _testEngineerLock = new object();
private Dictionary<string, TestEngineerDetails> _testEngineers = null;
public TestEngineerDetails[] TestEngineers
{
get
{
lock (_testEngineerLock)
{
if (null == _testEngineers || _testEngineers.Count == 0)
{
PopulateEngineers();
}
}
List<TestEngineerDetails> testEngineers = new List<TestEngineerDetails>(_testEngineers.Values);
testEngineers.Sort(new Comparison<TestEngineerDetails>(CompareTestEngineers));
return testEngineers.ToArray();
}
}
private void PopulateEngineers()
{
_testEngineers = new Dictionary<string, TestEngineerDetails>();
foreach (var t in GetAllTestEngineers())
{
if (!_testEngineers.ContainsKey(t.Name)) { _testEngineers.Add(t.Name, t); }
}
}
public void ReloadAll()
{
lock (_testEngineerLock)
{
PopulateEngineers();
}
}
public void DeleteAll()
{
_testEngineers = null;
DTS.Common.ISO.TestEngineerDetails.DeleteAllTestEngineerDetails();
}
private int CompareTestEngineers(TestEngineerDetails a, TestEngineerDetails b)
{
if (a == b) { return 0; }
if (null == a) { return -1; }
if (null == b) { return 1; }
return a.Name.CompareTo(b.Name);
}
public static TestEngineerDetails[] GetAllTestEngineers()
{
var list = new List<TestEngineerDetails>();
if (RunTestVariables.InRunTest &&
TestTemplateList.TestTemplatesList.CachedTestEngineerDetails != null &&
TestTemplateList.TestTemplatesList.CachedTestEngineerDetails.Count > 0)
{
DbOperations.LogDBCaching("****** Using cached Laboratory Details in GetAllTestEngineers");
var isoTestEngineersList = new List<DTS.Common.ISO.TestEngineerDetails>();
foreach (var te in TestTemplateList.TestTemplatesList.CachedTestEngineerDetails)
{
var isoTestEngineerDetails = new DTS.Common.ISO.TestEngineerDetails()
{
Name = te.Value.Name,
TestEngineerName = te.Value.TestEngineerName,
TestEngineerPhone = te.Value.TestEngineerPhone,
TestEngineerEmail = te.Value.TestEngineerEmail,
TestEngineerFax = te.Value.TestEngineerFax
};
isoTestEngineersList.Add(isoTestEngineerDetails);
}
list = isoTestEngineersList.Select(isote => new TestEngineerDetails(isote)).ToList();
}
else
{
foreach (var ts in DTS.Common.ISO.TestEngineerDetails.GetAllTestEngineerDetails())
{
list.Add(new TestEngineerDetails(ts));
}
}
return list.ToArray();
}
public TestEngineerDetails GetTestEngineerDetail(string name)
{
var testEngineers = from t in TestEngineers.AsParallel() where t.Name == name select t;
if (null != testEngineers && testEngineers.Any()) { return testEngineers.First(); }
else { return null; }
}
public void AddTestEngineer(TestEngineerDetails testEngineer)
{
testEngineer.GetISOTestEngineer().Commit(ApplicationProperties.CurrentUser.UserName);
lock (_testEngineerLock)
{
//force _testEngineers to not be null...
var length = TestEngineers.Length;
if (!_testEngineers.ContainsKey(testEngineer.Name)) { _testEngineers.Add(testEngineer.Name, testEngineer); }
else { _testEngineers[testEngineer.Name] = testEngineer; }
}
OnPropertyChanged(Tags.TestEngineers.ToString());
}
}
}