public JsonResult UpdateRole(Guid roleId, [FromBody] RoleInDTO role) { var identity = _contextAccessor.HttpContext.User.Identity; var userInfoId = Security.GetUserInfoId(identity); if (role == null || roleId == null) { throw new Exception("Error"); } var status = _roleService.UpdateRole(role, userInfoId); return(Json(status)); }
public bool UpdateRole(RoleInDTO role, Guid userInfoId) { try { var curentRole = _roleRepository.FindByID(role.RoleId ?? Guid.Empty); if (curentRole == null) { return(false); } var roleExists = _roleRepository.FindAll().Any(x => x.Name.ToLower() == role.Name.ToLower() && role.RoleId != role.RoleId); if (roleExists) { return(false); } curentRole.Name = role.Name; curentRole.Description = role.Description; curentRole.Status = role.Status; curentRole.ModifiedBy = userInfoId; curentRole.ModifiedOn = Localization.GetUTCDateNow(); _roleRepository.Update(curentRole); var exisitingMappedAccessList = _roleAccessRepository.FindAll().Where(x => x.RoleId == curentRole.RoleId); foreach (var exisitingMappedAccess in exisitingMappedAccessList) { _roleAccessRepository.Remove(exisitingMappedAccess.RoleAccessId); } foreach (var mappedRole in role.AccessMappingItems) { var roleAccess = new RoleAccess(); roleAccess.AccessId = mappedRole.AccessId; roleAccess.RoleId = curentRole.RoleId; _roleAccessRepository.Add(roleAccess, true); } } catch (Exception ex) { throw new Exception(ex.Message); } return(true); }
public bool CreateRole(RoleInDTO role, Guid userInfoId) { try { var roleExists = _roleRepository.FindAll().Any(x => x.Name.ToLower() == role.Name.ToLower()); if (roleExists) { return(false); } var newRole = new Role(); newRole.Name = role.Name; newRole.Description = role.Description; newRole.Status = role.Status; newRole.CreatedOn = Localization.GetUTCDateNow(); newRole.CreatedBy = userInfoId; newRole.ModifiedBy = userInfoId; newRole.ModifiedOn = Localization.GetUTCDateNow(); newRole.RoleId = Guid.NewGuid(); var roleId = _roleRepository.Add(newRole); foreach (var mappedRole in role.AccessMappingItems) { var roleAccess = new RoleAccess(); roleAccess.AccessId = mappedRole.AccessId; roleAccess.RoleId = roleId; roleAccess.CreatedBy = userInfoId; roleAccess.CreatedOn = Localization.GetUTCDateNow(); roleAccess.ModifiedBy = userInfoId; roleAccess.ModifiedOn = Localization.GetUTCDateNow(); _roleAccessRepository.Add(roleAccess, true); } } catch (Exception ex) { throw new Exception(ex.Message); } return(true); }