public async Task <ActionResult> Put(int id, Produto produto) { // Se o id do objeto não existir, ele retorna erro 400 if (id != produto.IdProduto) { return(NotFound(new { mensagem = "Não é possível encontrar este produto." })); } try { await _repositorio.Alterar(produto); } catch (DbUpdateConcurrencyException) { // Verificamos se o objeto inserido realmente existe no banco var produto_valido = await _repositorio.BuscarPorId(id); if (produto_valido == null) { return(NotFound(new { mensagem = "Não é possível alterar este produto." })); } else { throw; } } // NoContent = retorna 204, sem nada return(NoContent()); }
public JsonResult Alterar(Produto produto) { var alterou = repository.Alterar(produto); var resultado = new { status = alterou }; return(Json(resultado, JsonRequestBehavior.AllowGet)); }
public ActionResult Edit(Produto objProdutoEdit) { try { if (ModelState.IsValid) { ProdutoRepository objProduto = new ProdutoRepository(); if (objProduto.Alterar(objProdutoEdit) == 1) { return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "Ocorreu um erro ao alterar o produto."); } } } catch { ModelState.AddModelError("", "Não foi possível alterar o produto."); } return(View(objProdutoEdit)); }
public async Task <ActionResult> Put(int id, Produto produto) { if (id != produto.ProdutoId) { return(BadRequest(new{ mensagem = "Erro na validação de produto por ID" })); } try { await repositorio.Alterar(produto); } catch (DbUpdateConcurrencyException ex) { var produto_valido = await repositorio.BuscarPorId(id); if (produto_valido == null) { return(NotFound(new{ mensagem = "Nenhum produto encontrado para o ID informado" })); } else { return(BadRequest(new{ mensagem = "Erro na alteração de dados por ID" + ex })); } } return(Accepted()); }
public JsonResult Update(Produto produto) { var alterou = repository.Alterar(produto); var resultado = new { status = alterou }; return(Json(resultado)); }
public async Task <ActionResult> Put(int id, [FromForm] Produto produto) { // Se o id do objeto não existir, ele retorna erro 400 if (id != produto.IdProduto) { return(NotFound(new { mensagem = "Não é possível alterar este produto." })); } try { //alteração if (Request.Form.Files.Count != 0) { var arquivo = Request.Form.Files[0]; produto.Imagem = _upRepositorio.Upload(arquivo, "Resources/Images"); await _repositorio.Alterar(produto); } else { Produto produtoCadastrado = await _repositorio.BuscarPorId(int.Parse(Request.Form["IdProduto"])); produto.Imagem = produtoCadastrado.Imagem; await _repositorio.Alterar(produto); } } catch (DbUpdateConcurrencyException) { // Verificamos se o objeto inserido realmente existe no banco var produto_valido = await _repositorio.BuscarPorId(id); if (produto_valido == null) { return(NotFound(new { mensagem = "Não é possível alterar este produto." })); } else { throw; } } // NoContent = retorna 204, sem nada return(NoContent()); }
public void AlterarProduto(ProdutoDTO produto) { using (IProdutoRepository ProdutoRepository = new ProdutoRepository()) { Produto produtoEntity = ProdutoRepository.ObterPeloId(produto.Id); produtoEntity = _conversorEntityDTO.Value.Converter <ProdutoDTO, Produto>(produto, produtoEntity); ProdutoRepository.Alterar(produtoEntity); } }
public async Task <ActionResult> Put(int id, [FromForm] AlteraProdutoViewModel produto) { //Se o Id do objeto não existir //ele retorna o erro 400 // if (id != produto.ProdutoId) { // return BadRequest (); // } if (produto.Nome == null && produto.ImagemProduto == null) { return(NoContent()); } var produtoid = await _repositorio.BuscarPorID(id); //Comparamos os atributos que foram modificados atraves do EF if (produtoid == null) { return(NotFound( new { Mensagem = "Produto Não Encontrada", Erro = true } )); } var ProdutoAlterado = VerificaAlteracaoProduto(produtoid, produto); try { // await _repositorio.Alterar(produto); var ret = await _repositorio.Alterar(ProdutoAlterado); return(Ok( new{ Mensagem = "Produto alterado com sucesso", Erro = false } )); } catch (DbUpdateConcurrencyException) { //Verificamos se o objeto realmente existe no banco var produto_valido = await _repositorio.BuscarPorID(id); if (produto_valido == null) { return(NotFound()); } else { throw; } } // NoContent = retorna o erro 204, sem nada // return NoContent (); }
public async Task <ActionResult> Put(int id, [FromForm] Produto Produto) { //Se o Id do objeto não existir //ele retorna 400 if (id != Produto.IdProduto) { return(BadRequest( new { Mensagem = "Id incompatível, Não foi possível fazer a atualização" } )); } try { if (Request.Form.Files.Count != 0) { var imagem = Request.Form.Files[0]; Produto.ImgProduto = _UploadImg.Upload(imagem, "Produtos"); } else { Produto produtoCadastrado = await _repositorio.BuscarPorID(int.Parse(Request.Form["IdProduto"])); Produto.ImgProduto = produtoCadastrado.ImgProduto; } Produto.NomeProduto = Request.Form["NomeProduto"].ToString(); Produto.Disponibilidade = decimal.Parse(Request.Form["Disponibilidade"]); Produto.DescricaoProduto = Request.Form["DescricaoProduto"].ToString(); Produto.Organico = bool.Parse(Request.Form["Organico"]); Produto.Preco = decimal.Parse(Request.Form["Preco"]); Produto.Validade = DateTime.Parse(Request.Form["Validade"]); await _repositorio.Alterar(Produto); } catch (DbUpdateConcurrencyException) { //Verificamos se o objeto inserido realmente existe no banco var Produto_valido = await _repositorio.BuscarPorID(id); if (Produto_valido == null) { return(NotFound( new { Mensagem = "Não foi possível obter as informações" } )); } else { throw; } } //NoContent = Retorna 204, sem nada return(NoContent()); }
public ActionResult Alterar(Produto produto) { if (ModelState.IsValid) { _repository = new ProdutoRepository(); _repository.Alterar(produto); TempData["Mensagem"] = string.Format($"{produto.Nome} foi alterado com sucesso."); return(RedirectToAction("Index")); } return(View(produto)); }
/// <summary> /// Alteração de Produtos /// </summary> /// <param name="alteracao"></param> /// <returns></returns> public bool Alterar(AlteracaoProdutoDto alteracao) { if (alteracao is null) { throw new Exception("Produto inválido!"); } var produto = AutoMapper <AlteracaoProdutoDto> .CopyTo <Produto>(alteracao); var produtoBd = Obter(produto.IdProduto); if (!string.IsNullOrWhiteSpace(produto.Descricao)) { produtoBd.Descricao = produto.Descricao.Trim(); } if (produto.Valor > 0) { produtoBd.Valor = produto.Valor; } if (produto.Imagem != null && produto.Imagem.Length > 0) { produtoBd.Imagem = produto.Imagem; } if (!string.IsNullOrWhiteSpace(produto.TipoImagem)) { produtoBd.TipoImagem = produto.TipoImagem; } if (!produtoBd.IsValid(new ProdutoValidator(), out var errors)) { throw new Exception(string.Join(",", errors)); } if (_repository.VerificarProdutoExiste(produto.IdProduto)) { return(_repository.Alterar(produtoBd)); } throw new Exception("Produto não encontrado!"); }
public async Task <ActionResult> Put(int id, Produto produto) { if (id != produto.IdProduto) { return(BadRequest()); } try { await _repositorio.Alterar(produto); } catch (DbUpdateConcurrencyException) { var produto_valido = await _repositorio.BuscarPorID(id); if (produto_valido == null) { return(NotFound(new { mensagem = "Produto não valido", Erro = true })); } else { throw; } } return(Ok("Não foi possivel realizar o cadastro")); }
public IActionResult Edicao(EditarProdutoModel model) { if (ModelState.IsValid) { try { var produto = new Produto(); produto.IdProduto = model.IdProduto; produto.Nome = model.Nome; produto.Quantidade = model.Quantidade; produto.Preco = model.Preco; var produtoRepository = new ProdutoRepository(); produtoRepository.Alterar(produto); TempData["Mensagem"] = "Produto alterado com sucesso"; } catch (Exception e) { TempData["Mensagem"] = "Ocorreu um erro: " + e.Message; } } return(View()); }
public async Task <ActionResult> Put(int id, Produto produto) { if (id != produto.IdProduto) { return(BadRequest()); } _contexto.Entry(produto).State = EntityState.Modified; try{ await _repositorio.Alterar(produto); }catch (DbUpdateConcurrencyException) { var produto_valido = await _repositorio.BuscarPorID(id); if (produto_valido == null) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <Produto> > Put(int id, Produto produto) { if (id != produto.IdProduto) { return(BadRequest()); } try { await _repositorio.Alterar(produto); } catch (DbUpdateConcurrencyException) { var categoria_valida = await _repositorio.BuscarPorID(id); if (produto == null) { return(NotFound("Produto não encontrado")); } else { throw; } } return(produto); }
///<summary></summary> public static void AlterarProduto() { string nome; ProdutoViewModel produtoASerAlterado = new ProdutoViewModel(); ProdutoViewModel produtoJaAlterado = new ProdutoViewModel(); do { System.Console.Write("Nome do produto a ser alterado: "); nome = Console.ReadLine(); if (!ValidacaoUtil.ValidarNome(nome)) { Mensagem.MostrarMensagem("Digite um nome de produto válido", TipoMensagemEnum.ALERTA); } } while (!ValidacaoUtil.ValidarNome(nome)); produtoASerAlterado = ProdutoRepository.BuscarProdutoPorNome(nome); produtoJaAlterado = produtoASerAlterado; //Mostrando dados do produto e perguntando qual informação alterar. bool rodar = true; do { Console.Clear(); System.Console.WriteLine($"______________________________\nId: {produtoASerAlterado.Id}\nNome: {produtoASerAlterado.Nome}\nCategoria: {produtoASerAlterado.Categoria} \nDescrição: {produtoASerAlterado.Descricao}\nPreço: {produtoASerAlterado.Preco}\nData de criação: {produtoASerAlterado.DataCriacao}\n______________________________"); MenuUtils.MostrarMenuAlterarProduto(); MenuAlterarProduto opcao = ((MenuAlterarProduto)Enum.Parse(typeof(MenuAlterarProduto), Console.ReadLine())); switch (opcao) { case MenuAlterarProduto.NOME: do { System.Console.Write("Digite um novo nome para o produto: "); produtoJaAlterado.Nome = Console.ReadLine(); if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Nome)) { Mensagem.MostrarMensagem("O nome não pode ficar vazia.", TipoMensagemEnum.ALERTA); } } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Nome)); break; case MenuAlterarProduto.CATEGORIA: do { System.Console.Write("Digite uma nova categoria para o produto: "); produtoJaAlterado.Categoria = Console.ReadLine(); if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Categoria)) { Mensagem.MostrarMensagem("A categoria não pode ficar vazia", TipoMensagemEnum.ALERTA); } } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Categoria)); break; case MenuAlterarProduto.DESCRICAO: do { System.Console.Write("Digite uma nova descrição para o produto: "); produtoJaAlterado.Descricao = Console.ReadLine(); if (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Descricao)) { Mensagem.MostrarMensagem("A descrição não pode ficar vazia.", TipoMensagemEnum.ALERTA); } } while (!ValidacaoUtil.ValidarNome(produtoJaAlterado.Descricao)); break; case MenuAlterarProduto.PRECO: do { System.Console.Write("Digite um novo preço para o produto (Apenas números): "); string precoCapturado = Console.ReadLine(); if (!ValidacaoUtil.ValidarPreco(precoCapturado, produtoASerAlterado.Preco)) { Mensagem.MostrarMensagem("Preço inválido", TipoMensagemEnum.ERRO); } produtoJaAlterado.Preco = float.Parse(precoCapturado); } while (!ValidacaoUtil.ValidarPreco(produtoJaAlterado.Preco)); break; case MenuAlterarProduto.SAIR: rodar = false; break; } ProdutoRepository.Alterar(produtoASerAlterado, produtoJaAlterado); Mensagem.MostrarMensagem("Produto alterado com sucesso!", TipoMensagemEnum.SUCESSO); } while (rodar == true); if (produtoASerAlterado == null) { Mensagem.MostrarMensagem("O produto desejado não existe.", TipoMensagemEnum.ERRO); } }