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