public async Task <BaseResponse> Inserir(RequestLivro request) { try { _logger.LogInformation("Iniciando cadastro do livro."); var valid = await ValidarRequest(new LivroValidator(), request); if (valid != null) { return(valid); } var entity = _mapper.Map <Livro>(request); entity.DataCadastro = DateTime.Now; var response = await ObterStatusCode( "Livro cadastrado com sucesso.", StatusCodes.Status201Created, _mapper.Map <ResponseLivro>(await _livroRepository.Inserir(entity))); _logger.LogInformation("Fim do cadastro do livro."); return(response); } catch (Exception ex) { return(await ObterStatusCode("Erro ao cadastrar o livro", StatusCodes.Status400BadRequest, null, ex)); } }
public async Task <IActionResult> Atualizar(RequestLivro livro) => await TratarResultadoAsync(async() => { var resultado = await _livroService.Atualizar(livro); return(new ObjectResult(resultado) { StatusCode = resultado.StatusCode }); });
public LivroControllerTest() { _fixture = new Fixture(); _request = _fixture.Create <RequestLivro>(); _response = _fixture.Create <BaseResponse>(); _service = Substitute.For <ILivroService>(); _logger = Substitute.For <ILogger <LivroController> >(); _controller = new LivroController(_service, _logger); }
public LivroServiceTest() { _fixture = new Fixture(); _logger = Substitute.For <ILogger <LivroService> >(); _mapper = Substitute.For <IMapper>(); _repository = Substitute.For <ILivroRepository>(); _configuration = Substitute.For <IConfiguration>(); _baseResponse = _fixture.Create <BaseResponse>(); _livro = _fixture.Create <Livro>(); _listaLivro = _fixture.Create <IEnumerable <Livro> >(); _requestLivro = _fixture.Create <RequestLivro>(); _responseLivro = _fixture.Create <ResponseLivro>(); _service = new LivroService(_repository, _mapper, _logger, _configuration); }
public async Task <BaseResponse> Atualizar(RequestLivro request) { try { _logger.LogInformation("Iniciando atualização do livro."); var valid = await ValidarRequest(new LivroValidator(), request); if (valid != null) { return(valid); } if (await _livroRepository.LivroCadastrado(request.Id)) { var entity = await _livroRepository.ObterPorId(request.Id); var livro = _mapper.Map <Livro>(request); livro.DataAlteracao = DateTime.Now; livro.DataCadastro = entity.DataCadastro; var response = await ObterStatusCode( "Livro atualizado com sucesso.", StatusCodes.Status200OK, _mapper.Map <ResponseLivro>(await _livroRepository.Atualizar(livro))); _logger.LogInformation("Fim da atualização do livro."); return(response); } else { return(await ObterStatusCode("Livro informado não localizado.", StatusCodes.Status400BadRequest)); } } catch (Exception ex) { return(await ObterStatusCode("Erro ao atualizar o livro", StatusCodes.Status400BadRequest, null, ex)); } }
public LivroValidatorTest() { _fixture = new Fixture(); _validator = new LivroValidator(); _request = _fixture.Create <RequestLivro>(); }