コード例 #1
0
        private void ChangeStudentsScoreCalcRuleID(string id)
        {
            _logSaver.ClearBatch();
            List <StudentRecordEditor> studentRecordEditors = new List <StudentRecordEditor>();

            foreach (var stu in Student.Instance.SelectedList)
            {
                StudentRecordEditor editor = stu.GetEditor();
                editor.OverrideScoreCalcRuleID = id;
                studentRecordEditors.Add(editor);

                string s = string.Empty;
                if (stu.Class != null)
                {
                    s += stu.Class.Name;
                    if (stu.SeatNo != "")
                    {
                        s += "(" + stu.SeatNo + "號)";
                    }
                    s += " ";
                }
                if (stu.StudentNumber != "")
                {
                    s += stu.StudentNumber + " ";
                }
                if (s == "")
                {
                    s += "學生:";
                }
                s += stu.Name;

                string desc = string.Empty;
                if (string.IsNullOrEmpty(id))
                {
                    desc = string.Format("學生「{0}」不指定計算規則", s);
                }
                else
                {
                    desc = string.Format("學生「{0}」指定計算規則為:{1}", s, ScoreCalcRule.Instance.Items[id].Name);
                }
                _logSaver.AddBatch("成績系統.計算規則", "學生指定計算規則", desc);
            }
            if (studentRecordEditors.Count > 0)
            {
                studentRecordEditors.SaveAllEditors();
                _logSaver.LogBatch();

                // 同步 JHDAL
                List <string> StudentIDs = (from data in Student.Instance.SelectedList select data.ID).ToList();
                JHStudent.RemoveByIDs(StudentIDs);
                JHStudent.SelectByIDs(StudentIDs);
            }
        }