public async Task <ActionResult <RegBookResponseObj> > CheckInBook([FromBody] OrderObj requestObj) { OrderCommand command = _mapper.Map <OrderCommand>(requestObj); var response = await _mediator.Send(command); if (response.OrderId < 1 || !response.Status.IsSuccessful) { return(BadRequest(response)); } var locatioUri = _uriService.GetBookUri(response.OrderId.ToString()); return(Created(locatioUri, response)); }
public async Task <IActionResult> Create([FromBody] CreateBookRequest req) { _logger.LogInformation("Requisitando criação de livro..."); _logger.LogInformation("Dados da requisição: {req}", JsonConvert.SerializeObject(req)); var newBook = _mapper.Map <Book>(req); var result = await _bookService .AddBookAsync(newBook) .ConfigureAwait(false); if (!result) { _logger.LogWarning("Erro ao tentar inserir livro. " + "Aplicação encerrou a requisição com o status {statusCode}", HttpStatusCode.BadRequest); return(BadRequest()); } var uri = _uriService .GetBookUri(newBook.BookId.ToString()); _logger.LogInformation("Novo livro inserido!"); return(Created(uri, _mapper.Map <BookResponse>(newBook))); }