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");
            }
        }