コード例 #1
0
        protected void BtnEnviar_Click(object sender, EventArgs e)
        {
            MODUsuario                  usuario                  = new MODUsuario();
            MODUsuario                  retorno                  = new MODUsuario();
            MODRecuperaSenha            recuperaSenha            = new MODRecuperaSenha();
            MODRecuperacaoSenha_Usuario recuperacaoSenha_Usuario = new MODRecuperacaoSenha_Usuario();

            Criptografia cripto     = new Criptografia();
            EnviaEmail   enviaEmail = new EnviaEmail();

            try
            {
                usuario.Login = TxtLogin.Text.Trim();
                retorno       = BLLUsuario.PesquisarLogin(usuario);
                usuario.Email = retorno.Email;

                PegaLogin.AtribuiLogin(TxtLogin.Text.Trim());

                string senha = GeradorSenhaAleatoria.GeraSenha();

                recuperaSenha.CodigoRecuperacao = cripto.criptografia(senha);
                recuperaSenha.Ativo             = 's';

                BLLRecuperacaoSenha.Inserir(recuperaSenha);

                recuperacaoSenha_Usuario.FkRecuperacao = BLLRecuperacaoSenha.recuperaId();
                recuperacaoSenha_Usuario.FkUsuario     = usuario.Login;
                recuperacaoSenha_Usuario.DataAlteracao = System.DateTime.Now;

                BLLRecuperacaoSenha_Usuario.Inserir(recuperacaoSenha_Usuario);

                enviaEmail.EnvioEmailRecuperacao(usuario.Email, senha, usuario.Login);

                Response.Write("<script>alert('O código de acesso foi enviado ao seu email com sucesso!');</script>");
                Response.Redirect("../Pages/InserirCodigoRecuperacao.aspx");
            }
            catch (Exception)
            {
                Response.Write("<script>alert('Erro ao enviar!');</script>");
                throw;
            }
        }
コード例 #2
0
        protected void BtnCadastrar_Click(object sender, EventArgs e)
        {
            MODUsuario   usuario    = new MODUsuario();
            Criptografia cripto     = new Criptografia();
            EnviaEmail   enviaEmail = new EnviaEmail();

            List <MODUsuario> checaEmail = new List <MODUsuario>();

            if (TxtEmail.Text.Trim() == "" || TxtEmail.Text.Length > 50)
            {
                LblResposta.Text = Erros.EmailVazio;
            }
            else if (TxtNome.Text.Trim() == "" || TxtNome.Text.Length > 50)
            {
                LblResposta.Text = Erros.NomeVazio;
            }
            else if (TxtProntuario.Text.Trim() == "" || TxtProntuario.Text.Length > 15)
            {
                LblResposta.Text = Erros.LoginVazio;
            }
            else
            {
                try
                {
                    usuario.Login        = TxtProntuario.Text.Trim();
                    usuario.Nome         = TxtNome.Text.Trim();
                    usuario.Email        = TxtEmail.Text.Trim();
                    usuario.Imagem       = "Imagens/usuario.png";
                    usuario.DataCadastro = Convert.ToDateTime(DateTime.Now.ToShortDateString());

                    if (TxtTipoUsuario.SelectedValue == "Administrador")
                    {
                        usuario.FkTipo = 1;
                    }
                    else
                    {
                        usuario.FkTipo = 2;
                    }

                    string senha = GeradorSenhaAleatoria.GeraSenha();

                    usuario.Senha          = cripto.criptografia(senha);
                    usuario.FkStatus       = 1;
                    usuario.PrimeiroAcesso = 's';

                    checaEmail = BLLUsuario.Pesquisar(usuario, "email");

                    if (checaEmail.Count > 0)
                    {
                        LblResposta.Text = "Endereço de Email já cadastrado anteriormente";
                    }
                    else
                    {
                        BLLUsuario.Inserir(usuario);

                        enviaEmail.EnvioEmail(usuario.Email, usuario.Nome, senha, usuario.Login);

                        LblResposta.Text = "Usuário cadastrado com sucesso!";
                    }
                }
                catch (Exception)
                {
                    Response.Write("<script>alert('Erro ao inserir!');</script>");
                    throw;
                }
            }
        }
