コード例 #1
0
        //Recuperacao de senha para o associado
        //Gerar uma nova senha e enviar para o e-mail do associado
        public UtilRetorno recuperarSenha(string login)
        {
            var query = from Ass in db.Associado
                        .Include(x => x.Pessoa)
                        where
                        (Ass.Pessoa.login == login || Ass.Pessoa.emailSecundario == login) &&
                        Ass.dtExclusao == null
                        select
                        Ass;

            var OAssociado = query.FirstOrDefault();

            if (OAssociado == null)
            {
                return(UtilRetorno.newInstance(true, "Desculpe, não foi localizado nenhum associado com os dados informados."));
            }

            if (OAssociado.ativo == "N")
            {
                return(UtilRetorno.newInstance(true, "Desculpe, os dados informados pertencem à um associado que está desativado."));
            }

            string novaSenha = UtilString.randomString(8);

            OAssociado.Pessoa.senha = UtilCrypt.SHA512(novaSenha);
            db.SaveChanges();

            var EnvioEmail = EnvioRecuperacaoSenha.factory(OAssociado.idOrganizacao, OAssociado.Pessoa.ToEmailList(), null);

            EnvioEmail.enviar(OAssociado, novaSenha);

            return(UtilRetorno.newInstance(false, "Geramos uma nova senha para sua conta com sucesso. Você irá recebê-la nos e-mails de seu cadastro em alguns instantes."));
        }
コード例 #2
0
        // 1 - Chamada do servico para disparo do e-mail
        private UtilRetorno enviarEmail(NotificacaoSistemaEnvio ONotificacaoSistemaEnvio, List <string> listaEmails)
        {
            IEnvioRecuperacaoSenha EnvioEmail = EnvioRecuperacaoSenha.factory(ONotificacaoSistemaEnvio.idOrganizacao, listaEmails, null);

            return(EnvioEmail.enviar(ONotificacaoSistemaEnvio));
        }