public static ExamTemplateCollection GetExamTemplates() { XmlElement templates = QueryTemplate.GetAbstractList(); ExamTemplateCollection objTemplates = new ExamTemplateCollection(); foreach (XmlElement each in templates.SelectNodes("ExamTemplate")) { ExamTemplate template = new ExamTemplate(each); objTemplates.Add(template.Identity, template); } return(objTemplates); }
private static void CreateTemplateExamReference(ExamTemplateCollection templates, TEIncludeCollection teincludes) { foreach (TEInclude each in teincludes.Values) { if (templates.ContainsKey(each.ExamTemplateId)) { ExamTemplate template = templates[each.ExamTemplateId]; template.TEIncludes.Add(each.Identity, each); } else { Console.WriteLine("TEInclude Error:" + each.Identity); } } }
public SheetOutputer(Worksheet sheet, ExamTemplate template) { _fields = new Dictionary <string, int>(); _sheet = sheet; _current_index = 1; int columnIndex = -1; _fields.Add("課程名稱", ++columnIndex); _fields.Add("班級", ++columnIndex); _fields.Add("座號", ++columnIndex); _fields.Add("學號", ++columnIndex); _fields.Add("姓名", ++columnIndex); foreach (KeyValuePair <string, int> each in _fields) { sheet.Cells[_current_index, each.Value].PutValue(each.Key); } if (template != null) { foreach (TEInclude include in template.TEIncludes.Values) { _fields.Add(include.ExamId, ++columnIndex); } foreach (TEInclude include in template.TEIncludes.Values) { sheet.Cells[_current_index, _fields[include.ExamId]].PutValue(include.ExamName); } sheet.Cells.Merge(0, 0, 1, _fields.Count); sheet.Cells[0, 0].PutValue(string.Format("評量成績缺漏學生清單({0})", template.TemplateName)); sheet.Cells[0, 0].Style.HorizontalAlignment = TextAlignmentType.Center; } _current_index++; }
public void SetExamTemplate(ExamTemplate template) { _exam_template = template; }
public LackScoresCategory(ExamTemplate template) { _template = template; _courses = new CourseCollection(); }
public void LoadCalculationData(IProgressUI progressUI, IEnumerable <StudentRecord> students, int schoolYear, int semester) { _progress_ui = progressUI; _courses = new CourseCollection(); List <string> courseIds = new List <string>(); //foreach (CourseRecord each in JHSchool.Course.Instance.SelectedList) // courseIds.Add(each.ID); foreach (StudentRecord each in students) { foreach (CourseRecord attend_course in GetAttendCourses(each)) { if (attend_course.SchoolYear != schoolYear) { continue; } if (attend_course.Semester != semester) { continue; } if (!courseIds.Contains(attend_course.ID)) { courseIds.Add(attend_course.ID); } } } CurrentStep = 1; //ReportProgress("下載課程相關資料...", 0); CourseCollection courses = Course.GetCourses(courseIds.ToArray()); if (_progress_ui.Cancellation) { return; } CurrentStep++; //ReportProgress("下載評量相關資料...", 0); ExamTemplateCollection templates = ExamTemplate.GetExamTemplates(); if (_progress_ui.Cancellation) { return; } TEIncludeCollection teincludes = TEInclude.GetTEIncludes(); if (_progress_ui.Cancellation) { return; } CurrentStep++; SCAttendCollection scattends = SCAttend.GetSCAttends(_progress_ui, courseIds.ToArray()); if (_progress_ui.Cancellation) { return; } CurrentStep++; SCETakeCollection scetakes = SCETake.GetSCETakes(_progress_ui, courseIds.ToArray()); if (_progress_ui.Cancellation) { return; } //建立 ExamTemplate 的 TEInclude。 CreateTemplateExamReference(templates, teincludes); //建立 Course 的 ExamTemplate。 CreateCourseTemplateReference(courses, templates); //建立 Course 的 SCAttend。 CreateCourseStudentTwoWayReference(courses, scattends); //建立 SCAttend 的 SCETake。 CreateSCAttendSCETakeReference(scattends, scetakes); _courses = courses; }