コード例 #3
0
        public ActionResult GeraSenha(CadastraSenha cadastraSenha)
        {
            if (ModelState.IsValid)
            {
                var response        = Request["g-recaptcha-response"];
                var secretKey       = "6LfsAD4UAAAAAGW_7DCXe5bmCeqQ5a3Rq3iyR7Vv";
                var client          = new WebClient();
                var recaptcha       = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secretKey, response));
                var objetoRecaptcha = JObject.Parse(recaptcha);
                var sucesso         = (bool)objetoRecaptcha.SelectToken("success");

                if (!sucesso)
                {
                    ModelState.AddModelError("UsuarioInvalido", "Marque a opção \"Não sou um robô.\"");
                    return(View("Index"));
                }

                var pessoa = pessoaDAO.BuscaPessoaAtivaPorCpfCnpj(cadastraSenha.Cpf) ?? pessoaDAO.BuscaPessoaComAcessosMultiplosPorCpfCnpj(cadastraSenha.Cpf);
                if (pessoa == null)
                {
                    ModelState.AddModelError("UsuarioInvalido", "O CPF informado não possui conta ativa no sistema. Entre em contato com o Clube...");
                    return(View("Index"));
                }

                var contato = contatoDAO.BuscaContatoEmailPorPessoa(pessoa.Id);
                if (string.IsNullOrEmpty(contato.Contatos))
                {
                    ModelState.AddModelError("UsuarioInvalido", "O usuário não possui e-mail cadastrado. Favor, ligar para o Clube e cadastrar um e-mail válido.");
                    return(View("Index"));
                }

                var novaSenha = GeradorSenhaAleatoria.GerarSenha();
                var usuario   = portalUsuarioDAO.BuscaUsuarioPorIdPessoa(pessoa.Id);
                if (usuario.IdPessoa <= 0)
                {
                    var incluir = portalUsuarioDAO.IncluirUsuario(pessoa, novaSenha);
                    if (!incluir)
                    {
                        ModelState.AddModelError("UsuarioInvalido", "Ocorreu um erro ao incluir o usuário. Tente novamente...");
                        return(View("Index"));
                    }
                }
                else
                {
                    var alterar = portalUsuarioDAO.AlterarSenha(usuario.IdPessoa, novaSenha);
                    if (!alterar)
                    {
                        ModelState.AddModelError("UsuarioInvalido", "Ocorreu um erro ao alterar a senha. Tente novamente...");
                        return(View("Index"));
                    }
                }

                var html = new StringBuilder();
                html.Append("<!DOCTYPE html>");
                html.Append("<html>");
                html.Append("<head>");
                html.Append("  <meta charset='utf-8' />");
                html.Append("</head>");
                html.Append("<body>");
                html.Append("  <p>");
                html.Append("    Nova Senha: " + novaSenha);
                html.Append("  </p>");
                html.Append("</body>");
                html.Append("</html>");

                var mail = new MailMessage();
                mail.From = new MailAddress("*****@*****.**", "Clube Conteza (Gerenciador)");
                mail.To.Add(new MailAddress(contato.Contatos));
                mail.Subject    = "Nova Senha (Clube Conteza)";
                mail.IsBodyHtml = true;
                mail.Body       = html.ToString();

                var smtp = new SmtpClient();
                smtp.Host        = "email-ssl.com.br";
                smtp.Port        = 587;
                smtp.EnableSsl   = true;
                smtp.Credentials = new NetworkCredential("*****@*****.**", "2016@ral");

                try
                {
                    smtp.Send(mail);
                }
                catch (Exception)
                {
                    ModelState.AddModelError("UsuarioInvalido", "Falha ao enviar o e-mail. Tente novamente...");
                    return(View("Index"));
                }
                finally
                {
                    smtp.Dispose();
                }

                return(RedirectToAction("Index", "Login"));
            }
            else
            {
                return(View("Index"));
            }
        }