public void getColumn()
        {
            DepartmentService ds = new DepartmentService();
            IList professionList = new ArrayList();
            string ProfessionID = context.Request.Form.Get("ProfessionID");
            string YearNo = context.Request.Form.Get("YearNo");
            string LevelNo = context.Request.Form.Get("LevelNo");
            if (!string.IsNullOrEmpty(ProfessionID))
            {
                Profession profession = ds.getProfessionByID(ProfessionID);
                professionList.Add(profession);
            }
            PlanService ps = new PlanService();
            object[] planObjArr = ps.searchPlan(professionList, YearNo, LevelNo,
            int.MaxValue, 1);
            if (planObjArr[1] != null)
            {
                IList<ExamPlan> examPlanList = (IList<ExamPlan>)planObjArr[1];
                if (examPlanList == null) return;
                ExamPlan ep = examPlanList.ElementAt(0);
                ArrayList newArrayList = new ArrayList();
                if (examPlanList.ElementAt(0).CouresSet == null) return;
                foreach (Coures c in examPlanList.ElementAt(0).CouresSet)
                {
                    newArrayList.Add(c.Name);
                }
                newArrayList.Sort();

                IList<Hashtable> columnList = new List<Hashtable>();
                foreach (string s in newArrayList) {
                    Hashtable ht = new Hashtable();
                    ht.Add("columnName",s);
                    columnList.Add(ht);
                }
                String json = JsonConvert.SerializeObject(columnList);
                context.Response.Write(json);

            }
        }
        private void searchExamResult()
        {
            DepartmentService ds = new DepartmentService();
            IList professionList = new ArrayList();
            string ProfessionID = context.Request.Form.Get("ProfessionID");
            string YearNo = context.Request.Form.Get("YearNo");
            string LevelNo = context.Request.Form.Get("LevelNo");
            if (!string.IsNullOrEmpty(ProfessionID))
            {
                Profession profession = ds.getProfessionByID(ProfessionID);
                professionList.Add(profession);
            }
            PlanService ps = new PlanService();
            object[] planObjArr = ps.searchPlan(professionList, YearNo, LevelNo,
            int.MaxValue, 1);
            if (planObjArr[1] != null)
            {
                IList<ExamPlan> examPlanList = (IList<ExamPlan>)planObjArr[1];
                if (examPlanList == null || examPlanList.Count == 0) return;
                ExamResultService ers = new ExamResultService();
                IList<ExamPlan> planList = new List<ExamPlan>();
                planList.Add(examPlanList[0]);
                object[] examResultObjArr = ers.searchExamResult(planList, int.MaxValue, 1);
                if (examResultObjArr[1] != null)
                {
                    IList<ExamResult> examResultList = (IList<ExamResult>)examResultObjArr[1];
                    IList<Hashtable> examRsultMapList = new List<Hashtable>();
                    foreach (ExamResult er in examResultList)
                    {
                        Hashtable cht = new Hashtable();
                        cht.Add("Id", er.Id);
                        cht.Add("StudentSN", er.StudentSN);
                        cht.Add("StudentName", er.StudentName);
                        cht.Add("ExamPlanName", er.ExamPlanName);

                        if (er.CouresScoreMap != null)
                        {
                            ArrayList newArrayList = new ArrayList();
                            foreach (Coures c in planList.ElementAt(0).CouresSet)
                            {
                                newArrayList.Add(c.Name);
                            }
                            newArrayList.Sort();
                            foreach (string key in newArrayList)
                            {
                                if (er.CouresScoreMap.ContainsKey(key)) {
                                    cht.Add(key, er.CouresScoreMap[key]);
                                }

                            }
                        }
                        examRsultMapList.Add(cht);
                    }
                    Hashtable ht = new Hashtable();
                    ht.Add("total", examResultObjArr[0]);
                    ht.Add("rows", examRsultMapList);
                    String json = JsonConvert.SerializeObject(ht);
                    context.Response.Write(json);
                }
            }
        }
        private void searchPlan()
        {
            try
            {
                PlanService planService = new PlanService();
                DepartmentService ds = new DepartmentService();
                IList professionList = new ArrayList();
                string ProfessionID = context.Request.Form.Get("ProfessionID");
                string YearNo = context.Request.Form.Get("YearNo");
                string LevelNo = context.Request.Form.Get("LevelNo");
                if (!string.IsNullOrEmpty(ProfessionID)) {
                    Profession profession = ds.getProfessionByID(ProfessionID);
                    professionList.Add(profession);
                }

                int rows = Convert.ToInt32(context.Request.Form["rows"]);
                int page = Convert.ToInt32(context.Request.Form["page"]);
                object[] data = planService.searchPlan(professionList, YearNo, LevelNo, rows, page);
                Hashtable ht = new Hashtable();
                ht.Add("total", data[0]);
                ht.Add("rows", data[1]);
                String json = JsonConvert.SerializeObject(ht);
                context.Response.Write(json);
            }
            catch (Exception e) {
                context.Response.Write("0");
            }
        }
        private void saveCoures()
        {
            try
            {
                string ProfessionID = context.Request.Form.Get("Profession");
                string FacultyID = context.Request.Form.Get("Faculty");

                DepartmentService ds = new DepartmentService();
                Profession profession = ds.getProfessionByID(ProfessionID);
                Faculty faculty = ds.getFacultyByID(FacultyID);
                if (profession != null && faculty != null)
                {
                    ISet<Coures> couresSet = new HashedSet<Coures>();
                    string[] couresArr = context.Request.Form.GetValues("Coures");
                    CouresService cs = new CouresService();
                    foreach (string c in couresArr) {
                       Coures coures = cs.getCouresByID(c);
                       if (coures != null)
                       couresSet.Add(coures);
                    }

                    ExamPlan p = new ExamPlan();
                    setValue(p, context);
                    p.Profession = profession;
                    p.Faculty = faculty;
                    p.CouresSet = couresSet;
                    PlanService ps = new PlanService();
                    ps.save(p);
                    context.Response.Write("1");
                }
            }
            catch (Exception e)
            {
                context.Response.Write("0");
            }
        }
        private void initStudentResult()
        {
            try
            {
                string ExamPlanID = context.Request.Form.Get("ExamPlanID");
                PlanService planService = new PlanService();
                ExamPlan examPlan = planService.getExamPlanByID(ExamPlanID);

                IList<ExamPlan> examPlanList = new List<ExamPlan>();
                examPlanList.Add(examPlan);
                ExamResultService ers = new ExamResultService();
                object[] obj = ers.searchExamResult(examPlanList, int.MaxValue, 1);
                if (obj[1] != null) {
                    IList<ExamResult> examResultList = (IList<ExamResult>)obj[1];
                    foreach (ExamResult er in examResultList)
                    {
                      ers.del(er);
                    }
                }

                Student student = new Student();
                IList<Profession> professionList = new List<Profession>();
                professionList.Add(examPlan.Profession);
                student.ProfessionList = professionList;
                StudentService ss = new StudentService();
                object[] studentObjArr = ss.getStudentList(student, int.MaxValue, 1);

                if (studentObjArr[1] != null)
                {
                    IList<Student> studentList = (IList<Student>)studentObjArr[1];
                    foreach (Student s in studentList)
                    {
                        ExamResult examResult = new ExamResult();
                        examResult.ExamPlan = examPlan;
                        examResult.Student = s;
                        ers.save(examPlan);
                        IDictionary<string,string> map = new Dictionary<string,string>();
                        foreach (Coures c in examPlan.CouresSet)
                        {
                            map.Add(c.Name, "0");
                        }
                        examResult.CouresScoreMap = map;
                        ers.save(examResult);
                    }
                }
                context.Response.Write("1");
            }
            catch (Exception e)
            {
                context.Response.Write("0");
            }
        }
 private void getPlanByID()
 {
     try
     {
         string ExamPlanID = context.Request.Form.Get("ExamPlanID");
         PlanService planService = new PlanService();
         ExamPlan examPlan = planService.getExamPlanByID(ExamPlanID);
         String json = JsonConvert.SerializeObject(examPlan);
         context.Response.Write(json);
     }
     catch (Exception e) {
         context.Response.Write("0");
     }
 }
 private void deleteExamPlan()
 {
     try
     {
         string ExamPlanID = context.Request.Form.Get("ExamPlanID");
         PlanService planService = new PlanService();
         ExamPlan examPlan = planService.getExamPlanByID(ExamPlanID);
         examPlan.CouresSet = null;
         planService.save(examPlan);
         planService.del(examPlan);
         context.Response.Write("1");
     }
     catch (Exception e)
     {
         context.Response.Write("0");
     }
 }