示例#1
0
        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");
            }
        }
示例#2
0
        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();
 }
示例#5
0
        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);
        }