public ActionResult CadastrarProduto(ProdutoCadastroViewModel model) { //verificando se as validações estão corretas if (ModelState.IsValid) { try { // SAIDA ENTRADA Produto produto = Mapper.Map <Produto>(model); //gravar.. ProdutoBusiness business = new ProdutoBusiness(); business.Cadastrar(produto); ViewBag.Mensagem = "Produto cadastrado com sucesso."; ModelState.Clear(); //limpar os campos do formulário } catch (Exception e) { ViewBag.Mensagem = "Ocorreu um erro: " + e.Message; } } //nome da página return(View("Cadastro", new ProdutoCadastroViewModel())); }
[Route("cadastrar")] //URL: /api/produto/cadastrar public HttpResponseMessage Post(ProdutoCadastroViewModel viewModel) { //verificar se não há erros de validação na classe de modelo if (ModelState.IsValid) { try { var produto = Mapper.Map <Produto>(viewModel); repository.Add(produto); //gravando.. //retornar para o cliente um status de sucesso 200 return(Request.CreateResponse(HttpStatusCode.OK, "Produto cadastrado com sucesso.")); } catch (Exception e) { //retornar para o cliente um status de erro 500 return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Ocorreu um erro: " + e.Message)); } } else { //retornar para o cliente um status de erro 400 return(Request.CreateResponse(HttpStatusCode.BadRequest, ValidationUtil.GetErrorMessages(ModelState))); } }
public ActionResult CadastrarProduto(ProdutoCadastroViewModel model) { if (ModelState.IsValid) { try { var produto = Mapper.Map <Produto>(model); business.Cadastrar(produto); ViewData["Mensagem"] = "Produto cadastrado com sucesso."; ModelState.Clear(); } catch (Exception e) { ViewData["Mensagem"] = e.Message; } } try { //recarregar a model com o dropdownlist model = CarregarDropDownListsParaCadastro(); } catch (Exception e) { ViewData["Mensagem"] = e.Message; } return(View("Cadastro", model)); }
public HttpResponseMessage Post(ProdutoCadastroViewModel model) { //verificar se os dados da Model estão válidos if (ModelState.IsValid) { try { //realiza o cadastro appService.Cadastrar(model); //retornar status de sucesso HTTP 200 return(Request.CreateResponse(HttpStatusCode.OK)); } catch (Exception e) { //retorna erro HTTP 500 (Erro Interno de Servidor) return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message)); } } else { //retorna erro HTTP 400 (Erro de Requisição Inválida) return(Request.CreateResponse(HttpStatusCode.BadRequest, ValidationUtil.GetErrorMessages(ModelState))); } }
//Método auxiliar.. private static ProdutoCadastroViewModel CarregarDropDownListsParaCadastro() { var model = new ProdutoCadastroViewModel(); var estoqueBusiness = new EstoqueBusiness(); model.Estoques = Mapper.Map <List <SelectListItem> > (estoqueBusiness.ObterTodos() .OrderBy(e => e.Nome)); return(model); }
// GET: Produto/Cadastro public ActionResult Cadastro() { ProdutoCadastroViewModel model = null; try { model = CarregarDropDownListsParaCadastro(); } catch (Exception e) { ViewData["Mensagem"] = e.Message; } return(View(model)); }
public IActionResult Post([FromBody] ProdutoCadastroViewModel model) { if (!ModelState.IsValid) //se não passaram nas regras de validação { return(BadRequest()); //Status de erro 400 } try { appService.Cadastrar(model); return(Ok($"Produto '{model.Nome}', cadastrado com sucesso.")); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
[ProducesResponseType(500)] //Erro Interno de Servidor public IActionResult Create([FromBody] ProdutoCadastroViewModel model, [FromServices] IProdutoService repository) { if (ModelState.IsValid) { try { Produto produtoCadastro = Mapper.Map <Produto>(model); repository.Cadastrar(produtoCadastro); return(Ok());//200 } catch (Exception e) { return(StatusCode(500, e.Message));//500 } } return(BadRequest());//400 }
//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 HttpResponseMessage Post(ProdutoCadastroViewModel model) { if (ModelState.IsValid) { try { appService.Cadastrar(model); //200 - Sucesso - OK return(Request.CreateResponse(HttpStatusCode.OK)); } catch (Exception ex) { //500 - Erro de Aplicação - Internal Server Error return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } } //400 - Requisição inválida - Bad Request return(Request.CreateResponse(HttpStatusCode.BadRequest, ValidationUtil.GetErrorMessages(ModelState))); }
[ProducesResponseType(500)] //Erro interno public IActionResult POST([FromBody] ProdutoCadastroViewModel model, [FromServices] ProdutoRepository repository) { if (ModelState.IsValid) { try { Produto produto = Mapper.Map <Produto>(model); repository.Insert(produto); return(Ok()); //200 } catch (Exception e) { return(StatusCode(500, e.Message)); //500 } } else { return(BadRequest()); //400 } }
public IActionResult Put([FromBody] ProdutoCadastroViewModel model) { if (ModelState.IsValid) { try { var produto = Mapper.Map <Produto>(model); business.Atualizar(produto); return(Ok($"Produto {produto.Nome}, atualizado com sucesso")); } catch (Exception e) { return(StatusCode(500, e.Message)); } } else { return(BadRequest()); } }
public JsonResult CadastrarProduto(ProdutoCadastroViewModel model) { try { //Classe que contém minhas operações de crud... ProdutoRepository rep = new ProdutoRepository(); Produto p = new Produto(); p.Nome = model.Nome; p.Preco = model.Preco; p.Quantidade = model.Quantidade; rep.Insert(p); return(Json("Produto cadastrado com sucesso.")); } catch (Exception e) { return(Json("Erro ao cadastrar produto: " + e.Message)); } }
public JsonResult CadastrarProduto(ProdutoCadastroViewModel Model) { try { Produto p = new Produto(); p.Nome = Model.Nome; p.Preco = Model.Preco; p.Quantidade = Model.Quantidade; ProdutoRepository rep = new ProdutoRepository(); rep.Insert(p); return(Json("Produto Cadastrado com sucesso")); } catch (Exception e) { return(Json(e.Message)); } }
public HttpResponseMessage Post(ProdutoCadastroViewModel model) { try { if (ModelState.IsValid) { Produto p = new Produto(); p.Nome = model.Nome; p.Quantidade = model.Quantidade; p.Preco = model.Quantidade; repository.Insert(p); return(Request.CreateResponse(HttpStatusCode.OK, "Produto cadastrado com sucesso.")); } else { Hashtable erros = new Hashtable(); foreach (var m in ModelState) { if (m.Value.Errors.Count > 0) { erros[m.Key] = m.Value.Errors.Select(e => e.ErrorMessage); } } return(Request.CreateResponse(HttpStatusCode.BadRequest, erros)); } } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message)); } }
public void Cadastrar(ProdutoCadastroViewModel model) { var p = Mapper.Map <Produto>(model); domain.Cadastrar(p); }
public void Cadastrar(ProdutoCadastroViewModel model) { var produto = Mapper.Map <Produto>(model); domainService.Cadastrar(produto); }