public IHttpActionResult Post(Produto produto) { var response = _produtoRepository.CadastraProduto(produto); if (string.IsNullOrEmpty(response)) { return(Ok()); } return(Content(HttpStatusCode.BadRequest, response)); }
public IHttpActionResult PostProduto(Produto produto) { try { var retorno = _produtoRepository.CadastraProduto(produto); if (retorno != null) { return(BadRequest(retorno)); } return(Ok("Produto foi cadastrado com sucesso")); } catch { return(BadRequest("Algo deu errado!")); } }
public async Task <IActionResult> CadastraProduto(Produto p) { int id = (int)HttpContext.Session.GetInt32("id"); if (p.imagem is null) { ProdutoRepository produtoRepo = new ProdutoRepository(); produtoRepo.CadastraProduto(p, id); return(RedirectToAction("ListaProdutos", "Produto")); } long tamanhoArquivos = p.imagem.Sum(f => f.Length); // caminho completo do arquivo na localização temporária var caminhoArquivo = Path.GetTempFileName(); // processa os arquivo enviados //percorre a lista de arquivos selecionados foreach (var arquivo in p.imagem) { //verifica se existem arquivos if (arquivo == null || arquivo.Length == 0) { //retorna a viewdata com erro ViewData["Erro"] = "Error: Arquivo(s) não selecionado(s)"; return(Content("eerooo")); } // < define a pasta onde vamos salvar os arquivos > // string pasta = "Arquivos_Usuario"; // Define um nome para o arquivo enviado incluindo o sufixo obtido de milesegundos string nomeArquivo = "Usuario_arquivo_" + DateTime.Now.Millisecond.ToString(); //verifica qual o tipo de arquivo : jpg, gif, png, pdf ou tmp if (arquivo.FileName.Contains(".jpg")) { nomeArquivo += ".jpg"; } else if (arquivo.FileName.Contains(".gif")) { nomeArquivo += ".gif"; } else if (arquivo.FileName.Contains(".png")) { nomeArquivo += ".png"; } else if (arquivo.FileName.Contains(".pdf")) { nomeArquivo += ".pdf"; } else { nomeArquivo += ".tmp"; } //< obtém o caminho físico da pasta wwwroot > string caminho_WebRoot = _appEnvironment.WebRootPath; // monta o caminho onde vamos salvar o arquivo : // ~\wwwroot\Arquivos\Arquivos_Usuario\Recebidos string caminhoDestinoArquivo = caminho_WebRoot + "/img"; // incluir a pasta Recebidos e o nome do arquivo enviado : // ~\wwwroot\Arquivos\Arquivos_Usuario\Recebidos\ string caminhoDestinoArquivoOriginal = caminhoDestinoArquivo + "/produtos/" + nomeArquivo; //copia o arquivo para o local de destino original using (var stream = new FileStream(caminhoDestinoArquivoOriginal, FileMode.Create)) { await arquivo.CopyToAsync(stream); } ProdutoRepository produtoRepo = new ProdutoRepository(); produtoRepo.CadastraProduto(p, id, nomeArquivo); } //monta a ViewData que será exibida na view como resultado do envio ViewData["Resultado"] = $"{p.imagem.Count} arquivos foram enviados ao servidor, " + $"com tamanho total de : {tamanhoArquivos} bytes"; //retorna a viewdata return(RedirectToAction("ListaProdutos", "Produto")); }