public ActionResult assessment([Bind(Include = "ID,MAIL,PW,C_ROLE,C_STA")] User user) { if (UserNumForId(user.ID) > 0) { MsList ms = new MsList(); if (user.C_ROLE == 0) { List <Evalution> evl = db.Evalutions.Where(x => x.I_CREATE_UID == user.ID).ToList(); foreach (var i in evl) { EvalutionForm evff = db.EvalutionForms.Find(i.I_EVT_ID); ms.Add(new MsItem(evff.ID, evff.S_Name, db.Evalutions.Where(x => x.I_EVT_ID == evff.ID))); } return(Json(ms, JsonRequestBehavior.AllowGet)); } else { List <EvalutionForm> evlist = db.EvalutionForms.Where(x => x.I_CREATE_UID == user.ID).ToList(); foreach (var i in evlist) { ms.Add(new MsItem(i.ID, i.S_Name, db.Evalutions.Where(x => x.I_EVT_ID == i.ID).ToList())); } return(Json(ms, JsonRequestBehavior.AllowGet)); } } return(Json(false)); }
public ActionResult schools() { MsList ms = new MsList(); ms.Add(new MsItem("2", db.Academies.ToList())); ms.Add(new MsItem("3", db.Grades.ToList())); ms.Add(new MsItem("4", db.ClassNames.ToList())); return(Json(ms, JsonRequestBehavior.AllowGet)); }
public void RemoveMapSection(int id) { foreach (MapSection mapSection in MsList) { if (mapSection.sectionID == id) { MsList.Remove(mapSection); } else { throw new MapSectionNotFoundException(); } } }
public void AddMapSectionToList(MapSection mapSection) { MsList.Add(mapSection); }
public async Task <IActionResult> CandidateAnswers(int?id) { if (id == null) { return(NotFound()); } //Get Candidates Answers var answers = await _context.Candidates .Include(c => c.RecordingLists) .ThenInclude(rl => rl.Answers) .FirstOrDefaultAsync(c => c.CandidateID == id); //Get Test Mark Scheme var markScheme = from ms in _context.MarkSchemes join q in _context.Questions on ms.QuestionGroupID equals q.QuestionGroupId join r in _context.Recordings on q.RecordingID equals r.RecordingId from c in _context.Candidates join rl in _context.RecordingLists on new { r.RecordingId, c.CandidateID } equals new { RecordingId = rl.RecordingID, rl.CandidateID } into details from d in details where c.CandidateID == id group new { ms.MarkSchemeID, ms.Index, ms.Answer } by new { ms.MarkSchemeID, ms.Index, ms.Answer } into grp orderby grp.Key.Index select new { grp.Key.MarkSchemeID, grp.Key.Index, grp.Key.Answer }; //Get Test Total Mark var totalMark = _context.Answers .Where(a => a.Correctness == true) .Where(a => a.CandidateID == id).Count(); // This block is to set the written and actual ans together a.k.a set MarkScheme Answer List <MsList> actualAnsList = new List <MsList>(); foreach (var item in markScheme) { var ms = new MsList { Key = item.Index, Ans = item.Answer }; actualAnsList.Add(ms); } List <MsList> sortedAnsList = actualAnsList.OrderBy(a => a.Key).ToList(); //Sort list accroding to the question Index //Relocate Data to View Model var candAnsViewModel = new CandidateAnswersViewModel { CandidateID = answers.CandidateID, TotalMarks = totalMark, Grade = answers.Grade }; var ansByPartList = new List <AnswersByPartViewModel>(); foreach (var recording in answers.RecordingLists) { var getRecordingDetails = _context.Recordings.Find(recording.RecordingID); var ansByPart = new AnswersByPartViewModel { RecordingID = getRecordingDetails.RecordingId, Title = getRecordingDetails.Title, Part = getRecordingDetails.Part }; var ansWifMSList = new List <AnswersWithMarkSchemeViewModel>(); foreach (var ans in recording.Answers) { var ansWithMarkScheme = new AnswersWithMarkSchemeViewModel { AnswerID = ans.AnswerID, Index = ans.Index, WrittenAnswer = ans.WrittenAnswer, Correctness = ans.Correctness, MarkSchemeAnswer = sortedAnsList[ans.Index - 1].Ans }; //To Add the list of object of AnsWithMarkScheme with each iteration ansWifMSList.Add(ansWithMarkScheme); } ansByPart.AnswersWithMarkScheme = ansWifMSList; //To Add the list of object of AnsByPart iteration ansByPartList.Add(ansByPart); } candAnsViewModel.AnswersByPart = ansByPartList; return(View(candAnsViewModel)); }