init
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user