//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.")); }
// 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)); }