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"));
        }
Exemplo n.º 2
0
        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);
        }