// 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 enviarLinkSenha(int idAssociado, string linkRecuperacao = "") { var query = this.db.Associado.Where(x => x.id == idAssociado && x.dtExclusao == null); query = query.condicoesSeguranca(); Associado OAssociado = query.Select(x => new{ x.id, x.idOrganizacao, x.ativo, Pessoa = new{ x.Pessoa.nome, listaEmails = x.Pessoa.listaEmails.Where(e => e.email != null && e.dtExclusao == null) } }).FirstOrDefault().ToJsonObject <Associado>(); if (OAssociado == null) { return(UtilRetorno.newInstance(true, "O cadastro informado não foi localizado.")); } if (OAssociado.ativo == "N") { return(UtilRetorno.newInstance(true, "O cadastro 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.")); } IEnvioLinkSenha EnvioEmail = EnvioLinkSenha.factory(OAssociado.idOrganizacao, listaEmails, null); EnvioEmail.enviar(OAssociado, linkRecuperacao); return(UtilRetorno.newInstance(false, "Foi enviado um link para o e-mail de cadastro, através dele será possível criar uma nova senha.")); }
// 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 não associado public UtilRetorno enviarLinkSenha(int idAssociado) { Associado OAssociado = this.db.Associado.FirstOrDefault(x => x.id == idAssociado && x.dtExclusao == null); if (OAssociado == null) { return(UtilRetorno.newInstance(true, "O cadastro informado 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.")); } IEnvioLinkSenha EnvioEmail = EnvioLinkSenha.factory(OAssociado.idOrganizacao, OAssociado.Pessoa.emailPrincipal().ToOneList(), null); EnvioEmail.enviar(OAssociado); return(UtilRetorno.newInstance(false, "Foi enviado um link para o e-mail do não associado, através dele será possível criar uma nova senha.")); }