public async Task <IActionResult> Delete(string nomeArquivo, [FromBody] DeletaRevisaoViewModel revisaoVm)
        {
            try
            {
                var usuario = ObterUsuario();

                var revisao = new Revisao
                {
                    Id            = revisaoVm.Id,
                    AssinanteId   = usuario.Id,
                    StatusRevisao = revisaoVm.StatusRevisao,
                    ArquivoRef    = revisaoVm.ArquivoRef,
                    Arquivo       = new Arquivo
                    {
                        TipoArquivo = revisaoVm.Arquivo.TipoArquivo,
                        Nome        = revisaoVm.Arquivo.Nome,
                        Url         = revisaoVm.Arquivo.Url
                    }
                };

                Usuario usrArquivo;

                if (revisao.Arquivo.TipoArquivo == TipoArquivo.Correcao)
                {
                    usrArquivo = new Usuario {
                        Id = revisao.RevisorId
                    };
                }
                else
                {
                    usrArquivo = new Usuario {
                        Id = revisao.AssinanteId
                    };
                }

                await _uploadFile.DeleteFileAsync(usrArquivo, nomeArquivo);

                if (!String.IsNullOrEmpty(revisao.ArquivoRef))
                {
                    await _uploadFile.DeleteFileAsync(new Usuario { Id = revisao.RevisorId }, revisao.ArquivoRef);
                }

                var resp = await _revisaoRepository.DeletarAsync(revisao);

                if (resp.HasError)
                {
                    return(BadRequest(resp.ErrorMessages));
                }
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(BadRequest(e.Message));
            }

            return(Ok());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Deletar(int id)
        {
            try
            {
                var produtoResult = await _produtoRepository.GetById(id);

                if (produtoResult != null)
                {
                    foreach (var foto in produtoResult.Foto)
                    {
                        _uploadSystem.DeleteFileAsync(foto.Foto, Functions.GetPathUploadProdutos());
                    }
                    await _produtoRepository.Deletar(produtoResult);

                    var produtoVm = new ProdutoViewModel
                    {
                        Produtos = await _produtoRepository.GetAll(1, 6),
                        Mensagem = "Produto Deletado com sucesso!"
                    };

                    return(Json(produtoVm));
                }

                var errors = new ErroViewModel {
                    Erros = "Produto não encontrado"
                };

                return(Json(errors));
            }
            catch (Exception e)
            {
                return(Json("error", e.Message));
            }
        }
        public async Task <IActionResult> Delete(string keyName)
        {
            try
            {
                await _uploadFile.DeleteFileAsync(keyName);
            }
            catch (Exception e)
            {
                _log.LogError(e.Message);
                return(BadRequest(e.Message));
            }

            return(Ok());
        }
        public async Task <IActionResult> Delete(int id, [FromBody] PostagemViewModel postagemVm)
        {
            if (postagemVm == null)
            {
                return(BadRequest("Parâmetro nulo"));
            }

            if (postagemVm.Id <= 0)
            {
                return(BadRequest("Identificador inválido"));
            }

            var postagem = new Postagem();

            postagem.Id        = postagemVm.Id;
            postagem.UrlImagem = postagemVm.UrlImagem;

            var usuario = ObterUsuario();

            if (!String.IsNullOrEmpty(postagem.UrlImagem))
            {
                Uri uri;

                if (!Uri.TryCreate(postagem.UrlImagem, UriKind.Absolute, out uri))
                {
                    uri = new Uri(postagem.UrlImagem);
                }

                string fileName = Path.GetFileName(uri.LocalPath);
                await _uploadFile.DeleteFileAsync(usuario, fileName);
            }

            var response = await _repository.ExcluirAsync(postagem);

            if (response.HasError)
            {
                return(BadRequest(response.ErrorMessages));
            }

            return(Ok(response.Return));
        }