public ActionResult AddorEditLeaves(int id = 0) { using (mmpEntities mP = new mmpEntities()) { if (id == 0) { return(View(new AddorEditLeave() { category_id = mP.categories.First(x => x.category_name == "leaves").category_id })); } else { //ctd = category type details var ctd = mP.category_type_details.Where(x => x.ctd_id == id).FirstOrDefault <category_type_details>(); //ld = leave details var ld = mP.leave_details.Where(x => x.category_type_id == ctd.ctd_id).FirstOrDefault <leave_details>(); AddorEditLeave ael = new AddorEditLeave() { ctd_id = ctd.ctd_id, leave_name = ctd.ctd_name, code = ctd.ctd_code, category_id = ctd.category_id, ctd_created_at = ctd.ctd_created_at, leave_details_id = ld.id, no_of_leaves = ld.no_of_leaves, encashable = ld.encashable, carry_forward = ld.carry_forward }; return(View(ael)); } } }
public ActionResult AddorEditLeaves(AddorEditLeave ael) { if (ModelState.IsValid) { using (mmpEntities mP = new mmpEntities()) { /*#region Leave Name already assigned * var isLeaveNameAssigned = IsCategoryTypeAssigned(ael.leave_name, ael.ctd_id, 1); * if (isLeaveNameAssigned) * { * ModelState.AddModelError("LeaveAssigned", "Leave Name is already assigned"); * return View(ael); * } #endregion*/ #region Leave Code already assigned var isLeaveCodeAssigned = IsCategoryTypeAssigned(ael.code, ael.ctd_id, 0); if (isLeaveCodeAssigned) { ModelState.AddModelError("LeaveAssigned", "Leave Code is already assigned"); return(View(ael)); } #endregion if (ael.ctd_id == 0) { category_type_details ctd = new category_type_details() { ctd_name = ael.leave_name, ctd_code = ael.code, category_id = ael.category_id, ctd_created_at = DateTime.Now }; mP.category_type_details.Add(ctd); mP.SaveChanges(); leave_details ld = new leave_details() { no_of_leaves = ael.no_of_leaves, encashable = ael.encashable, carry_forward = ael.carry_forward, category_type_id = ctd.ctd_id }; mP.leave_details.Add(ld); mP.SaveChanges(); return(Json(new { success = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet)); } else { category_type_details ctd = new category_type_details() { ctd_id = ael.ctd_id, ctd_name = ael.leave_name, ctd_code = ael.code, category_id = ael.category_id, ctd_created_at = ael.ctd_created_at, ctd_updated_at = DateTime.Now }; leave_details ld = new leave_details() { id = ael.leave_details_id, no_of_leaves = ael.no_of_leaves, encashable = ael.encashable, carry_forward = ael.carry_forward, category_type_id = ctd.ctd_id }; mP.Entry(ctd).State = EntityState.Modified; mP.Entry(ld).State = EntityState.Modified; mP.SaveChanges(); return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet)); } } } else { return(View(ael)); } }