public ActionResult viewSubmission(HomeworkViewModel HVM, int HWV_id) { HVM.groupSelectList = (IEnumerable <SelectListItem>)Session["groupSelectList"]; HVM.typeSelectList = (IEnumerable <SelectListItem>)Session["typeSelectList"]; HVM.groupFilList = (IEnumerable <SelectListItem>)Session["groupFilList"]; HVM.typeFilList = (IEnumerable <SelectListItem>)Session["typeFilList"]; HVM.termFilList = (IEnumerable <SelectListItem>)Session["termFilList"]; HVM.submission_list = new List <Submission_view>(); HomeworkView view = HVM.viewList.Where(v => v.ID == HWV_id).First(); List <HOMEWORK_SUBMISSION_LIST> submissions = HWV_id > 0? DBS.findRecordsBySingleParm <HOMEWORK_SUBMISSION_LIST>("HOMEWORK", HWV_id): new List <HOMEWORK_SUBMISSION_LIST>(); List <STUDENT> students = StudentService.getStudentByGroup(view.group_id); if (students != null && students.Any()) { for (int s = 0; s < students.Count; s++) { Submission_view SV = new Submission_view(); SV.homework_id = (int)HWV_id; SV.student_id = students[s].ID; SV.group_id = view.group_id; SV.work_name = view.name; SV.group_name = view.group_name; SV.student_name = students[s].STUDENT_NAME; if (submissions != null && submissions.Exists(sub => sub.STUDENT == SV.student_id)) { HOMEWORK_SUBMISSION_LIST HSL = submissions.Where(sub => sub.STUDENT == SV.student_id).FirstOrDefault(); SV.QE_class = HSL.QE_CLASS; SV.QE_class_name = HSL.QE_CLASS_NAME; SV.class_num = HSL.CLASS_NUM; SV.mark = HSL.MARK; SV.remark = HSL.REMARK; SV.submit_date = HSL.ADD_DATE; SV.submission_id = HSL.ID; SV.contain = true; } else { ClassStudentMap map = ClassService.getClassStudentMapByStudent(students[s].ID); SV.QE_class = map.ID; SV.QE_class_name = map.FORM.ToString() + map.NAME; SV.class_num = map.CLASS_NUM; SV.contain = false; } HVM.submission_list.Add(SV); } } ModelState.Clear(); TempData["showForm2"] = true; TempData["showForm"] = false; return(View("Homework", HVM)); }
public static bool UpdateSubmissionMarkRemark(HOMEWORK_SUBMISSION_LIST list) { Dictionary <string, string> parms = new Dictionary <string, string>() { { "REMARK", list.REMARK }, { "MARK", list.MARK.ToString() }, { "MODIFY_BY", ClientSessionService.GetSession.loginedUser.ID.ToString() }, { "MODIFY_DATE", DateTime.Now.ToString() } }; try { return(WillORM.UpdateRecord("HOMEWORK_SUBMISSION_LIST", parms, list.ID)); } catch { return(false); } }
public static int AddSubmission(HOMEWORK_SUBMISSION_LIST newSubmission) { try { return(WillORM.InsertRecord(newSubmission)); } catch { return(0); } }
public ActionResult SaveSubmissions(HomeworkViewModel HVM) { checkLogin(); HVM.groupSelectList = (IEnumerable <SelectListItem>)Session["groupSelectList"]; HVM.typeSelectList = (IEnumerable <SelectListItem>)Session["typeSelectList"]; HVM.groupFilList = (IEnumerable <SelectListItem>)Session["groupFilList"]; HVM.typeFilList = (IEnumerable <SelectListItem>)Session["typeFilList"]; HVM.termFilList = (IEnumerable <SelectListItem>)Session["termFilList"]; bool result = true; foreach (var s in HVM.submission_list) { if (result) { if (s.submission_id > 0 && !s.contain) { //delete submission record result = false; result = DBS.removeRecord <HOMEWORK_SUBMISSION_LIST>(s.submission_id); } else if (s.submission_id < 1 && s.contain) { s.submit_date = DateTime.Now;//for late ratio cal //add submission record HOMEWORK_SUBMISSION_LIST newList = new HOMEWORK_SUBMISSION_LIST() { HOMEWORK = s.homework_id, STUDENT = s.student_id, STUDENT_GROUP = s.group_id, QE_CLASS = s.QE_class, QE_CLASS_NAME = s.QE_class_name, GROUP_NAME = s.group_name, STUDENT_NAME = s.student_name, CLASS_NUM = s.class_num, REMARK = s.remark, MARK = s.mark, ADD_BY = CP.userID, ADD_DATE = DateTime.Now, ACTIVE = true, }; result = false; result = DBS.addRecord(newList); } else if (s.submission_id > 0 && s.contain) { // changes other than submission Dictionary <string, string> parms = new Dictionary <string, string>() { { "REMARK", string.IsNullOrEmpty(s.remark) ? string.Empty : s.remark }, { "MARK", s.mark.ToString() }, { "MODIFY_BY", CP.userID.ToString() }, { "MODIFY_DATE", DateTime.Now.ToString() } }; result = false; result = DBS.updateRecordByID <HOMEWORK_SUBMISSION_LIST>(parms, s.submission_id); } } } if (result) { //update ratios HOMEWORK work = DBS.findActiveRecordByID <HOMEWORK>(HVM.submission_list.FirstOrDefault().homework_id); if (work != null) { int studentCount = StudentService.countStudentByGroup(work.STUDENT_GROUP); work.SUBMISSION_RATIO = (decimal)HVM.submission_list.Count(sm => sm.contain == true) / (decimal)studentCount; work.LATE_RATIO = (decimal)(HVM.submission_list.Count(sm => ((sm.contain == true) && (sm.submit_date > work.DUE_DATE)))) / (decimal)studentCount; work.MODIFY_BY = CP.userID; work.MODIFY_DATE = DateTime.Now; result = DBS.updateRecord(work); if (result) { HVM.viewList.Where(h => h.ID == work.ID).First().submission_ratio = work.SUBMISSION_RATIO; HVM.viewList.Where(h => h.ID == work.ID).First().late_ratio = work.LATE_RATIO; } } } ModelState.Clear(); TempData["showForm"] = false; TempData["showForm2"] = true; if (result) { TempData[Constant.msg_success] = Constant.ChangeSucceed; } else { TempData[Constant.msg_error] = Constant.ChangeFailed; } return(viewSubmission(HVM, HVM.submission_list.FirstOrDefault().homework_id)); }