Exemplo n.º 1
0
        private void FormSemestersSubject_Load(object sender, EventArgs e)
        {
            //if (Site.DesignMode) return;

            RatingUtils.DisableControls(this);
            RefreshSubjectOptions();
            RatingUtils.EnableControls(this);
        }
Exemplo n.º 2
0
        private void FormSemesterSubject_Load(object sender, EventArgs e)
        {
            //if (Site.DesignMode) return;

            RatingUtils.DisableControls(this);
            RatingUtils.SetSemesterDefaultItems(cboSchoolYear, cboSemester);
            Sems = new SemesterSelector(cboSchoolYear, cboSemester);
            Sems.SemesterChanged += new EventHandler(Sems_SemesterChanged);
            RefreshSubjectOptions();
            RatingUtils.EnableControls(this);
        }
Exemplo n.º 3
0
        protected override void PrepareDataComplete(Exception error)
        {
            RatingUtils.EnableControls(this);

            if (error != null)
            {
                MsgBox.Show(error.Message);
                return;
            }

            List <MultiScoreParser>             parsers = SelectedSubjects.Keys.ToMultiScoreParsers(Tokens);
            List <RatingScope <RatingStudent> > scopes  = ToScopes();
            List <RatingStudent> sortedStudents;

            //分別排名。
            foreach (RatingScope <RatingStudent> eachScope in scopes)
            {
                foreach (MultiScoreParser eachParser in parsers)
                {
                    eachScope.Rank(eachParser, PlaceOptions.Unsequence);
                }
            }

            FilterParameter param = new FilterParameter();

            if (rbAllRank.Checked)
            {
                param.Mode = FilterMode.None;
            }
            else if (rbTopRank.Checked)
            {
                param.Mode = FilterMode.Place;
                param.Top  = int.Parse(txtTopRank.Text);
            }
            else if (rbPercentage.Checked)
            {
                param.Mode = FilterMode.Percentage;
                param.Top  = int.Parse(txtPercentage.Text);
            }
            else
            {
                throw new ArgumentException("無此種過慮排名的方式。");
            }

            if (rbAllRank.Checked)                                              //如果是列出全部名次的話。
            {
                new OutputSeparatePivot().Output(scopes, parsers.ToNameList()); //分別列出科目、名次(Pivot 列法)。
            }
            else
            {
                new OutputSeparate().Output(scopes, parsers.ToNameList(), param); //分別列出科目、名次(非 Pivot 列法)。
            }
        }
Exemplo n.º 4
0
        private void FormExamSubject_Load(object sender, EventArgs e)
        {
            //if (Site.DesignMode) return;

            RatingUtils.DisableControls(this);
            RatingUtils.SetSemesterDefaultItems(cboSchoolYear, cboSemester);
            Sems = new SemesterSelector(cboSchoolYear, cboSemester);
            Sems.SemesterChanged += new EventHandler(Sems_SemesterChanged);
            FillDomainOptions();
            FillCurrentSemesterData(); //準備目前學年度學期需要的資料。
            RatingUtils.EnableControls(this);
        }
Exemplo n.º 5
0
        private void FormExamSubject_Load(object sender, EventArgs e)
        {
            //if (Site.DesignMode) return;

            RatingUtils.DisableControls(this);
            RatingUtils.SetSemesterDefaultItems(cboSchoolYear, cboSemester);
            RatingUtils.SetExamDefaultItems(cboExam);
            Sems = new SemesterSelector(cboSchoolYear, cboSemester);
            Sems.SemesterChanged += new EventHandler(Sems_SemesterChanged);
            IncludeQuery          = new AEIncludeQuery();

            if (cboExam.Items.Count > 0)
            {
                cboExam.SelectedIndex = 0;
            }

            RatingUtils.EnableControls(this);
        }
Exemplo n.º 6
0
 private void FormGraduation_Load(object sender, EventArgs e)
 {
     RatingUtils.DisableControls(this);
     RatingUtils.EnableControls(this);
 }
Exemplo n.º 7
0
        protected override void PrepareDataComplete(Exception error)
        {
            RatingUtils.EnableControls(this);

            if (error != null)
            {
                MsgBox.Show(error.Message);
                return;
            }

            CalculationScoreParser calcparser          = rbCombine.Checked ? GetCalculationScoreParser() : null;
            List <ScoreParser>     parsers             = SelectedDomains.Keys.ToScoreParsers(ThisToken);
            List <RatingScope <RatingStudent> > scopes = ToScopes();

            //分別排名。
            foreach (RatingScope <RatingStudent> eachScope in scopes)
            {
                foreach (ScoreParser eachParser in parsers)
                {
                    eachScope.Rank(eachParser, PlaceOptions.Unsequence);
                }
            }

            if (calcparser != null)
            {
                //運算排名。
                foreach (RatingScope <RatingStudent> eachScope in scopes)
                {
                    eachScope.Rank(calcparser, PlaceOptions.Unsequence);
                }
            }

            FilterParameter param = new FilterParameter();

            if (rbAllRank.Checked)
            {
                param.Mode = FilterMode.None;
            }
            else if (rbTopRank.Checked)
            {
                param.Mode = FilterMode.Place;
                param.Top  = int.Parse(txtTopRank.Text);
            }
            else if (rbPercentage.Checked)
            {
                param.Mode = FilterMode.Percentage;
                param.Top  = int.Parse(txtPercentage.Text);
            }
            else
            {
                throw new ArgumentException("無此種過慮排名的方式。");
            }

            if (rbSeparate.Checked)                                                 //分別排名。
            {
                if (rbAllRank.Checked)                                              //如果是列出全部名次的話。
                {
                    new OutputSeparatePivot().Output(scopes, parsers.ToNameList()); //分別列出科目、名次(Pivot 列法)。
                }
                else
                {
                    new OutputSeparate().Output(scopes, parsers.ToNameList(), param); //分別列出科目、名次(非 Pivot 列法)。
                }
            }
            else
            {
                new OutputCalculationPivot().Output(scopes, parsers, calcparser.Name, param); //列出運算名次、運算前成績。
            }
        }