Пример #1
0
 public static List<考试分析> 得到某场考试分析数据(Guid 考试设置ID, int 间隔值, Guid 部门ID,out 考试设置 考试设置)
 {
     List<考试分析> listAnalyse = new List<考试分析>();
     考试设置 examSet =考试设置.考试设置联合试卷内容查询.Where(a => a.ID == 考试设置ID).First();
     int totalScore = examSet.试卷内容.总分;
     IQueryable<考生做过的试卷> query = 考生做过的试卷.考生做过的试卷联合查询.Where(a => a.相关ID == 考试设置ID
         && a.是否是已提交的试卷 == true && a.类型 == 1);
     //查询所有部门
     if (部门ID == Guid.Empty)
     {
         var group = query.GroupBy(a => a.考生表.部门ID.Value).ToList();
         foreach (var subGroup in group)
         {
             string departmentName = 部门.部门查询.Where(a => a.ID == subGroup.Key).First().名称;
             List<考生做过的试卷> list=subGroup.ToList();
             if (list.Count > 0)
             {
                 考试分析 analyse = 得到考试分析(list, totalScore, 间隔值, departmentName);
                 listAnalyse.Add(analyse);
             }
         }
     }
     //查询单个部门
     else
     {
         string departmentName = 部门.部门查询.Where(a => a.ID == 部门ID).First().名称;
         List<考生做过的试卷> list = query.Where(a => a.考生表.部门ID == 部门ID).ToList();
         if (list.Count > 0)
         {
             考试分析 analyse = 得到考试分析(list, totalScore, 间隔值, departmentName);
             listAnalyse.Add(analyse);
         }
     }
     考试设置 = examSet;
     return listAnalyse;
 }
        public static List<考生做过的试卷> 得到某场考试参考学生考试结果(string 关键字, Guid 考试设置ID, Guid 部门ID, int 第几页, int 页的大小, out int 返回总条数, out 考试设置 考试设置)
        {
            List<考生做过的试卷> listMemberDoneTest = 考生做过的试卷联合查询.Where(a => a.是否是已提交的试卷 == true && a.类型 == 1
                   && a.相关ID == 考试设置ID).ToList();
            listMemberDoneTest = listMemberDoneTest.OrderByDescending(a => a.客观题总得分 + a.主观题总得分).ToList();
            //赋值总名次
            for (int i = 0; i < listMemberDoneTest.Count; i++)
            {
                listMemberDoneTest[i].总名次 = i + 1;
            }
            //查询一个班级,并赋值班级名次
            List<考生做过的试卷> listOneClassDoneTest = new List<考生做过的试卷>();
            if (部门ID != Guid.Empty)
            {
                listOneClassDoneTest = listMemberDoneTest.Where(a => a.考生表.部门ID == 部门ID).ToList();
                listOneClassDoneTest = listOneClassDoneTest.OrderByDescending(a => a.客观题总得分 + a.主观题总得分).ToList();
                for (int i = 0; i < listOneClassDoneTest.Count; i++)
                {
                    考生做过的试卷 oneClassDoneTest = listMemberDoneTest.Where(a => a.考生ID == listOneClassDoneTest[i].考生ID).First();
                    oneClassDoneTest.班级名次 = i + 1;
                }
            }
            List<考生做过的试卷> listKeyDoneTest = new List<考生做过的试卷>();
            if (!string.IsNullOrEmpty(关键字))
            {
                if (部门ID == Guid.Empty)
                {
                    listKeyDoneTest = listMemberDoneTest.Where(a => a.考生表.编号.Contains(关键字) || a.考生表.姓名.Contains(关键字))
                        .ToList();
                }
                else
                {
                    listKeyDoneTest = listOneClassDoneTest.Where(a => a.考生表.编号.Contains(关键字) || a.考生表.姓名.Contains(关键字))
                        .ToList();
                }

            }
            考试设置 examSet = 考试设置.考试设置联合试卷内容查询.Where(a => a.ID == 考试设置ID).First();
            examSet.试卷内容 = 试卷内容.把试卷内容表转化成试卷内容(examSet.试卷内容表);
            考试设置 = examSet;
            List<考生做过的试卷> listReturn = new List<考生做过的试卷>();
            if (!string.IsNullOrEmpty(关键字))
            {
                返回总条数 = listKeyDoneTest.Count;
                listReturn = listKeyDoneTest.Skip(第几页 * 页的大小).Take(页的大小).ToList();
            }
            else if (部门ID != Guid.Empty)
            {
                返回总条数 = listOneClassDoneTest.Count;
                listReturn = listOneClassDoneTest.Skip(第几页 * 页的大小).Take(页的大小).ToList();
            }
            else
            {
                返回总条数 = listMemberDoneTest.Count;
                listReturn = listMemberDoneTest.Skip(第几页 * 页的大小).Take(页的大小).ToList();
            }
            foreach (考生做过的试卷 memberDoneTest in listReturn)
            {
                memberDoneTest.考生 = 考生.把考生表转化成考生(memberDoneTest.考生表);
            }
            return listReturn;
        }
