public override void SetBasicPropertyValues()
        {
            base.SetBasicPropertyValues();

            //默认ModuleNumber由所在的服务的ModuleNumber决定
            if (ListAllObjects != null)
            {
                var service =
                    ListAllObjects.FirstOrDefault(
                        o => o.ObjectType == S1110Consts.RESOURCE_ALARMMONITOR && o.ID == ServiceID) as ServiceObject;
                if (service != null)
                {
                    ModuleNumber = service.ModuleNumber;
                }
            }
            ResourceProperty propertyValue;

            for (int i = 0; i < ListProperties.Count; i++)
            {
                propertyValue = ListProperties[i];
                switch (propertyValue.PropertyID)
                {
                case S1110Consts.PROPERTYID_MODULENUMBER:
                    propertyValue.Value = ModuleNumber.ToString();
                    break;

                case PRO_SERVICEID:
                    propertyValue.Value = ServiceID.ToString();
                    break;
                }
            }
        }
Beispiel #2
0
        /// <summary>消耗体力日志插入</summary>
        /// <param name="role"></param>
        /// <param name="power">消耗体力</param>
        /// <param name="mn">模块号</param>
        /// <param name="cn">指令号</param>
        /// <param name="mnname">模块名字</param>
        /// <param name="cnname">指令名字</param>
        public void LogInsert(tg_role role, int power, ModuleNumber mn, int cn, string mnname, string cnname)
        {
            try
            {
                var r = tg_role.FindByid(role.id);
                if (r == null)
                {
                    return;
                }
                var oldp    = role.power + role.buff_power;
                var newp    = r.power + r.buff_power;
                var logdata = "体力" + "_" + oldp + "_" + power + "_" + newp;

                if (role.role_state == (int)RoleStateType.PROTAGONIST)
                {
                    (new Share.Log()).WriteLog(role.user_id, (int)LogType.Use, (int)mn, cn, mnname, cnname, "主角体力", (int)GoodsType.TYPE_POWER, power, r.power + r.buff_power, logdata);
                }
                else
                {
                    (new Share.Log()).WriteLog(role.user_id, (int)LogType.Use, (int)mn, cn, mnname, cnname, "武将体力", (int)GoodsType.TYPE_POWER, power, r.power + r.buff_power, logdata);
                }
            }
            catch (Exception ex)
            {
                XTrace.WriteException(ex);
            }
        }
