public static BaseTestParametersAndNormatives CreateParametersByType(TestParametersType type) { switch (type) { case TestParametersType.Gate: return(new GateTestParameters()); case TestParametersType.Bvt: return(new BvtTestParameters()); case TestParametersType.StaticLoses: return(new VtmTestParameters()); case TestParametersType.Dvdt: return(new DvDtParameters()); case TestParametersType.ATU: return(new AtuParameters()); case TestParametersType.QrrTq: return(new QrrTqParameters()); case TestParametersType.TOU: return(new TOUParameters()); default: throw new NotImplementedException("CreateParametersByType"); } }
private bool TryParseTestParametersType(string strTestType, out TestParametersType testType) { switch (strTestType.ToUpper()) { case "SL": //почему-то именно по этому типу теста в базе данных и определении типа в TestParametersType имеется различие testType = TestParametersType.StaticLoses; return(true); default: return(Enum.TryParse(strTestType, true, out testType)); } }
// private void BuildTittle() // { // Title = Properties.Resources.UserPage_Title; // // if (profilesList != null) // Title = Title + "\n" + Properties.Resources.Total.ToLower() + string.Format(" {0} шт.", profilesList.Items.Count); // // Cache.Main.VM.TopTitle = Title; // } private BaseTestParametersAndNormatives TestByTypeAndOrder(ProfileItem profileItem, TestParametersType type, int order) { //извлекает из принятого profileItem первый найденный тест с принятым type и порядком исполнения order BaseTestParametersAndNormatives Test = null; if (profileItem != null) { switch (type) { case TestParametersType.Gate: for (int i = 0; i < profileItem.GateTestParameters.Count; i++) { Test = profileItem.GateTestParameters[i]; if (Test.Order == order) { return(Test); } } break; case TestParametersType.StaticLoses: for (int i = 0; i < profileItem.VTMTestParameters.Count; i++) { Test = profileItem.VTMTestParameters[i]; if (Test.Order == order) { return(Test); } } break; case TestParametersType.Bvt: for (int i = 0; i < profileItem.BVTTestParameters.Count; i++) { Test = profileItem.BVTTestParameters[i]; if (Test.Order == order) { return(Test); } } break; case TestParametersType.Dvdt: for (int i = 0; i < profileItem.DvDTestParameterses.Count; i++) { Test = profileItem.DvDTestParameterses[i]; if (Test.Order == order) { return(Test); } } break; case TestParametersType.ATU: for (int i = 0; i < profileItem.ATUTestParameters.Count; i++) { Test = profileItem.ATUTestParameters[i]; if (Test.Order == order) { return(Test); } } break; case TestParametersType.QrrTq: for (int i = 0; i < profileItem.QrrTqTestParameters.Count; i++) { Test = profileItem.QrrTqTestParameters[i]; if (Test.Order == order) { return(Test); } } break; case TestParametersType.TOU: for (int i = 0; i < profileItem.TOUTestParameters.Count; i++) { Test = profileItem.TOUTestParameters[i]; if (Test.Order == order) { return(Test); } } break; } } //раз мы здесь - значит ничего не нашли return(null); }
public TestParameter(TestParametersType testParametersType, Type type, string name = null) { TestParametersType = testParametersType; Type = type ?? throw new ArgumentNullException(nameof(type)); Name = name ?? TestParametersType.ToString(); }
private List <string> ConditionNamesByDeviceType(TestParametersType testType, string deviceType, TemperatureCondition temperatureCondition) { List <string> result = null; if ((deviceType != null) && (deviceType != string.Empty)) { result = new List <string>(); string firstSimbol = deviceType.Substring(0, 1).ToUpper(); switch (testType) { case TestParametersType.StaticLoses: //тиристор, диод if ((firstSimbol == "Т") || (firstSimbol == "Д")) { if (temperatureCondition == TemperatureCondition.RT) { //комнатная температура result.Add("SL_ITM"); //в БД это же условие используется как IFM } if (temperatureCondition == TemperatureCondition.TM) { //горячее измерение result.Add("SL_ITM"); //в БД это же условие используется как IFM } } break; case TestParametersType.Bvt: //тиристор if (firstSimbol == "Т") { if (temperatureCondition == TemperatureCondition.RT) { //комнатная температура //временно нет } if (temperatureCondition == TemperatureCondition.TM) { //горячее измерение result.Add("BVT_VD"); result.Add("BVT_VR"); } } //диод if (firstSimbol == "Д") { if (temperatureCondition == TemperatureCondition.RT) { //комнатная температура //временно нет } if (temperatureCondition == TemperatureCondition.TM) { //горячее измерение result.Add("BVT_VR"); } } break; case TestParametersType.Gate: case TestParametersType.Commutation: case TestParametersType.Clamping: case TestParametersType.Dvdt: case TestParametersType.ATU: case TestParametersType.RAC: case TestParametersType.IH: case TestParametersType.RCC: case TestParametersType.Sctu: break; case TestParametersType.QrrTq: if (firstSimbol == "Т") { //тиристор if (temperatureCondition == TemperatureCondition.RT) { //комнатная температура //измеряется только в TM } if (temperatureCondition == TemperatureCondition.TM) { //горячее измерение result.Add("QrrTq_DCFallRate"); //скорость спада } } if (firstSimbol == "Д") { //диод if (temperatureCondition == TemperatureCondition.RT) { //комнатная температура //измеряется только в TM } if (temperatureCondition == TemperatureCondition.TM) { //горячее измерение result.Add("QrrTq_DCFallRate"); //скорость спада } } break; } } return(result); }