Beispiel #1
0
        [HttpPut] //Requisição HTTP PUT
        public HttpResponseMessage Put(DependenteEdicaoViewModel model)
        {
            //verificando se a model passou nas regras de validação
            if (ModelState.IsValid)
            {
                try
                {
                    //converter objeto ViewModel em entidade
                    var dependente = Mapper.Map <Dependente>(model);
                    business.Atualizar(dependente);

                    return(Request.CreateResponse(HttpStatusCode.OK,
                                                  "Dependente atualizado com sucesso."));
                }
                catch (Exception e)
                {
                    //retornar status de erro 500 INTERNAL SERVER ERROR
                    return(Request.CreateResponse
                               (HttpStatusCode.InternalServerError, e.Message));
                }
            }
            else
            {
                //retornar status de erro 400 BAD REQUEST
                return(Request.CreateResponse(HttpStatusCode.BadRequest,
                                              ValidationUtil.GetErrors(ModelState)));
            }
        }
        [HttpPost] //recebe o SUBMIT do formulário..
        public ActionResult Edicao(DependenteEdicaoViewModel model)
        {
            if (ModelState.IsValid) //passou nas validações?
            {
                try
                {
                    Dependente d = new Dependente();
                    d.Funcionario = new Funcionario();

                    d.IdDependente              = model.IdDependente;
                    d.Nome                      = model.Nome;
                    d.DataNascimento            = model.DataNascimento;
                    d.Funcionario.IdFuncionario = model.IdFuncionario;

                    business.Atualizar(d); //atualizando..

                    ViewBag.Mensagem = "Dependente atualizado com sucesso.";
                }
                catch (Exception e)
                {
                    //exibir mensagem de erro..
                    ViewBag.Mensagem = e.Message;
                }
            }

            return(View(new DependenteEdicaoViewModel())); //instanciando..
        }
        [HttpPut] //requisições do tipo PUT
        public HttpResponseMessage Put(DependenteEdicaoViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    //transferir os dados da model para entidade
                    var dependente = Mapper.Map <Dependente>(model);
                    //TODO..

                    return(Request.CreateResponse(HttpStatusCode.OK,
                                                  $"Dependente {model.Nome}, atualizado com sucesso."));
                }
                catch (Exception e)
                {
                    //erro HTTP 500 -> INTERNAL SERVER ERROR
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError,
                                                  "Erro interno de servidor: " + e.Message));
                }
            }
            else
            {
                //erro HTTP 400 -> BAD REQUEST
                return(Request.CreateResponse(HttpStatusCode.BadRequest,
                                              "Ocorreram erros de validação."));
            }
        }
        // GET: Dependente/Edicao
        public ActionResult Edicao(int id)
        {
            //criando um objeto da classe model..
            DependenteEdicaoViewModel model = new DependenteEdicaoViewModel();

            try
            {
                //buscar o dependente pelo id..
                Dependente d = business.ObterPorId(id);

                model.IdDependente   = d.IdDependente;
                model.Nome           = d.Nome;
                model.DataNascimento = d.DataNascimento;
                model.IdFuncionario  = d.Funcionario.IdFuncionario;
            }
            catch (Exception e)
            {
                ViewBag.Mensagem = e.Message;
            }

            //enviando..
            return(View(model));
        }