コード例 #1
0
        [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)));
            }
        }
コード例 #2
0
        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"));
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
        //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));
            }
        }
コード例 #5
0
ファイル: ProdutoController.cs プロジェクト: nelson1987/COTI
 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)));
 }
コード例 #6
0
        [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
        }
コード例 #7
0
        // 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));
        }
コード例 #8
0
        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)));
            }
        }
コード例 #9
0
        public void Atualizar(ProdutoEdicaoViewModel model)
        {
            var p = Mapper.Map <Produto>(model);

            domain.Atualizar(p);
        }
コード例 #10
0
        public void Atualizar(ProdutoEdicaoViewModel model)
        {
            var produto = Mapper.Map <Produto>(model);

            domainService.Atualizar(produto);
        }