public async Task <ActionResult <FornecedorPessoaJuridicaModel> > PostPessoaJuridica(FornecedorPessoaJuridicaModel model, int empresaId) { try { var empresa = await _empresaService.GetEmpresaByIdAsync(empresaId); if (empresa == null) { return(NotFound("Empresa não encontrada")); } var fornecedor = _mapper.Map <Fornecedor>(model); if (_fornecedorService.FornecedorExistsOnEmpresa(fornecedor.CPFCNPJ, empresaId)) { return(BadRequest("CNPJ já cadastrado no sistema na empresa selecionada")); } empresa.Fornecedors.Add(fornecedor); if (await _fornecedorService.SaveChangesAsync()) { return(Created($"api/empresas/{fornecedor.FornecedorId}/fornecedores/{fornecedor.FornecedorId}", _mapper.Map <FornecedorPessoaJuridicaModel>(fornecedor))); } else { return(BadRequest("Falha ao adicionar um novo fornecedor")); } } catch (Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Falha no banco de dados - {ex.ToString()}")); } }
public async Task <ActionResult <FornecedorModel> > PutFornecedorPessoaJuridica(FornecedorPessoaJuridicaModel model, int fornecedorId) { try { var fornecedor = await _fornecedorService.GetFornecedorByIdAsync(fornecedorId); if (fornecedor == null) { return(NotFound("Fornecedor não encontrado")); } _mapper.Map(model, fornecedor); if (await _fornecedorService.SaveChangesAsync()) { return(_mapper.Map <FornecedorModel>(fornecedor)); } else { return(BadRequest("Falha ao atualizar fornecedor")); } } catch (Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Falha no banco de dados - {ex.ToString()}")); } }