Пример #3
0
 private static 试卷设置 把考试设置转化成试卷设置(考试设置 考试设置)
 {
     试卷设置 testSet = Mapper.Create<考试设置, 试卷设置>()(考试设置);
     return testSet;
 }
 public static DataSet 得到导出考试分析列表(Guid 考试设置ID, Guid 部门ID, out 考试设置 考试设置,out string 班级名称)
 {
     List<考生做过的试卷> list = 考生做过的试卷.考生做过的试卷联合查询.Where(a => a.是否是已提交的试卷 == true && a.类型 == 1
            && a.相关ID == 考试设置ID).ToList();
     list = list.OrderByDescending(a => a.客观题总得分 + a.主观题总得分).ToList();
     List<导出考试分析> listOutAnalyse = new List<导出考试分析>();
     //赋值总名次
     for (int i = 0; i < list.Count; i++)
     {
         导出考试分析 outAnalyse = new 导出考试分析();
         outAnalyse.总名次 = i + 1;
         outAnalyse.学号 = list[i].考生.编号;
         outAnalyse.姓名 = list[i].考生.姓名;
         if (部门ID == Guid.Empty)
         {
             outAnalyse.班级 = list[i].考生.部门.名称;
         }
         outAnalyse.客观题得分 = list[i].客观题总得分;
         outAnalyse.总得分 = list[i].总得分;
         listOutAnalyse.Add(outAnalyse);
     }
     List<考生做过的试卷> listOneClass = new List<考生做过的试卷>();
     List<导出考试分析> listOneClassAnalyse = new List<导出考试分析>();
     //赋值班级名次
     if (部门ID != Guid.Empty)
     {
         listOneClass = list.Where(a => a.考生.部门ID == 部门ID).ToList();
         listOneClass = listOneClass.OrderByDescending(a => a.客观题总得分 + a.主观题总得分).ToList();
         for (int i = 0; i < listOneClass.Count; i++)
         {
             导出考试分析 oneAnalyse = listOutAnalyse.Where(a => a.学号 == listOneClass[i].考生.编号).First();
             oneAnalyse.班级名次 = i + 1;
             listOneClassAnalyse.Add(oneAnalyse);
         }
     }
     考试设置 examSet = 考试设置.考试设置联合试卷内容查询.Where(a => a.ID == 考试设置ID).First();
     examSet.试卷内容 = 试卷内容.把试卷内容表转化成试卷内容(examSet.试卷内容表);
     考试设置 = examSet;
     //无需返回的属性集合
     DataTable dt = new DataTable();
     List<string> listName = new List<string>();
     if (部门ID != Guid.Empty)
     {
         listName.Add("班级");
         dt = 考生.ListConvertToDataTable<导出考试分析>(listOneClassAnalyse, listName);
     }
     else
     {
         listName.Add("班级名次");
         dt = 考生.ListConvertToDataTable<导出考试分析>(listOutAnalyse, listName);
     }
     DataSet ds = new DataSet();
     ds.Tables.Add(dt);
     if (部门ID == Guid.Empty)
     {
         班级名称 = "";
     }
     else
     {
         班级名称 = 部门.部门查询.Where(a => a.ID == 部门ID).Select(a => a.名称).First();
     }
     return ds;
 }
 public static string Get考试分析标题(考试设置 c考试设置)
 {
     return "<div class=\"usebox examiner-analysis-head\">" +
                     "<h1>" + c考试设置.试卷内容.名称 + "</h1>" +
                     "<div class=\"detailsInfo\">" +
                         "<label>考试时长:</label>" +
                         "<span><font color=\"red\">" + c考试设置.考试时长 + "</font>分钟</span>" +
                         "<label>总分:</label>" +
                         "<span><font color=\"red\">" + c考试设置.试卷内容.总分 + "</font>分</span>" +
                     "</div>" +
                 "</div>";
 }
 /// <summary>
 /// ExamReport标题
 /// </summary>
 /// <param name="htmlHelper">HtmlHelper</param>
 /// <param name="c考试设置">考试设置</param>
 /// <returns></returns>
 public static MvcHtmlString ExamReport标题(this HtmlHelper htmlHelper, 考试设置 c考试设置)
 {
     string sContent = ExamReport标题(c考试设置);
     return MvcHtmlString.Create(sContent);
 }
 /// <summary>
 /// ExamReport标题
 /// </summary>
 /// <param name="c考试设置">考试设置</param>
 /// <returns></returns>
 public static string ExamReport标题(考试设置 c考试设置)
 {
     string sContent = "";
     if (c考试设置 != null)
     {
         sContent = Get考试分析标题(c考试设置); ;
     }
     return sContent;
 }