public async Task <ApiResponse> UpdateAsync([FromBody] RoleData data) { if (!ModelState.IsValid) { throw new ApiException(ModelState.AllErrors()); } var role = await _roleService.GetRoleByIdAsync(data.Id, new IncludeStringConstants().RolePermissionIncludeList.ToArray()).ConfigureAwait(false); if (role == null) { throw new ApiException(MessageBuilder.NotFound, StatusCodes.Status404NotFound); } if (!role.IsEditable) { throw new ApiException(MessageBuilder.NotEditable); } if (data.Name != role.Name && await _roleService.IsExistAsync(c => c.Name == data.Name).ConfigureAwait(false)) { throw new ApiException(MessageBuilder.AlreadyExist(data.Name), StatusCodes.Status409Conflict); } //update _mapper.Map <RoleData, Role>(data, role); role.DateModified = DateTime.Now; await _roleService.UpdateAsync(role).ConfigureAwait(false); return(await GetAsync(role.Id).ConfigureAwait(false)); }
public async Task <ApiResponse> CreateAsync([FromBody] RoleData data) { if (!ModelState.IsValid) { throw new ApiException(ModelState.AllErrors()); } if (await _roleService.IsExistAsync(c => c.Name == data.Name).ConfigureAwait(false)) { throw new ApiException(MessageBuilder.AlreadyExist(data.Name), StatusCodes.Status409Conflict); } var role = _mapper.Map <RoleData, Role>(data); role.Id = Guid.NewGuid().ToString(); role.DateCreated = DateTime.Now; await _roleService.CreateAsync(role).ConfigureAwait(false); return(await GetAsync(role.Id).ConfigureAwait(false)); }