public ActionResult Cadastro(ProdutoCadastroModel model) { if (ModelState.IsValid) { try { Produto produto = new Produto(); produto.Nome = model.Nome; produto.Preco = model.Preco; produto.Quantidade = model.Quantidade; produto.IdEstoque = model.IdEstoque; ProdutoBusiness business = new ProdutoBusiness(); business.CadastrarProduto(produto); TempData["Mensagem"] = $"Produto ' {produto.Nome} ' , cadastrado com sucesso."; ModelState.Clear(); } catch (Exception e) { TempData["Mensagem"] = e.Message; } } return(View(new ProdutoCadastroModel())); }
//método que será executado pela chamada AJAX feita na página public JsonResult CadastrarProduto(ProdutoCadastroViewModel model) { //verificar se os dados da model passaram nas regras de validação if (ModelState.IsValid) { try { Produto produto = new Produto(); produto.Nome = model.Nome; produto.Preco = model.Preco; produto.Quantidade = model.Quantidade; ProdutoBusiness business = new ProdutoBusiness(); business.CadastrarProduto(produto); return(Json($"Produto {produto.Nome}, cadastrado 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)); } }
public JsonResult <bool> Cadastrar(ViewModelCadastroProduto vm_cadastro_produto) { ProdutoBusiness produto_busines = new ProdutoBusiness(); return(Json(produto_busines.CadastrarProduto(vm_cadastro_produto))); }