public async Task <IActionResult> Post([FromBody] FormaPagamentoDto formaPagamentoDto) { try { var resultado = await _service.Salvar(formaPagamentoDto); return(CreatedAtAction(nameof(GetByCodigo), new { codigo = resultado.Codigo }, formaPagamentoDto)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <FormaPagamentoDto> Salvar(FormaPagamentoDto formaPagamentoDto) { FormaPagamento formaPagamento = await _repositorio.PegarPorCodigo(formaPagamentoDto.Codigo); FormaPagamento resultado; try { if (formaPagamento is null) { await JaExiste(formaPagamentoDto.Codigo, formaPagamentoDto.Nome); formaPagamento = new(formaPagamentoDto.Codigo, formaPagamentoDto.Nome, formaPagamentoDto.Ativo); resultado = await _repositorio.Adicionar(formaPagamento); if (resultado is null) { throw new Exception("Erro ao cadastrar, contate o administrador do sistema."); } return(formaPagamentoDto); } else { if (formaPagamento is null) { throw new Exception("Forma de pagamento não encontrada"); } formaPagamento.Nome = formaPagamentoDto.Nome; formaPagamento.Ativo = formaPagamentoDto.Ativo; resultado = await _repositorio.Atualizar(formaPagamento); if (resultado is null) { throw new Exception("Erro ao atualizar, contate o administrador do sistema."); } return(formaPagamentoDto); } } catch (Exception) { throw; } }
public async Task <IActionResult> Put([FromBody] FormaPagamentoDto formaPagamentoDto) { try { var formaPagamento = await _service.PegarPorCodigo(formaPagamentoDto.Codigo); if (formaPagamento is null) { return(NotFound()); } formaPagamento.Nome = formaPagamentoDto.Nome; formaPagamento.Ativo = formaPagamentoDto.Ativo; await _service.Salvar(formaPagamento); return(NoContent()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }