public async Task <IActionResult> PostRoleRouteAsync([FromBody] RoleForCreationUiModel roleForCreationUiModel) { var userAudit = await _inquiryUserProcessor.GetUserByLoginAsync(GetEmailFromClaims()); if (userAudit == null) { return(BadRequest()); } var newCreatedRole = await _createRoleProcessor.CreateRoleAsync(userAudit.Id, roleForCreationUiModel); switch (newCreatedRole.Message) { case ("SUCCESS_CREATION"): { Log.Information( $"--Method:PostRoleRouteAsync -- Message:ROLE_CREATION_SUCCESFULLY -- Datetime:{DateTime.Now} -- RoleInfo:{roleForCreationUiModel.Name}"); return(Created(nameof(PostRoleRouteAsync), newCreatedRole)); } case ("ERRR_ERROR_ALREADY_EXISTS"): { Log.Error( $"--Method:PostRoleRouteAsync -- Message:ERROR_ROLE_ALREADY_EXISTS -- Datetime:{DateTime.UtcNow} -- RoleInfo:{roleForCreationUiModel.Name}"); return(BadRequest(new { errorMessage = "ROLE_ALREADY_EXISTS" })); } case ("ERROR_ROLE_NOT_MADE_PERSISTENT"): { Log.Error( $"--Method:PostRoleRouteAsync -- Message:ERROR_ROLE_NOT_MADE_PERSISTENT -- Datetime:{DateTime.UtcNow} -- RoleInfo:{roleForCreationUiModel.Name}"); return(BadRequest(new { errorMessage = "ERROR_CREATION_NEW_ROLE" })); } case ("UNKNOWN_ERROR"): { Log.Error( $"--Method:PostRoleRouteAsync -- Message:ERROR_CREATION_NEW_ROLE -- Datetime:{DateTime.UtcNow} -- RoleInfo:{roleForCreationUiModel.Name}"); return(BadRequest(new { errorMessage = "ERROR_CREATION_NEW_ROLE" })); } } return(NotFound()); }
public Task <RoleCreationUiModel> CreateRoleAsync(Guid accountIdToCreateThisRole, RoleForCreationUiModel newRoleUiModel) { var response = new RoleCreationUiModel() { Message = "START_CREATION" }; if (newRoleUiModel == null) { response.Message = "ERROR_INVALID_ROLE_MODEL"; return(Task.Run(() => response)); } try { var roleToBeCreated = new Role(); roleToBeCreated.InjectWithInitialAttributes(newRoleUiModel); roleToBeCreated.InjectWithAudit(accountIdToCreateThisRole); ThrowExcIfRoleCannotBeCreated(roleToBeCreated); ThrowExcIfThisRoleAlreadyExist(roleToBeCreated); Log.Debug( $"Create Role: {newRoleUiModel.Name}" + "--CreateRole-- @NotComplete@ [CreateRoleProcessor]. " + "Message: Just Before MakeItPersistence"); MakeRolePersistent(roleToBeCreated); Log.Debug( $"Create Role: {newRoleUiModel.Name}" + "--CreateRole-- @NotComplete@ [CreateRoleProcessor]. " + "Message: Just After MakeItPersistence"); response = ThrowExcIfRoleWasNotBeMadePersistent(roleToBeCreated); response.Message = "SUCCESS_CREATION"; } catch (InvalidRoleException e) { response.Message = "ERROR_INVALID_ROLE_MODEL"; Log.Error( $"Create Role: {newRoleUiModel.Name}" + $"Error Message:{response.Message}" + "--CreateRole-- @NotComplete@ [CreateRoleProcessor]. " + $"Broken rules: {e.BrokenRules}"); } catch (RoleAlreadyExistsException ex) { response.Message = "ERRR_ROLE_ALREADY_EXISTS"; Log.Error( $"Create Role: {newRoleUiModel.Name}" + $"Error Message:{response.Message}" + "--CreateRole-- @fail@ [CreateRoleProcessor]. " + $"@innerfault:{ex?.Message} and {ex?.InnerException}"); } catch (RoleDoesNotExistAfterMadePersistentException exx) { response.Message = "ERROR_ROLE_NOT_MADE_PERSISTENT"; Log.Error( $"Create Role: {newRoleUiModel.Name}" + $"Error Message:{response.Message}" + "--CreateRole-- @fail@ [CreateRoleProcessor]." + $" @innerfault:{exx?.Message} and {exx?.InnerException}"); } catch (Exception exxx) { response.Message = "UNKNOWN_ERROR"; Log.Error( $"Create Role: {newRoleUiModel.Name}" + $"Error Message:{response.Message}" + $"--CreateRole-- @fail@ [CreateRoleProcessor]. " + $"@innerfault:{exxx.Message} and {exxx.InnerException}"); } return(Task.Run(() => response)); }
public virtual void InjectWithInitialAttributes(RoleForCreationUiModel newRoleUiModel) { this.Name = newRoleUiModel.Name; }