Ejemplo n.º 1
0
        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()));
        }
Ejemplo n.º 2
0
        [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)));
            }
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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)));
            }
        }
Ejemplo n.º 5
0
        //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);
        }
Ejemplo n.º 6
0
        // GET: Produto/Cadastro
        public ActionResult Cadastro()
        {
            ProdutoCadastroViewModel model = null;

            try
            {
                model = CarregarDropDownListsParaCadastro();
            }
            catch (Exception e)
            {
                ViewData["Mensagem"] = e.Message;
            }

            return(View(model));
        }
Ejemplo n.º 7
0
        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));
            }
        }
Ejemplo n.º 8
0
 [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));
            }
        }
Ejemplo n.º 10
0
 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)));
 }
Ejemplo n.º 11
0
 [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
     }
 }
Ejemplo n.º 12
0
 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());
     }
 }
Ejemplo n.º 13
0
        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));
            }
        }
Ejemplo n.º 14
0
        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));
            }
        }
Ejemplo n.º 15
0
        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));
            }
        }
Ejemplo n.º 16
0
        public void Cadastrar(ProdutoCadastroViewModel model)
        {
            var p = Mapper.Map <Produto>(model);

            domain.Cadastrar(p);
        }
Ejemplo n.º 17
0
        public void Cadastrar(ProdutoCadastroViewModel model)
        {
            var produto = Mapper.Map <Produto>(model);

            domainService.Cadastrar(produto);
        }