[Route("atualizar")] //URL: /api/produto/atualizar public HttpResponseMessage Put(ProdutoEdicaoViewModel 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.Update(produto); //atualizando.. //retornar para o cliente um status de sucesso 200 return(Request.CreateResponse(HttpStatusCode.OK, "Produto atualizado 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 AtualizarProduto(ProdutoEdicaoViewModel model) { //verificar se não há erros de validação if (ModelState.IsValid) { try { //passando os dados da model para a entidade Produto produto = Mapper.Map <Produto>(model); //atualizando.. ProdutoBusiness business = new ProdutoBusiness(); business.Atualizar(produto); TempData["Mensagem"] = "Produto atualizado com sucesso."; return(RedirectToAction("Consulta", "Produto")); } catch (Exception e) { //mensagem de erro ViewBag.Mensagem = "Ocorreu um erro: " + e.Message; } } //retornando para a página return(View("Edicao")); }
public IActionResult Put([FromBody] ProdutoEdicaoViewModel model) { if (!ModelState.IsValid) //se não passaram nas regras de validação { return(BadRequest()); //Status de erro 400 } try { appService.Atualizar(model); return(Ok($"Produto '{model.Nome}', atualizado com sucesso.")); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
//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)); } }
public HttpResponseMessage Put(ProdutoEdicaoViewModel model) { if (ModelState.IsValid) { try { appService.Atualizar(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 de Servidor public IActionResult Update([FromBody] ProdutoEdicaoViewModel model, [FromServices] IProdutoService repository) { if (ModelState.IsValid) { try { Produto produtoAlterado = Mapper.Map <Produto>(model); repository.Editar(produtoAlterado); return(Ok());//200 } catch (Exception e) { return(StatusCode(500, e.Message));//500 } } return(BadRequest());//400 }
// GET: Produto/Edicao public ActionResult Edicao(int id) { //criando um objeto da classe de modelo ProdutoEdicaoViewModel model = new ProdutoEdicaoViewModel(); try { //buscar o estoque pelo id.. ProdutoBusiness business = new ProdutoBusiness(); Produto produto = business.ObterPorId(id); //transferir os dados de Produto para ProdutoEdicaoViewModel model = Mapper.Map <ProdutoEdicaoViewModel>(produto); } catch (Exception e) { ViewBag.Mensagem = "Ocorreu um erro: " + e.Message; } //enviando o objeto para a página return(View(model)); }
public HttpResponseMessage Put(ProdutoEdicaoViewModel model) { if (ModelState.IsValid) { try { appService.Atualizar(model); //HTTP 200 return(Request.CreateResponse(HttpStatusCode.OK)); } catch (Exception e) { //HTTP 500 return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message)); } } else { //HTTP 400 return(Request.CreateResponse(HttpStatusCode.BadRequest, ValidationUtil.GetErrorMessages(ModelState))); } }
public void Atualizar(ProdutoEdicaoViewModel model) { var p = Mapper.Map <Produto>(model); domain.Atualizar(p); }
public void Atualizar(ProdutoEdicaoViewModel model) { var produto = Mapper.Map <Produto>(model); domainService.Atualizar(produto); }