// 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.")); }
//Rotina para recuperacao de senha do usuario public UtilRetorno recuperarSenha(string login) { var OUsuario = (from Usu in this.db.UsuarioSistema where Usu.login == login && Usu.dtExclusao == null select Usu).FirstOrDefault(); if (OUsuario == null) { return(UtilRetorno.newInstance(true, "Nenhum usuário encontrado com os dados informados.")); } if (OUsuario.ativo == "N") { return(UtilRetorno.newInstance(true, "O usuário vinculado à essa conta está desativado no momento, entre em contato com a administração.")); } string novaSenha = UtilString.randomString(8); OUsuario.senha = UtilCrypt.SHA512(novaSenha); OUsuario.flagAlterarSenha = "S"; db.SaveChanges(); IEnvioNovoUsuario OEmail = RecuperacaoSenhaUsuario.factory(OUsuario.idOrganizacao.toInt(), OUsuario.Pessoa.ToEmailsPessoa(), null); OEmail.enviar(OUsuario, novaSenha); return(UtilRetorno.newInstance(false, "Uma nova senha foi reenviada para os e-mails vinculados à essa conta.")); }
//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.")); }
//Geracao de uma nova senha para o usuario public UtilRetorno criarNovaSenha(int idUsuario) { var OUsuario = (from Usu in this.db.UsuarioSistema where Usu.id == idUsuario && Usu.dtExclusao == null select Usu).FirstOrDefault(); if (OUsuario == null) { return(UtilRetorno.newInstance(true, "Desculpe, esse usuário não pôde ser localizado.")); } string novaSenha = UtilString.randomString(8); OUsuario.senha = UtilCrypt.SHA512(novaSenha); OUsuario.flagAlterarSenha = "S"; db.SaveChanges(); IEnvioNovoUsuario OEmail = ReenvioSenhaUsuario.factory(OUsuario.idOrganizacao.toInt(), OUsuario.Pessoa.ToEmailsPessoa(), null); OEmail.enviar(OUsuario, novaSenha); return(UtilRetorno.newInstance(false, "Uma nova senha foi enviada para o e-mail vinculado à conta.")); }
//Inserir os dados para um novo associado //Gerar uma senha randômica para enviar para o cadastro do novo associado private bool inserir(Associado ODependenteAssociado) { ODependenteAssociado.setDefaultInsertValues(); ODependenteAssociado.Pessoa.setDefaultInsertValues(); ODependenteAssociado.Pessoa.listaEnderecos.ToList().ForEach(e => { e.setDefaultInsertValues(); }); ODependenteAssociado.Pessoa.listaEmails.ToList().ForEach(e => { e.setDefaultInsertValues(); }); ODependenteAssociado.Pessoa.listaTelefones.ToList().ForEach(e => { e.setDefaultInsertValues(); }); ODependenteAssociado.idTipoAssociado = ODependenteAssociado.idTipoAssociado.toInt(); ODependenteAssociado.nroAssociado = this.proximoId(); ODependenteAssociado.idUnidade = User.idUnidade() > 0 ? User.idUnidade() : ODependenteAssociado.idUnidade; string senha = UtilString.randomString(8); ODependenteAssociado.Pessoa.senha = UtilCrypt.SHA512(senha); db.Associado.Add(ODependenteAssociado); db.SaveChanges(); return(ODependenteAssociado.id > 0); }
//Inserir os dados para um novo associado //Gerar uma senha randômica para enviar para o cadastro do novo associado private bool inserir(Associado OAssociado) { OAssociado.setDefaultInsertValues(); OAssociado.Pessoa.setDefaultInsertValues(); OAssociado.Pessoa.listaEnderecos?.ForEach(e => { e.setDefaultInsertValues(); }); OAssociado.Pessoa.listaEmails?.ForEach(e => { e.setDefaultInsertValues(); }); OAssociado.Pessoa.listaTelefones?.ForEach(e => { e.setDefaultInsertValues(); }); OAssociado.idTipoAssociado = OAssociado.idTipoAssociado.toInt(); OAssociado.nroAssociado = !OAssociado.nroAssociado.isEmpty() ? OAssociado.nroAssociado : this.proximoId(OAssociado.idOrganizacao); OAssociado.nroDocumentoIndicador = UtilString.onlyNumber(OAssociado.nroDocumentoIndicador); OAssociado.idUnidade = User.idUnidade() > 0 ? User.idUnidade() : OAssociado.idUnidade; string senha = OAssociado.Pessoa.senha.isEmpty()? UtilString.randomString(8): OAssociado.Pessoa.senha; string senhaTransacao = OAssociado.senhaTransacao.isEmpty()? UtilString.randomString(8): OAssociado.senhaTransacao; OAssociado.Pessoa.senha = UtilCrypt.SHA512(senha); OAssociado.senhaTransacao = UtilCrypt.SHA512(senhaTransacao); if (!OAssociado.codigoIndicador.isEmpty()) { Associado Indicador = this.OAssociadoConsultaBL.queryNoFilter(OAssociado.idOrganizacao).Select(x => new{ x.id, x.idPessoa, x.idIndicador, x.idIndicadorSegundoNivel, x.idIndicadorTerceiroNivel, x.rotaConta, Pessoa = new{ x.Pessoa.nroDocumento } }) .FirstOrDefault(x => x.rotaConta == OAssociado.codigoIndicador) .ToJsonObject <Associado>() ?? new Associado(); OAssociado.idIndicador = Indicador.id; OAssociado.idIndicadorSegundoNivel = Indicador.idIndicador; OAssociado.idIndicadorTerceiroNivel = Indicador.idIndicadorSegundoNivel; } db.Associado.Add(OAssociado); db.SaveChanges(); return(OAssociado.id > 0); }
// 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.")); }
//Persistir e inserir um novo registro //Inserir Empresa, Pessoa e lista de Endereços vinculados private bool inserir(UsuarioSistema OUsuarioSistema) { string senha = UtilString.randomString(8); OUsuarioSistema.senha = UtilCrypt.SHA512(senha); OUsuarioSistema.flagAlterarSenha = "S"; OUsuarioSistema.setDefaultInsertValues(); OUsuarioSistema.Pessoa.setDefaultInsertValues(); OUsuarioSistema.Pessoa.listaEnderecos.ForEach(x => { x.setDefaultInsertValues(); x.idPais = "BRA"; x.idTipoEndereco = TipoEnderecoConst.PRINCIPAL; }); if (OUsuarioSistema.Pessoa.listaEnderecos != null && OUsuarioSistema.Pessoa.listaEnderecos.Count > 0) { OUsuarioSistema.Pessoa.listaEnderecos.ForEach((x) => x.setDefaultInsertValues()); OUsuarioSistema.Pessoa.listaEnderecos.ForEach((x) => x.idTipoEndereco = TipoEnderecoConst.PRINCIPAL); } db.UsuarioSistema.Add(OUsuarioSistema); db.SaveChanges(); bool flagCastrado = OUsuarioSistema.id > 0; if (flagCastrado) { IEnvioNovoUsuario OEmail = EnvioNovoUsuario.factory(OUsuarioSistema.idOrganizacao.toInt(), OUsuarioSistema.Pessoa.ToEmailsPessoa(), null); OEmail.enviar(OUsuarioSistema, senha); } return(OUsuarioSistema.id > 0); }
//Persistir e inserir um novo registro private bool inserir(CupomDesconto OCupomDesconto) { bool temCupom = false; while (!temCupom) { OCupomDesconto.codigo = UtilString.randomString(8); if (!db.CupomDesconto.Any(x => x.codigo == OCupomDesconto.codigo && x.flagExcluido == "N")) { temCupom = true; } } OCupomDesconto.setDefaultInsertValues <CupomDesconto>(); db.CupomDesconto.Add(OCupomDesconto); db.SaveChanges(); return(OCupomDesconto.id > 0); }
public ActionResult gerarSenhaAleatoria(AssociadoEnvioNovaSenhaForm ViewModel) { var senhaGerada = UtilString.randomString(6); return(Json(new { senhaGerada }, JsonRequestBehavior.AllowGet)); }