public ActionResult Create() { try { ViewBag.ExamId = new SelectList(db.ExamInfoes.ToList().Where(t => t.ExamStatus == "Y"), "Id", "ExamName"); ViewBag.Faculty = new SelectList(db.FacultyInfoes.ToList(), "Id", "FacultyName"); View_Result model = new View_Result(); model.StuList = new List <View_ResultDetails>(); return(View(model)); } catch (Exception ex) { TempData["message"] = "<span class=\"color-red\">" + ex.Message + "</span>"; return(RedirectToAction("Index")); } }
public ActionResult Create(View_Result model) { try { if (model.DeparmentId > 0 && model.ExamId > 0 && model.Subject > 0 && model.StuList.Count > 0) { ExamResult update; foreach (var item in model.StuList) { //if (item.IsCheck == "on") //{ if (item.CQ != null) { ExamResult newResult = new ExamResult(); newResult.EntryBy = User.Identity.Name; newResult.EntryDate = DateTime.Now; newResult.ExamId = model.ExamId; newResult.StudentId = item.StudentId; newResult.SubjectId = model.Subject; newResult.ExamTypeId = db.ExamTypeInfos.Where(t => t.ExamTypeName == "CQ").SingleOrDefault().ExamTypeId; newResult.MarksObtain = item.CQ.Value; //find if previous record found then delete update = new ExamResult(); update = db.ExamResults.Where(t => t.ExamId == newResult.ExamId && t.StudentId == newResult.StudentId && t.SubjectId == newResult.SubjectId && t.ExamTypeId == newResult.ExamTypeId ).SingleOrDefault(); if (update != null) { update.MarksObtain = item.CQ.Value; db.Entry(update).State = EntityState.Modified; } else { db.ExamResults.Add(newResult); } } if (item.MCQ != null) { ExamResult newResult = new ExamResult(); newResult.EntryBy = User.Identity.Name; newResult.EntryDate = DateTime.Now; newResult.ExamId = model.ExamId; newResult.StudentId = item.StudentId; newResult.SubjectId = model.Subject; newResult.ExamTypeId = db.ExamTypeInfos.Where(t => t.ExamTypeName == "MCQ").SingleOrDefault().ExamTypeId; newResult.MarksObtain = item.MCQ.Value; //find if previous record found then delete update = new ExamResult(); update = db.ExamResults.Where(t => t.ExamId == newResult.ExamId && t.StudentId == newResult.StudentId && t.SubjectId == newResult.SubjectId && t.ExamTypeId == newResult.ExamTypeId ).SingleOrDefault(); if (update != null) { update.MarksObtain = item.CQ.Value; db.Entry(update).State = EntityState.Modified; } else { db.ExamResults.Add(newResult); } } if (item.Practical != null) { ExamResult newResult = new ExamResult(); newResult.EntryBy = User.Identity.Name; newResult.EntryDate = DateTime.Now; newResult.ExamId = model.ExamId; newResult.StudentId = item.StudentId; newResult.SubjectId = model.Subject; newResult.ExamTypeId = db.ExamTypeInfos.Where(t => t.ExamTypeName == "Practical").SingleOrDefault().ExamTypeId; newResult.MarksObtain = item.Practical.Value; //find if previous record found then delete update = new ExamResult(); update = db.ExamResults.Where(t => t.ExamId == newResult.ExamId && t.StudentId == newResult.StudentId && t.SubjectId == newResult.SubjectId && t.ExamTypeId == newResult.ExamTypeId ).SingleOrDefault(); if (update != null) { update.MarksObtain = item.CQ.Value; db.Entry(update).State = EntityState.Modified; } else { db.ExamResults.Add(newResult); } } // } }//end loop db.SaveChanges(); TempData["ok"] = "ok"; TempData["message"] = "<span class=\"color-green\">Successfully Saved!</span>"; } } catch (Exception ex) { TempData["message"] = "<span class=\"color-red\">" + ex.Message + "</span>"; } return(RedirectToAction("Index")); }