public SaveRolePrivilegeResponse UpdateRecord(SaveRolePrivilegeMasterRequest objRequest) { SaveRolePrivilegeResponse objResponse = null; try { BaseRolePrivilegeMasterDAL objDAL = this.MyDal.GetDalRepository().GetRolePrivilegeMasterDAL(); objResponse = (SaveRolePrivilegeResponse)objDAL.UpdateRecord(objRequest); } catch (Exception ex) { objResponse = new SaveRolePrivilegeResponse(); objResponse.DisplayMessage = CommonStrings.UpdateErrorMessage.Replace("{}", "Role Privilege Master"); objResponse.ExceptionMessage = ex.Message; objResponse.StackTrace = ex.StackTrace; this.SetLogger(this.GetLogger()); this.WriteToLog(ex.Message + Environment.NewLine + ex.StackTrace); } return(objResponse); }
/// <summary> /// Save Or Update Role Privileges /// </summary> /// <param name="request"></param> /// <returns></returns> public SaveRolePrivilegeResponse SaveRolePrivilege(SaveRolePrivilegeRequest request) { var response = new SaveRolePrivilegeResponse(); var baseRequest = request.MapTo <BaseAction>(); try { var privilege = request.MapTo <RolePrivilege>(); var user = DataContext.Users.Find(request.UserId); if (request.Id > 0) { //Update Mode privilege.UpdatedBy = user; privilege.UpdatedDate = DateTime.Now; DataContext.Entry(privilege).State = EntityState.Modified; } else { //Insert mode privilege.CreatedBy = user; privilege.CreatedDate = DateTime.Now; DataContext.RolePrivileges.Add(privilege); } DataContext.SaveChanges(); //DataContext.SaveChanges(baseRequest); //try to batch update if (request.MenuRolePrivileges.Count > 0) { foreach (var menuRole in request.MenuRolePrivileges) { menuRole.RolePrivilege_Id = privilege.Id; var existing = DataContext.MenuRolePrivileges.FirstOrDefault(x => x.Menu_Id == menuRole.Menu_Id && x.RolePrivilege_Id == privilege.Id); if (existing != null) { existing.AllowApprove = menuRole.AllowApprove; existing.AllowCreate = menuRole.AllowCreate; existing.AllowDelete = menuRole.AllowDelete; existing.AllowDownload = menuRole.AllowDownload; existing.AllowPublish = menuRole.AllowPublish; existing.AllowUpdate = menuRole.AllowUpdate; existing.AllowUpload = menuRole.AllowUpload; existing.AllowView = menuRole.AllowView; existing.AllowInput = menuRole.AllowInput; DataContext.Entry(existing).State = EntityState.Modified; } else { var menuPrivilege = menuRole.MapTo <MenuRolePrivilege>(); DataContext.MenuRolePrivileges.Add(menuPrivilege); } } //DataContext.SaveChanges(baseRequest); DataContext.SaveChanges(); } response.IsSuccess = true; response.Id = privilege.Id; response.Message = "Privilege Successfully Saved"; } catch (DbUpdateException upd) { response.IsSuccess = false; response.Message = upd.Message; } catch (InvalidOperationException inv) { response.IsSuccess = false; response.Message = inv.Message; } return(response); }