public ActionResult Create() { try { View_ExamDetail model = new View_ExamDetail(); var type = db.ExamTypeInfos.ToList(); model.Examinfo = new ExamInfo(); model.TypeDetails = new List <View_ExamTypeDetails>(); foreach (var item in type) { model.TypeDetails.Add(new View_ExamTypeDetails { chk = false, TypeId = item.ExamTypeId, TypeName = item.ExamTypeName, PassMark = null, TotalMark = null }); } ViewBag.Examinfo = new SelectList(db.ExamInfoes.Where(t => t.ExamStatus == "Y").ToList(), "Id", "ExamName"); ViewBag.Class_Id = new SelectList(db.ClassInfoes.ToList(), "Id", "ClassName"); ViewBag.Subject = new SelectList(db.SubjectInfoes.ToList(), "Id", "SubjectName"); return(View(model)); } catch (Exception ex) { TempData["message"] = "<span class=\"color-red\">" + ex.Message + "</span>"; return(RedirectToAction("Index")); } }
public ActionResult Save(View_ExamDetail model, int?SubjectId) { if (model.TypeDetails.Count > 0) { foreach (var item in model.TypeDetails) { if (item.chk == true) { ExamInfoDetail obj = new ExamInfoDetail(); obj.EntryBy = User.Identity.Name; obj.EntryDate = DateTime.Now; obj.ExamId = model.Examinfo.Id; obj.ExamTypeId = db.ExamTypeInfos.Where(t => t.ExamTypeName == item.TypeName).SingleOrDefault().ExamTypeId; obj.SubjectId = SubjectId.Value; obj.TotalMarks = Convert.ToDecimal(item.TotalMark.Value); obj.PassMarks = Convert.ToDecimal(item.PassMark.Value); //check is already exists update it var isData = new ExamInfoDetail(); isData = db.ExamInfoDetails.Where(t => t.ExamId == obj.ExamId && t.SubjectId == obj.SubjectId && t.ExamTypeId == obj.ExamTypeId).SingleOrDefault(); if (isData != null) { isData.TotalMarks = Convert.ToDecimal(item.TotalMark.Value); isData.PassMarks = Convert.ToDecimal(item.PassMark.Value); db.Entry(isData).State = EntityState.Modified; } else { db.ExamInfoDetails.Add(obj); } } } db.SaveChanges(); TempData["ok"] = "ok"; TempData["message"] = "<span class=\"color-green\">Successfully Saved!</span>"; return(RedirectToAction("Index")); } return(null); }