public ActionResult TakePractice() { Docket docket = DocumentorDB.Dockets.Where(dkt => dkt.id.Equals(Request.Params["docket_id"])).First(); Document document = DocumentorDB.Documents.Where(dcmt => dcmt.id.Equals(Request.Params["document_id"])).First(); Student student=DocumentorDB.Students.Where(std=>std.id.Equals(Request.Params["student_id"])).First(); CaseStudy case_study=docket.CaseStudyDockets.First().CaseStudy; Assignment assignment = new Assignment(); assignment.case_study_id = case_study.id; assignment.student_id = student.id; assignment.level_id = DocumentorDB.Levels.First().id; assignment.ispractice = true; assignment.istest = false; assignment.isstarted = true; assignment.score = 0; DocumentorDB.Assignments.InsertOnSubmit(assignment); DocumentorDB.SubmitChanges(); assignment.create_docuchecks(document.id, docket.id); DocumentorDB.SubmitChanges(); Docucheck docucheck = DocumentorDB.Docuchecks.Where(dchk => dchk.docket_id == docket.id && dchk.document_id == document.id && (dchk.played == false || dchk.played == null)).First(); return RedirectToAction("PracticeDocument", new { docucheck_id = docucheck.id, sequence_number = 1 }); }
public ActionResult Index() { Student student = DocumentorDB.Students.Where(s => s.id.Equals(Request.Params["student_id"])).First(); List<CaseStudy> case_studies = DocumentorDB.CaseStudies.Where(cs => cs.Assignments.Where(a => a.student_id.Equals(student.id)).Count() > 0 || cs.active.Equals(true)).ToList(); List<Assignment> assignments = new List<Assignment>(); foreach (CaseStudy cs in case_studies) { string cs_name = cs.name; List<Assignment> cs_completed_assignments = cs.Assignments.Where(a => a.student_id.Equals(student.id) && a.iscomplete.Equals(true)).ToList(); int cs_attempts = cs_completed_assignments.Count; int cs_score = (int)(cs_completed_assignments.Sum(a => a.score) / cs_completed_assignments.Count); if (cs.Assignments.Where(a => a.student_id.Equals(student.id)).Count() > 0) assignments.Add(cs.Assignments.Where(a => a.student_id.Equals(student.id)).First()); else { Assignment a = new Assignment(); a.student_id = student.id; a.case_study_id = cs.id; a.level_id = cs.level_id ?? DocumentorDB.Levels.First().id; a.iscomplete = false; a.istest = true; a.ispractice = false; DocumentorDB.Assignments.InsertOnSubmit(a); DocumentorDB.SubmitChanges(); if (cs.CaseStudyDockets.Count > 0 || cs.CaseStudyDocuments.Count > 0) { a.create_docuchecks(); } assignments.Add(a); } } return View(assignments); }