Exemplo n.º 1
0
        public ActionResult EsqueceuSenha(CandidatoEsqueceuSenhaViewModel model)
        {
            if (!StringExt.IsNullOrWhiteSpace(model.Cpf, model.Email) && Valida.CPF(model.Cpf) && Valida.Email(model.Email))
            {
                Candidato c = Candidato.ListarPorCPF(Formate.DeCPF(model.Cpf));

                if (c != null && c.Email.ToLower() == model.Email.ToLower())
                {
                    string token = Candidato.GerarTokenParaAlterarSenha(c);
                    string url   = Url.Action("AlterarSenha", "Candidato", new { codigo = token }, Request.Url.Scheme);
                    EnviarEmail.SolicitarSenha(c.Email, c.Nome, url);
                    TempData["EsqueceuSenhaMensagem"] = $"Um email com instruções foi enviado para {c.Email}.";
                    return(RedirectToAction("EsqueceuSenha"));
                }
                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));
        }
Exemplo n.º 2
0
        public ActionResult Cadastrar(CandidatoCadastrarViewModel model)
        {
            if (!StringExt.IsNullOrWhiteSpace(model.Nome, model.Cpf, model.Email, model.Senha, model.SenhaConfirmacao))
            {
                if (model.SenhaConfirmacao == model.Senha)
                {
                    if (Valida.Email(model.Email))
                    {
                        model.Cpf = Formate.DeCPF(model.Cpf);
                        if (Candidato.ListarPorCPF(model.Cpf) == null)
                        {
                            if (model.Cpf.Length == 11 && Valida.CPF(model.Cpf))
                            {
                                var c = new Candidato()
                                {
                                    Nome  = model.Nome,
                                    Cpf   = model.Cpf,
                                    Email = model.Email,
                                    Senha = Criptografia.RetornarHash(model.Senha)
                                };

                                Candidato.Inserir(c);
                                Sessao.Inserir("SimuladoCandidato", c);

                                EnviarEmail.Cadastro(c.Email, c.Nome);

                                return(RedirectToAction("Perfil"));
                            }
                            else
                            {
                                model.Mensagem = "Informe um CPF válido.";
                            }
                        }
                        else
                        {
                            model.Mensagem = "Este CPF já está cadastrado.";
                        }
                    }
                    else
                    {
                        model.Mensagem = "Informe um email válido.";
                    }
                }
                else
                {
                    model.Mensagem = "Senha de Confirmação diferente da Senha informada.";
                }
            }
            else
            {
                model.Mensagem = "Todos os campos são obrigatórios.";
            }
            return(View(model));
        }
Exemplo n.º 3
0
        public ActionResult Perfil(string codigo, CandidatoPerfilViewModel model)
        {
            if (codigo == Sessao.Candidato.Cpf)
            {
                Candidato c = Candidato.ListarPorCPF(Sessao.Candidato.Cpf);

                if (!string.IsNullOrWhiteSpace(model.Nome))
                {
                    c.Nome = model.Nome;
                }

                if (!string.IsNullOrWhiteSpace(model.Email))
                {
                    c.Email = model.Email;
                }

                if (model.RgDtExpedicao != null && !string.IsNullOrWhiteSpace(model.RgOrgao) && model.RgNumero > 0)
                {
                    c.RgDtExpedicao = model.RgDtExpedicao;
                    c.RgNumero      = model.RgNumero;
                    c.RgOrgao       = model.RgOrgao;
                }

                if (model.DtNascimento.HasValue)
                {
                    c.DtNascimento = model.DtNascimento.Value;
                }

                if (model.Sexo != null)
                {
                    c.Sexo = model.Sexo;
                }

                if (!string.IsNullOrWhiteSpace(model.TelefoneCelular) || !string.IsNullOrWhiteSpace(model.TelefoneFixo))
                {
                    c.TelefoneCelular = model.TelefoneCelular;
                    c.TelefoneFixo    = model.TelefoneFixo;
                }

                if (model.Municipio > 0)
                {
                    c.Municipio = Municipio.ListarPorCodigo(model.Pais, model.Estado, model.Municipio);
                }

                c.FlagAdventista = model.Adventista;

                c.FlagNecessidadeEspecial = model.NecessidadeEspecial;

                if (model.NecessidadeEspecial)
                {
                    c.DescricaoNecessidadeEspecial = model.DescricaoNecessidadeEspecial;
                }
                else
                {
                    c.DescricaoNecessidadeEspecial = null;
                }

                Repositorio.Commit();
            }

            if (!String.IsNullOrWhiteSpace(Request.QueryString["inscricao"]))
            {
                return(RedirectToAction("Confirmar", "Inscricao", new { codigo = Request.QueryString["inscricao"] }));
            }

            return(RedirectToAction("Perfil", "Candidato", new
            {
                codigo = ""
            }));
        }