Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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);
         }
     }
 }
Esempio n. 3
0
            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++;
            }
Esempio n. 4
0
 public void SetExamTemplate(ExamTemplate template)
 {
     _exam_template = template;
 }
Esempio n. 5
0
 public LackScoresCategory(ExamTemplate template)
 {
     _template = template;
     _courses  = new CourseCollection();
 }
Esempio n. 6
0
        public void LoadCalculationData(IProgressUI progressUI)
        {
            _progress_ui = progressUI;
            _courses     = new CourseCollection();

            List <string> courseIds = new List <string>();

            foreach (CourseRecord each in JHSchool.Course.Instance.SelectedList)
            {
                courseIds.Add(each.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;
        }