[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)); }