// 1 - Gerar uma nova senha para o não associado // 2 - Atualizar a senha no banco de dados // 3 - Chamar o serviço de envio de e-mail para comunicar a nova senha para o associado public UtilRetorno reenviarSenha(int idAssociado) { string novaSenha = UtilString.randomString(8); string novaSenhaCrypt = UtilCrypt.SHA512(novaSenha); Associado OAssociado = this.db.Associado.FirstOrDefault(x => x.id == idAssociado && x.dtExclusao == null); if (OAssociado == null) { return(UtilRetorno.newInstance(true, "O cadastro não foi localizado.")); } if (OAssociado.ativo == "N") { return(UtilRetorno.newInstance(true, "O Não Associado está desativado e não pode receber uma nova senha.")); } OAssociado.Pessoa.senha = novaSenhaCrypt; this.db.SaveChanges(); IEnvioSenhaAssociado EnvioEmail = EnvioSenhaAssociado.factory(OAssociado.idOrganizacao, OAssociado.Pessoa.emailPrincipal().ToOneList(), OAssociado.Pessoa.emailSecundario().ToOneList()); EnvioEmail.enviar(OAssociado, novaSenha); return(UtilRetorno.newInstance(false, "Foi gerada uma nova senha para e reenviada para os e-mails de cadastro.")); }
// 1 - Gerar uma nova senha para o associado // 2 - Atualizar a senha no banco de dados // 3 - Chamar o serviço de envio de e-mail para comunicar a nova senha para o associado public UtilRetorno reenviarSenha(int idAssociado) { string novaSenha = UtilString.randomString(8); string novaSenhaCrypt = UtilCrypt.SHA512(novaSenha); var query = this.db.Associado.Where(x => x.id == idAssociado && x.dtExclusao == null); query = query.condicoesSeguranca(); Associado OAssociado = query.FirstOrDefault(); if (OAssociado == null) { return(UtilRetorno.newInstance(true, "O associado não foi localizado.")); } if (OAssociado.ativo == "N") { return(UtilRetorno.newInstance(true, "O Associado está desativado e não pode receber uma nova senha.")); } if (OAssociado.Pessoa.login.isEmpty()) { return(UtilRetorno.newInstance(true, "O Associado não possui um login.")); } var listaEmails = OAssociado.Pessoa.ToEmailList(); if (!listaEmails.Any()) { return(UtilRetorno.newInstance(true, "Não pode ser localizado nenhum e-mail para o reenvio da senha.")); } OAssociado.Pessoa.senha = novaSenhaCrypt; this.db.SaveChanges(); IEnvioSenhaAssociado EnvioEmail = EnvioSenhaAssociado.factory(OAssociado.idOrganizacao, listaEmails, null); EnvioEmail.enviar(OAssociado, novaSenha); return(UtilRetorno.newInstance(false, "Foi gerada uma nova senha para e reenviada para os e-mails de cadastro do associado.")); }