コード例 #1
0
        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));
        }