Beispiel #1
0
        // GET: simulado/candidato/alterarsenha/{token}
        public ActionResult AlterarSenha(string codigo)
        {
            var       model     = new CandidatoAlterarSenhaViewModel();
            Candidato candidato = Candidato.LerTokenParaAlterarSenha(codigo);

            if (candidato != null)
            {
                model.Cpf   = candidato.Cpf;
                model.Email = candidato.Email;
            }
            else
            {
                model.Mensagem = "Seu acesso está inválido. Solicite novamente em <b>Tenho Cadastro > Esqueci minha senha</b>.";
            }

            return(View(model));
        }
Beispiel #2
0
        public ActionResult AlterarSenha(string codigo, CandidatoAlterarSenhaViewModel model)
        {
            string    token     = Uri.UnescapeDataString(codigo);
            Candidato candidado = Candidato.LerTokenParaAlterarSenha(Criptografia.Base64Decode(token));

            if (candidado != null)
            {
                if (!StringExt.IsNullOrWhiteSpace(model.Cpf, model.Email, model.Senha, model.Confirmacao) &&
                    Valida.CPF(model.Cpf) &&
                    Valida.Email(model.Email) &&
                    model.Senha == model.Confirmacao)
                {
                    using (var contexto = new Contexto())
                    {
                        string    cpf = Formate.DeCPF(model.Cpf);
                        Candidato c   = contexto.Candidato.FirstOrDefault(cand => cand.Cpf == cpf);

                        if (c != null && c.Email.ToLower() == model.Email.ToLower())
                        {
                            if (c.Cpf == candidado.Cpf && c.Email.ToLower() == candidado.Email.ToLower())
                            {
                                c.Senha        = Criptografia.RetornarHash(model.Senha);
                                c.AlterarSenha = null;
                                model.Mensagem = "Senha alterada com sucesso.";
                                model.Ok       = true;
                                contexto.SaveChanges();
                                return(View(model));
                            }
                        }
                        else
                        {
                            model.Mensagem = "Não foi encontrado nenhum candidato para os dados informados.";
                        }
                    }
                }
                else
                {
                    model.Mensagem = "Todos os campos devem serem preenchidos com valores válidos.";
                }

                return(View(model));
            }
            return(RedirectToAction("Index"));
        }