Beispiel #3
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            string path = Environment.CurrentDirectory + "\\Data.db";

            DbHelper.LoadDb(path);

            DataValidation.IsProtocol   = true;
            DataValidation.ProtocolHead = 2;
            DataValidation.ProtocolEnd  = 3;
            DataValidation.IsValidation = true;

            _mPort = new PortHelper
            {
                PortIsOpenChange = PortOpenOrCloseChange,
                PortDataReceived = PortDataReceived
            };
            _myMutex              = new Mutex();
            _comPort              = new ComPortHelper();
            _comPort.CountChange += ComPortChange;
            _comPort.Start();

            _rect = new Rectangle(p_ComPort.Width / 2 - 20, p_ComPort.Height - 14, 40, 14);

            _mNumber = DbHelper.Db.FirstDefault <ModuleNumber>() ?? new ModuleNumber()
            {
                Number = 1
            };
            tb_ID.Text = _mNumber.Number.ToString();
        }
        public QuizPage(List <TestQuestion> questions, ModuleNumber module)
        {
            Questions    = Shuffle(questions);
            IsModuleQuiz = module != ModuleNumber.FinalExam;
            IsFinalExam  = module == ModuleNumber.FinalExam;
            ModuleNumber = module;
            IsManager    = App.UserType == Enums.UserType.Manager;
            CanDoQuiz    = CheckCanDoQuiz(App.StudentProfile, module) || IsManager;
            CannotDoQuiz = !CanDoQuiz;

            InitializeComponent();

            string quizTitle = module switch
            {
                ModuleNumber.Mod1 => "Module 1 Quiz",
                ModuleNumber.Mod2 => "Module 2 Quiz",
                ModuleNumber.Mod3 => "Module 3 Quiz",
                ModuleNumber.Mod4 => "Module 4 Quiz",
                ModuleNumber.FinalExam => "Final Exam",
                _ => ""
            };

            this.Title     = quizTitle;
            QuizTitle.Text = quizTitle;

            PassMarkSpan.Inlines.Add(Globals.QuizScorePassMark.ToString());

            int bestAttempt = module switch
            {
                ModuleNumber.Mod1 => Functions.HighestExamScore(App.StudentProfile?.Mod1QuizScores ?? ""),
                ModuleNumber.Mod2 => Functions.HighestExamScore(App.StudentProfile?.Mod2QuizScores ?? ""),
                ModuleNumber.Mod3 => Functions.HighestExamScore(App.StudentProfile?.Mod3QuizScores ?? ""),
                ModuleNumber.Mod4 => Functions.HighestExamScore(App.StudentProfile?.Mod4QuizScores ?? ""),
                ModuleNumber.FinalExam => Functions.HighestExamScore(App.StudentProfile?.ExamScores ?? ""),
                _ => 0
            };

            if (bestAttempt >= Globals.QuizScorePassMark)
            {
                BestAttemptSpan.Inlines.Add(string.Format("{0}% - PASSED ✔", bestAttempt));
                BestAttemptSpan.Foreground = new SolidColorBrush(Colors.Green);
            }
            else
            {
                BestAttemptSpan.Inlines.Add(string.Format("{0}%", bestAttempt));
            }

            if (CanDoQuiz)
            {
                CreateQuestions(Questions);
            }
            else
            {
                CannotDoQuizText.Inlines.Add(string.Format("Please first complete Module {0}", (int)module));
            }
        }
 private bool CheckCanDoQuiz(Models.TEFLProfile profile, ModuleNumber module)
 {
     return(module switch
     {
         ModuleNumber.Mod1 => true,
         ModuleNumber.Mod2 => Functions.HighestExamScore(profile.Mod1QuizScores) >= Globals.QuizScorePassMark,
         ModuleNumber.Mod3 => Functions.HighestExamScore(profile.Mod2QuizScores) >= Globals.QuizScorePassMark,
         ModuleNumber.Mod4 => Functions.HighestExamScore(profile.Mod3QuizScores) >= Globals.QuizScorePassMark,
         ModuleNumber.FinalExam => Functions.HighestExamScore(profile.Mod4QuizScores) >= Globals.QuizScorePassMark,
         _ => false
     });
Beispiel #6
0
        public TestQuestion(ModuleNumber module, QuestionType type, string question, List <string> answers, List <int> correctAnsIndex)
        {
            this.Type     = type;
            this.Module   = module;
            this.Question = question;

            for (int i = 0; i < answers.Count; i++)
            {
                this.Answers.Add(new MultipleChoiceOption(answers[i]));
            }
            for (int i = 0; i < correctAnsIndex.Count; i++)
            {
                this.CorrectAnswers.Add(this.Answers[correctAnsIndex[i]].Text);
            }
        }
Beispiel #7
0
        public override void SetBasicPropertyValues()
        {
            base.SetBasicPropertyValues();

            //默认ModuleNumber由ID决定
            ModuleNumber = ID;
            ResourceProperty propertyValue;

            for (int i = 0; i < ListProperties.Count; i++)
            {
                propertyValue = ListProperties[i];
                switch (propertyValue.PropertyID)
                {
                case S1110Consts.PROPERTYID_HOSTADDRESS:
                    propertyValue.Value = HostAddress;
                    break;

                case S1110Consts.PROPERTYID_HOSTNAME:
                    propertyValue.Value = HostName;
                    break;

                case S1110Consts.PROPERTYID_HOSTPORT:
                    propertyValue.Value = HostPort.ToString();
                    break;

                case S1110Consts.PROPERTYID_CONTINENT:
                    propertyValue.Value = Continent;
                    break;

                case S1110Consts.PROPERTYID_COUNTRY:
                    propertyValue.Value = Country;
                    break;

                case S1110Consts.PROPERTYID_MODULENUMBER:
                    propertyValue.Value = ModuleNumber.ToString();
                    break;

                case S1110Consts.PROPERTYID_ENABLEDISABLE:
                    propertyValue.Value = IsEnabled ? "1" : "0";
                    break;

                case S1110Consts.PROPERTYID_MACHINE:
                    propertyValue.Value = MachineObjID.ToString();
                    break;
                }
            }
        }
Beispiel #8
0
        public override void SetBasicPropertyValues()
        {
            base.SetBasicPropertyValues();

            //默认ModuleNumber由ID决定
            ModuleNumber = ID;
            ResourceProperty propertyValue;

            for (int i = 0; i < ListProperties.Count; i++)
            {
                propertyValue = ListProperties[i];
                switch (propertyValue.PropertyID)
                {
                case S1110Consts.PROPERTYID_HOSTADDRESS:
                    propertyValue.Value = HostAddress;
                    break;

                case S1110Consts.PROPERTYID_HOSTNAME:
                    propertyValue.Value = HostName;
                    break;

                case S1110Consts.PROPERTYID_CONTINENT:
                    propertyValue.Value = Continent;
                    break;

                case S1110Consts.PROPERTYID_COUNTRY:
                    propertyValue.Value = Country;
                    break;

                case S1110Consts.PROPERTYID_MODULENUMBER:
                    propertyValue.Value = ModuleNumber.ToString();
                    break;

                case PRO_LOGPATH:
                    propertyValue.Value = LogPath;
                    break;
                }
            }
        }
Beispiel #9
0
        public static List <TestQuestion> GetQuestions(ModuleNumber module)
        {
            Questions.ResetQuestions();

            return(Questions.Where(x => x.Module == module).ToList());
        }