public ActionResult Edicao(ProdutoEdicaoModel model) { if (ModelState.IsValid) { try { Produto produto = new Produto(); produto.IdProduto = model.IdProduto; produto.Nome = model.Nome; produto.Preco = model.Preco; produto.Quantidade = model.Quantidade; produto.IdEstoque = model.IdEstoque; ProdutoBusiness business = new ProdutoBusiness(); business.AtualizarProduto(produto); ModelState.Clear(); TempData["Mensagem"] = $"Produto {produto.Nome} atualizado com sucesso"; return(RedirectToAction("Consulta")); } catch (Exception e) { TempData["Mensagem"] = e.Message; } } return(View(new ProdutoEdicaoModel())); }
public async Task <IActionResult> AtualizarProduto(ProdutoEntity produto) { bool atualizou = _produtoBusiness.AtualizarProduto(produto); if (atualizou == true) { return(RedirectToAction("Obter", "Produto")); } else { return(View(produto.ErrosProdutos)); } }
//método que será executado pela chamada AJAX feita na página public JsonResult AtualizarProduto(ProdutoEdicaoViewModel model) { //verificar se os dados da model passaram nas regras de validação if (ModelState.IsValid) { try { Produto produto = new Produto(); produto.IdProduto = model.IdProduto; produto.Nome = model.Nome; produto.Preco = model.Preco; produto.Quantidade = model.Quantidade; ProdutoBusiness business = new ProdutoBusiness(); business.AtualizarProduto(produto); return(Json($"Produto {produto.Nome}, atualizado com sucesso.")); } catch (Exception e) { Response.StatusCode = 500; //INTERNAL SERVER ERROR return(Json(e.Message)); } } else { //forçar o JsonResult a retornar um status de erro //para a função JQUERY... Response.StatusCode = 400; //BAD REQUEST //retornar as mensagens de erro de validação List <string> erros = new List <string>(); foreach (var state in ModelState) { if (state.Value.Errors.Count > 0) { erros.Add(state.Value.Errors .Select(e => e.ErrorMessage) .FirstOrDefault()); } } return(Json(erros)); } }