Exemplo n.º 1
0
        /// <summary>
        /// 计算关开关成绩
        /// </summary>
        /// <param name="weldingType"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        public static decimal CalcSwitchOffResult(WeldingType weldingType, DeviceState state)
        {
            var score = DeviceStateConfig.CalcSwitchOffResult(WeldingSteps, weldingType, state);

            WeldingPart.TitleScore += score;

            return(score);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 计算穿戴成绩
        /// </summary>
        /// <param name="dressReport"></param>
        /// <param name="weldingType"></param>
        /// <param name="selectedUtensilList"></param>
        /// <returns></returns>
        public static decimal CalcDressResult(
            WeldingType weldingType,
            IEnumerable <Utensil> selectedUtensilList)
        {
            var userDress = selectedUtensilList == null ? new Utensil[0] :
                            (selectedUtensilList as Utensil[] ?? selectedUtensilList.ToArray());

            return(DeviceStateConfig.CalcDressResult(DressPart, weldingType, userDress));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 计算检查隐患成绩
        /// </summary>
        /// <param name="weldingType"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        public static decimal CalcCheckTroubleResult(WeldingType weldingType, DeviceState state)
        {
            var steps = new Steps();

            CheckTroublePart.StepList.Add(steps);

            var score = DeviceStateConfig.CalcCheckTroubleResult(steps, weldingType, state);

            CheckTroublePart.TitleScore += score;

            return(score);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 计算虚拟焊接成绩
        /// </summary>
        /// <param name="weldingType"></param>
        /// <param name="iniPath"></param>
        /// <returns></returns>
        public static decimal CalcVirtualWeldingResult(WeldingType weldingType, string iniPath)
        {
            var percent = DeviceStateConfig.GetVirtualWeldingScorePercent(weldingType);

            var score = weldingType == WeldingType.ArgonArcWelding ?
                        ArgonArcWeldingScoreParser.CalcScore(WeldingSteps, iniPath, percent) :
                        WeldingScoreParser.CalcScore(WeldingSteps, iniPath, percent);

            WeldingPart.TitleScore += score;

            return(score);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 计算穿戴成绩
        /// </summary>
        /// <returns></returns>
        //public static decimal CalcDressResult(
        //    Dictionary<WeldingType, IEnumerable<Utensil>> utensilDictionary,
        //    WeldingType currentWeldingType,
        //    IEnumerable<Utensil> selectedUtensilList, decimal weight)
        //{
        //    var answer = utensilDictionary[currentWeldingType];

        //    var answerArray = answer as Utensil[] ?? answer.ToArray();
        //    var userAnswerArray = selectedUtensilList == null ? new Utensil[0]:
        //        (selectedUtensilList as Utensil[] ?? selectedUtensilList.ToArray());

        //    //求正确答案和用户答案的交集:得分项
        //    var intersect = answerArray.Intersect(userAnswerArray);

        //    //求用户答案和正确答案的差集:扣分项
        //    var except = userAnswerArray.Except(answerArray);

        //    var intersectArray = intersect as Utensil[] ?? intersect.ToArray();
        //    var exceptArray = except as Utensil[] ?? except.ToArray();

        //    DressPart.TitleScore = Math.Max(0, intersectArray.Length - exceptArray.Length)*weight;

        //    //记录分步信息
        //    Steps steps = new Steps();
        //    DressPart.StepList.Add(steps);

        //    foreach (var utensil in intersectArray)
        //    {
        //        steps.StepList.Add(new Step
        //        {
        //            StepName = EnumHelper.GetEnumDescription(utensil),
        //            StepScore = weight
        //        });
        //    }

        //    foreach (var utensil in exceptArray)
        //    {
        //        steps.StepList.Add(new Step
        //        {
        //            StepName = EnumHelper.GetEnumDescription(utensil),
        //            StepScore = -weight
        //        });
        //    }
        //    return DressPart.TitleScore;
        //}

        /// <summary>
        /// 计算焊前检查结果
        /// </summary>
        /// <returns></returns>
        public static decimal CalcInspectionBeforeWeldingResult(WeldingType weldingType, DeviceState state)
        {
            WeldingSteps = new Steps();

            WeldingPart.StepList.Add(WeldingSteps);

            var score = DeviceStateConfig.CalcInspectionBeforeWeldingResult(WeldingSteps, weldingType, state);

            WeldingPart.TitleScore += score;

            return(score);
        }
Exemplo n.º 6
0
        public MainWindow()
        {
            InitializeComponent();

            InitPages();

            InitSerialPort();

            Content = LoginPage;

            ResetIdCardReader();

            SetMaxWindow();

            ExamEnv = new ExamEnv();

            WindowInteropHelper = new WindowInteropHelper(this);

            DeviceStateConfig.LoadConfig();

            this.Loaded += MainWindowLoaded;
            Closed      += MainWindowClosed;
        }