public ActionResult Edit(EleitorViewModel model) { Eleitor eleitor = eleitorServico.FindById(model.EleitorId); //trago do banco os dados do eleitor if (model.SenhaAntiga != null) //vejo se a senha antiga foi digitada { if (eleitorServico.VerificarSenha(model.EleitorId, Criptografia.GetMD5Hash(model.SenhaAntiga))) //testo se está correta { ModelState.AddModelError("SenhaAntiga", "Senha incorreta."); //se estiver errada retorna o erro na tela } else // se estiver certa insere a nova senha no eleitor { eleitor.Senha = Criptografia.GetMD5Hash(model.SenhaNova); } } if (ModelState.IsValid) { //vou atualizando os dados eleitor.Nome = model.Nome; eleitor.Sobrenome = model.Sobrenome; eleitor.Email = model.Email; eleitor.TituloEleitor = model.TituloEleitor; eleitor.CPF = model.CPF; eleitor.DataNascimento = model.DataNascimento; if (Request.Files[0].FileName != "") //verifico se o file name eh diferente da url(por default eh a url mesmo sem upar foto) { model.Foto = Request.Files[0]; //pego a foto que foi upada string path = HttpContext.Server.MapPath("~/Imagens/Eleitor/"); model.Foto.SaveAs(path + eleitor.Foto); //salvo ela em cima da outra } eleitorServico.Edit(eleitor); EnderecoServico endServico = new EnderecoServico();//instancio o servico //busco o endereco pelo id do eleitor Endereco endereco = endServico.GetAll().Where(m => m.EleitorId == eleitor.EleitorId).FirstOrDefault(); Eleitor eleitorAtualizado = eleitorServico.FindById(eleitor.EleitorId); //Atualizo a sessao no navegador Session["SessionEleitor"] = eleitorAtualizado; return(RedirectToAction("PerfilEleitor", "Eleitor")); } return(View(model)); }