public async Task <IActionResult> GetUser([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest()); } GetUserRequest request = new GetUserRequest() { Id = id }; // We check if the user exists. ExistsUserRequest existsRequest = new ExistsUserRequest() { Id = request.Id }; var exists = await _mediator.Send(existsRequest); if (!exists) { return(StatusCode(StatusCodes.Status404NotFound, "The user was not found.")); } var user = await _mediator.Send(request); return(Ok(user)); }
public async Task <IActionResult> DeleteUser([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest()); } // We check if the user exists. ExistsUserRequest existsRequest = new ExistsUserRequest() { Id = id }; var exists = await _mediator.Send(existsRequest); if (!exists) { return(StatusCode(StatusCodes.Status404NotFound, "The user was not found.")); } DeleteUserRequest request = new DeleteUserRequest() { Id = id }; // Removing the user, this is a hard remove, we could create // a soft if we can create a UNDO method. var deletedId = await _mediator.Send(request); return(Ok(deletedId)); }
public async Task <IActionResult> GetAge([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest()); } // We check if the user exists. ExistsUserRequest existsRequest = new ExistsUserRequest() { Id = id }; var exists = await _mediator.Send(existsRequest); if (!exists) { return(StatusCode(StatusCodes.Status404NotFound, "The user was not found.")); } var request = new GetUserRequest() { Id = id }; // This is just to test the get age with the default datetime provider. var user = await _mediator.Send(request); return(Ok(user.GetAge(_dateTimeProvider))); }
public async Task <IActionResult> UpdateUser([FromBody] UpdateUserRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } // We check if the user exists. ExistsUserRequest existsRequest = new ExistsUserRequest() { Id = request.Id }; var exists = await _mediator.Send(existsRequest); if (!exists) { return(StatusCode(StatusCodes.Status404NotFound, "The user was not found.")); } // Custom validation if (request.Name.ToLower() == "Javier") { return(StatusCode(481, "The name is reserved.")); } var id = await _mediator.Send(request); return(Ok(id)); }