public ActionResult Create(RoleModel roleModel) { if (RoleCheck(roleModel.Role)) { ViewData["error"] = "The Role already exists."; return(View(RolePage(null))); } try { tbl_role o_role = new tbl_role(); o_role.ID = Guid.NewGuid(); o_role.Name = roleModel.Role; o_role.Status = true; o_role.Createdby = "Admin"; o_role.Updatedby = "Admin"; o_role.CreateTS = DateTime.UtcNow; o_role.UpdateTS = DateTime.UtcNow; obj.tbl_role.Add(o_role); foreach (var module in roleModel.lst_module) { if (module.Value) { tbl_role_module role_module = new tbl_role_module(); role_module.ID = Guid.NewGuid(); role_module.Role_ID = o_role.ID; role_module.Module_ID = module.id; role_module.Status = module.Value; role_module.Createdby = "Admin"; role_module.Updatedby = "Admin"; role_module.CreateTS = DateTime.UtcNow; role_module.UpdateTS = DateTime.UtcNow; obj.tbl_role_module.Add(role_module); } } obj.SaveChanges(); ViewData["success"] = "The Role is created successfully"; return(RedirectToAction("Index")); } catch (DbUpdateException ex) { SqlException innerException = ex.InnerException.InnerException as SqlException; if (innerException != null && (innerException.Number == 2627 || innerException.Number == 2601)) { ViewData["error"] = "Role already exists!"; return(View(RolePage(null))); } else { throw; } } catch (Exception ex) { ViewData["error"] = "An error occured. Please try again!"; return(View(RolePage(null))); } }
public ActionResult Edit(RoleModel roleModel) { tbl_role o_role = obj.tbl_role.Where(x => x.ID == roleModel.Role_ID).FirstOrDefault(); if (RoleCheck(roleModel.Role) == true && o_role.Name != roleModel.Role) { ViewData["error"] = "The Role already exists."; return(View(RolePage(null))); } try { o_role.Name = roleModel.Role; o_role.Status = true; o_role.Updatedby = "Admin"; o_role.UpdateTS = DateTime.UtcNow; obj.SaveChanges(); foreach (var module in roleModel.lst_module) { tbl_role_module role_module = obj.tbl_role_module.Where(x => x.Role_ID == roleModel.Role_ID && x.Module_ID == module.id).FirstOrDefault(); if (role_module == null && module.Value == true) { tbl_role_module new_role = new tbl_role_module(); new_role.ID = Guid.NewGuid(); new_role.Role_ID = o_role.ID; new_role.Module_ID = module.id; new_role.Status = module.Value; new_role.Createdby = "Admin"; new_role.CreateTS = DateTime.UtcNow; new_role.Updatedby = "Admin"; new_role.UpdateTS = DateTime.UtcNow; obj.tbl_role_module.Add(new_role); } else if (role_module == null) { continue; } else { if (role_module.Status != module.Value) { role_module.Status = module.Value; role_module.Updatedby = "Admin"; role_module.UpdateTS = DateTime.UtcNow; } } obj.SaveChanges(); } return(RedirectToAction("Index")); } //catch (DbUpdateException ex) //{ // SqlException innerException = ex.InnerException.InnerException as SqlException; // if (innerException != null && (innerException.Number == 2627 || innerException.Number == 2601)) // { // ViewData["error"] = "Role already exists!"; // return View(RolePage(null)); // } // else // { // throw; // } //} catch (Exception ex) { ViewData["error"] = "An error occured. Please try again!"; return(View(RolePage(null))); } }