public async Task <ActionResult <FornecedorModel> > Delete(int fornecedorId) { try { var fornecedor = await _fornecedorService.GetFornecedorByIdAsync(fornecedorId); if (fornecedor == null) { return(NotFound("Fornecedor não encontrado")); } _fornecedorService.Delete(fornecedor); if (await _fornecedorService.SaveChangesAsync()) { return(Ok()); } } catch (Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Falha no banco de dados - {ex.ToString()}")); } return(BadRequest("Falha ao deletar fornecedor")); }
public bool ExcluirFornecedor(Fornecedor fornecedor) { bool ret = true; if (fornecedor == null) { return(false); } if (fornecedor.FornecedorId == Guid.Empty) { return(false); } try { using (IDataContextAsync context = new PCFTIDataContext()) using (IUnitOfWorkAsync unitOfWork = new UnitOfWork(context)) { IRepositoryAsync <Fornecedor> fornecedorRepository = new Repository <Fornecedor>(context, unitOfWork); IFornecedorService fornecedorService = new FornecedorService(fornecedorRepository); fornecedor.ObjectState = INFRAESTRUTURA.TRANSVERSAL.Core.States.ObjectState.Deleted; fornecedorService.Delete(fornecedor.FornecedorId); unitOfWork.SaveChanges(); (new Execute()).Sistema.Versao.NovaVersaoParaExclusao(fornecedor); } } catch { ret = false; } return(ret); }