// 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); }
/// <summary> /// /// </summary> private string montarParametrosPersonalizados(EventoInscricao OInscricao) { var i = UtilCrypt.toBase64Encode(OInscricao.id.toInt()); var icr = UtilCrypt.SHA512(OInscricao.id.toInt().ToString()); string linkCertificado = ConfiguracaoLinkBaseBL.linkAreaAssociado(OInscricao.idOrganizacao, $"EventosPro/EventoCertificadoAcesso/index?i={i}&icr={icr}"); Dictionary <string, string> personalizacaoParams = new Dictionary <string, string>(); personalizacaoParams.Add("#LINK_CERTIFICADO#", linkCertificado); personalizacaoParams.Add("#TITULO_EVENTO#", OInscricao.Evento.titulo); personalizacaoParams.Add("#NOME_INSCRITO#", OInscricao.nomeInscrito); string infosPersonalizadas = JsonConvert.SerializeObject(personalizacaoParams, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); return(infosPersonalizadas); }
public bool cryptSenha(int id, string senhaClean) { if (id == 0) { return(false); } if (senhaClean.isEmpty()) { return(false); } db.Associado.Where(x => id == x.id) .Update( x => new Associado { senhaTransacao = UtilCrypt.SHA512(senhaClean) } ); return(true); }
//Login para o associado na área institucional public Associado login(string login, string senha, int idTipoCadastro, int?idOrganizacaoParam = null) { if (idOrganizacaoParam == 0) { idOrganizacaoParam = idOrganizacao; } string cryptSenha = UtilCrypt.SHA512(senha); string loginCPF = login.onlyNumber(); var loginNumerico = loginCPF.toInt(); var query = from Ass in db.Associado .Include(x => x.Pessoa) .Include(x => x.PlanoCarreira) where ( Ass.Pessoa.login == login || (Ass.Pessoa.nroDocumento == loginCPF && !string.IsNullOrEmpty(loginCPF)) || (Ass.nroAssociado == loginNumerico && loginNumerico > 0) ) && Ass.Pessoa.senha == cryptSenha && Ass.dtExclusao == null && Ass.idTipoCadastro == idTipoCadastro && Ass.ativo != "N" && Ass.Pessoa.flagExcluido == "N" select Ass; if (idOrganizacaoParam > 0) { query = query.Where(x => x.idOrganizacao == idOrganizacaoParam); } var OAssociado = query.FirstOrDefault(); return(OAssociado); }
//Alteracao de senha solicitada pelo usuario public UtilRetorno alterarSenha(int idAssociado, string senhaAtual, string novaSenha, bool flagValidarSenhaAtual = true, int?idOrganizacaoParam = null) { if (idOrganizacao > 0 && idOrganizacaoParam == null) { idOrganizacaoParam = idOrganizacao; } var query = from Ass in db.Associado .Include(x => x.Pessoa) where Ass.id == idAssociado && 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.")); } query = query.Where(x => x.idOrganizacao == idOrganizacaoParam); if (!UtilCrypt.SHA512(senhaAtual).Equals(OAssociado.Pessoa.senha) && flagValidarSenhaAtual) { return(UtilRetorno.newInstance(true, "A senha atual informada está incorreta.")); } OAssociado.Pessoa.senha = UtilCrypt.SHA512(novaSenha); db.SaveChanges(); //Assinatura e disparo do evento this.onSenhaAlterada.subscribe(new OnSenhaAlteradaHandler()); this.onSenhaAlterada.publish((OAssociado as object)); return(UtilRetorno.newInstance(false, "A senha foi alterada com sucesso!")); }
//Inserir os dados para um novo não associado //Gerar uma senha randômica para enviar para o cadastro do novo não associado private bool inserir(Associado ONaoAssociado) { ONaoAssociado.setDefaultInsertValues(); ONaoAssociado.Pessoa.login = ONaoAssociado.Pessoa.login.ToLower(); ONaoAssociado.Pessoa.setDefaultInsertValues(); ONaoAssociado.Pessoa.listaEnderecos.ForEach(e => { e.setDefaultInsertValues(); }); ONaoAssociado.idTipoAssociado = UtilNumber.toInt32(ONaoAssociado.idTipoAssociado); ONaoAssociado.ativo = "S"; string senha = ONaoAssociado.Pessoa.senha; ONaoAssociado.Pessoa.senha = UtilCrypt.SHA512(senha); db.Associado.Add(ONaoAssociado); db.SaveChanges(); return(ONaoAssociado.id > 0); }
/// <summary> /// /// </summary> public virtual UtilRetorno validaSenha(MovimentoOperacaoDTO Transacao) { var senhaTransacao = Transacao.MembroOrigem.senhaTransacao; if (senhaTransacao.isEmpty()) { return(UtilRetorno.newInstance(true, "A conta informada não possui senha de transação configurada.")); } if (Transacao.tk.isEmpty()) { return(UtilRetorno.newInstance(true, "A senha de confirmação da transação não foi informada.")); } string senhaEnviada = UtilCrypt.SHA512(Transacao.tk); if (!senhaEnviada.Equals(senhaTransacao)) { return(UtilRetorno.newInstance(true, "A senha de transação informada é inválida.")); } return(UtilRetorno.newInstance(false, "")); }
public ActionResult visualizarAdmissao(string id) { var paramId = UtilString.decodeURL(id); var decryptId = Convert.ToInt32(UtilCrypt.toBase64Decode(paramId)); var ONaoAssociado = this.ONaoAssociadoBL.carregar(decryptId).condicoesSeguranca().FirstOrDefault(); if (ONaoAssociado == null) { return(HttpNotFound()); } NaoAssociadoImpressao ViewModel = null; if (ONaoAssociado.Pessoa.flagTipoPessoa == "F") { ViewModel = new NaoAssociadoImpressaoPF(); } if (ONaoAssociado.Pessoa.flagTipoPessoa == "F") { ViewModel = new NaoAssociadoImpressaoPJ(); } ViewModel.NaoAssociado = ONaoAssociado; ViewModel.carregarCampos(); ViewModel.NaoAssociado.Pessoa.limparListas(); ViewModel.OFichaCadastral = this.getLayoutFichaCadastral(ViewModel.NaoAssociado.Pessoa.flagTipoPessoa); ViewModel.montarHtmlFicha(); return(View("imprimir-admissao", ViewModel)); }
// public UtilRetorno validarParametrosAcesso(string idOrganizacaoBase64, string idOrganizacaoSha512, string idAssociadoBase64, string idAssociadoSha512) { if (idOrganizacaoBase64.isEmpty() || idAssociadoBase64.isEmpty()) { return(new UtilRetorno { flagError = true, listaErros = new List <string> { "Parâmetros inválidos!" } }); } string idOrganizacaoParam = UtilCrypt.toBase64Decode(idOrganizacaoBase64); string idAssociadoParam = UtilCrypt.toBase64Decode(idAssociadoBase64); if (idOrganizacaoSha512 != UtilCrypt.SHA512(idOrganizacaoParam)) { return(new UtilRetorno { flagError = true, listaErros = new List <string> { "Parâmetros inválidos!" } }); } if (idAssociadoSha512 != UtilCrypt.SHA512(idAssociadoParam)) { return(new UtilRetorno { flagError = true, listaErros = new List <string> { "Parâmetros inválidos!" } }); } return(new UtilRetorno { flagError = false }); }
// public static MvcHtmlString linkRecibo(this HtmlHelper helper, int idAssociadoContribuicao, string textoLink, string cssClass = "") { var urlHelper = new UrlHelper(helper.ViewContext.RequestContext); var linkHref = urlHelper.Action("exibir-recibo", "ReciboContribuicao", new { area = "Recibos", i = UtilCrypt.toBase64Encode(idAssociadoContribuicao) }); TagBuilder htmlLink = new TagBuilder("a"); htmlLink.Attributes.Add("href", linkHref); htmlLink.Attributes.Add("target", "_blank"); htmlLink.Attributes.Add("title", "Visualizar recibo de pagamento."); htmlLink.Attributes.Add("data-toggle", "tooltip"); htmlLink.InnerHtml = textoLink; if (!string.IsNullOrEmpty(cssClass)) { htmlLink.AddCssClass(cssClass); } return(new MvcHtmlString(htmlLink.ToString())); }
public ActionResult imprimirCarteirinha(int id) { var OAssociado = this.OAssociadoBL.carregar(id); if (OAssociado == null) { this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Não foi possível emitir a carteirinha para este associado."); return(View()); } if (!OAssociado.dtAdmissao.HasValue) { this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Não é possível imprimir carteirinha para associados que não foram admitidos."); return(View()); } if (OAssociado.ativo == "N") { this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Não é possível imprimir carteirinha para associados desativados."); return(View()); } var OFoto = this.OArquivoUploadFotoBL.carregarPrincipal(id, EntityTypes.FOTO_ASSOCIADO); var ConfiguracaoCarteirinha = ConfiguracaoCarteirinhaBL.getInstance.carregar(OAssociado.idOrganizacao) ?? new ConfiguracaoCarteirinha(); var htmlCarteirinha = ConfiguracaoCarteirinha.htmlCarteirinha; var qtdeMesesValidade = ConfiguracaoCarteirinha.qtdeMesesValidade ?? 1; var dtValidadeFixa = ConfiguracaoCarteirinha.dtValidadeFixa.exibirData(); var OConfiguracaoTipoAssociado = OConfiguracaoTipoAssociadoBL.carregar(OAssociado.idTipoAssociado, OAssociado.idOrganizacao) ?? new ConfiguracaoTipoAssociado(); if (!OConfiguracaoTipoAssociado.htmlCarteirinha.isEmpty()) { htmlCarteirinha = OConfiguracaoTipoAssociado.htmlCarteirinha; qtdeMesesValidade = OConfiguracaoTipoAssociado.qtdeMesesValidade ?? 1; dtValidadeFixa = OConfiguracaoTipoAssociado.dtValidadeFixa.exibirData(); } var sexo = ""; if (!OAssociado.Pessoa.flagSexo.isEmpty()) { sexo = (OAssociado.Pessoa.flagSexo == "M") ? "Masculino" : "Feminino"; } if (OFoto != null) { OFoto.path = OFoto.linkImagem(); htmlCarteirinha = htmlCarteirinha.Replace("##PATH_IMAGEM##", OFoto.path); } htmlCarteirinha = htmlCarteirinha.Replace("##ID_ASSOCIADO##", OAssociado.nroAssociado > 0? OAssociado.nroAssociado.ToString(): OAssociado.id.ToString()); htmlCarteirinha = htmlCarteirinha.Replace("##DT_ADMISSAO##", OAssociado.dtAdmissao.exibirData()); htmlCarteirinha = htmlCarteirinha.Replace("##DT_NASCIMENTO##", OAssociado.Pessoa.dtNascimento.exibirData()); htmlCarteirinha = htmlCarteirinha.Replace("##VALIDADE##", String.Concat(qtdeMesesValidade, " meses")); htmlCarteirinha = htmlCarteirinha.Replace("##VALIDADE_FIXA##", dtValidadeFixa); htmlCarteirinha = htmlCarteirinha.Replace("##DADOS_CUSTOMIZADO_01##", OAssociado.dadoCustomizado01); htmlCarteirinha = htmlCarteirinha.Replace("##DADOS_CUSTOMIZADO_02##", OAssociado.dadoCustomizado02); htmlCarteirinha = htmlCarteirinha.Replace("##DADOS_CUSTOMIZADO_03##", OAssociado.dadoCustomizado03); htmlCarteirinha = htmlCarteirinha.Replace("##CPF##", UtilString.formatCPFCNPJ(OAssociado.Pessoa.nroDocumento)); htmlCarteirinha = htmlCarteirinha.Replace("##RG##", OAssociado.Pessoa.rg); htmlCarteirinha = htmlCarteirinha.Replace("##ORGAO_EMISSOR_RG##", OAssociado.Pessoa.orgaoEmissorRg); htmlCarteirinha = htmlCarteirinha.Replace("##NOME##", OAssociado.Pessoa.nome); htmlCarteirinha = htmlCarteirinha.Replace("##SEXO_SIGLA##", OAssociado.Pessoa.flagSexo); htmlCarteirinha = htmlCarteirinha.Replace("##SEXO##", sexo); htmlCarteirinha = htmlCarteirinha.Replace("##NOME_PAI##", OAssociado.Pessoa.nomePai); htmlCarteirinha = htmlCarteirinha.Replace("##NOME_MAE##", OAssociado.Pessoa.nomeMae); htmlCarteirinha = htmlCarteirinha.Replace("##NRO_REGISTRO_ORGAO_CLASSE##", OAssociado.Pessoa.nroRegistroOrgaoClasse); if (htmlCarteirinha.Contains("##INICIO_QRCODE##")) { var match = Regex.Match(htmlCarteirinha, "##INICIO_QRCODE##(.*)##FIM_QRCODE##"); var URL = match.Groups[1].Value; var URL_CODE = URL.Replace("##ID_ASSOCIADO_CRYPT##", UtilCrypt.toBase64Encode(OAssociado.id)); htmlCarteirinha = ""; //"##INICIO_QRCODE##"+URL+"##FIM_QRCODE##", ZxingExtensions.gerarQrCode(URL_CODE, 100, 100).ToString()); } ViewBag.htmlCarteirinha = htmlCarteirinha; return(View()); }
public ActionResult exibirRecibo(string i) { int idInscricao = UtilNumber.toInt32(UtilCrypt.toBase64Decode(i)); var OAssociadoInscricao = this.OAssociadoContribuicaoBL.carregar(idInscricao); if (OAssociadoInscricao == null) { this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "O pagamento informado não foi localizado no sistema")); return(RedirectToAction("error404", "Erro", new { area = "Erros" })); } var OTitulo = this.OTituloReceitaBL.carregarPorReceita(OAssociadoInscricao.id); if (OTitulo == null && OAssociadoInscricao.dtPagamento.HasValue) { this.OTituloReceitaGeradorBL.gerar(OAssociadoInscricao as object); OTitulo = this.OTituloReceitaBL.carregarPorReceita(OAssociadoInscricao.id); OTitulo.dtQuitacao = OAssociadoInscricao.dtPagamento; this.OTituloReceitaGeradorBL.salvar(OTitulo); } if (OTitulo == null) { this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "O título de pagamento informado não pôde ser localizado.")); return(RedirectToAction("error404", "Erro", new { area = "Erros" })); } var ConfiguracaoSistema = ConfiguracaoSistemaBL.getInstance.carregar(OAssociadoInscricao.idOrganizacao); string htmlRecibo = ConfiguracaoReciboBL.getInstance.carregar().htmlRecibo; if (htmlRecibo.isEmpty()) { this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Não existem configurações de recibo no momento.")); return(RedirectToAction("error404", "Erro", new { area = "Erros" })); } var OTituloRecibo = this.OTituloReceitaReciboVWBL.carregar(OTitulo.id); htmlRecibo = htmlRecibo.Replace("#LINK_LOGO#", ConfiguracaoImagemBL.linkImagemOrganizacao(OTitulo.idOrganizacao, ConfiguracaoImagemBL.IMAGEM_PRINT_SISTEMA)); htmlRecibo = htmlRecibo.Replace("#NOME_ORGANIZACAO#", ConfiguracaoSistema.nomeEmpresaResumo); htmlRecibo = htmlRecibo.Replace("#TEL_1_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelPrincipal + " " + OTituloRecibo.organizacaoNroTelPrincipal)); htmlRecibo = htmlRecibo.Replace("#TEL_2_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelSecundario + " " + OTituloRecibo.organizacaoNroTelSecundario)); htmlRecibo = htmlRecibo.Replace("#ENDERECO_CABECALHO#", string.Concat(OTituloRecibo.organizacaoLogradouro, ", ", OTituloRecibo.organizacaoNumero, " ", OTituloRecibo.organizacaoComplemento, ", ", OTituloRecibo.organizacaoBairro.isEmpty() ? "" : " " + OTituloRecibo.organizacaoBairro, " - ", UtilString.formatCEP(OTituloRecibo.organizacaoCep))); htmlRecibo = htmlRecibo.Replace("#UF_CIDADE_CABECALHO#", string.Concat(OTituloRecibo.organizacaoNomeCidade, ", ", OTituloRecibo.organizacaoSiglaEstado)); htmlRecibo = htmlRecibo.Replace("#NUMERO#", OTituloRecibo.id.ToString().PadLeft(8, '0')); var valorTotal = decimal.Add(OTituloRecibo.valorTotal.toDecimal(), OTituloRecibo.valorTotalJuros.toDecimal()); valorTotal = decimal.Subtract(valorTotal, UtilNumber.toDecimal(OTituloRecibo.valorDesconto)); DateTime dtQuitacao = OTituloRecibo.dtQuitacao.GetValueOrDefault(); htmlRecibo = htmlRecibo.Replace("#VALOR#", valorTotal.ToString("C")); htmlRecibo = htmlRecibo.Replace("#NOME#", OTituloRecibo.nomeRecibo); htmlRecibo = htmlRecibo.Replace("#NRO_DOCUMENTO#", UtilString.formatCPFCNPJ(OTituloRecibo.documentoRecibo)); htmlRecibo = htmlRecibo.Replace("#DESCRICAO#", OTituloRecibo.descricao); htmlRecibo = htmlRecibo.Replace("#DATA#", String.Concat(dtQuitacao.Day.ToString(), " de ", UtilDate.retornarMesPorExtenso(dtQuitacao.Month), " de ", dtQuitacao.Year.ToString())); htmlRecibo = htmlRecibo.Replace("#ASSINATURA#", UtilCrypt.signRecipe("ctb", i)); var ViewModel = new ReciboVM(); ViewModel.htmlRecibo = htmlRecibo; return(View(ViewModel)); }
//Customizado para essa classe especifica public UtilRetorno enviar(Associado OAssociado) { Dictionary <string, object> infos = new Dictionary <string, object>(); infos["nome"] = OAssociado.Pessoa.flagTipoPessoa == "F" ? "Nome: " + OAssociado.Pessoa.nome : "Razão Social: " + OAssociado.Pessoa.razaoSocial + "<br>Nome Fantasia: " + OAssociado.Pessoa.nome; infos["descDocumento"] = OAssociado.Pessoa.TipoDocumento != null ? OAssociado.Pessoa.TipoDocumento.nome : "Documento"; infos["nroDocumento"] = UtilString.formatCPFCNPJ(OAssociado.Pessoa.nroDocumento); //Lista de e-mail var email = OAssociado.Pessoa.emailPrincipal(); email = String.IsNullOrEmpty(OAssociado.Pessoa.emailSecundario()) ? email : String.Concat(email, " / ", OAssociado.Pessoa.emailSecundario()); infos["email"] = email; //Lista de telefones var telefone = OAssociado.Pessoa.formatarTelPrincipal(); telefone = String.IsNullOrEmpty(OAssociado.Pessoa.formatarTelSecundario()) ? telefone : String.Concat(telefone, " / ", OAssociado.Pessoa.formatarTelSecundario()); telefone = String.IsNullOrEmpty(OAssociado.Pessoa.formatarTelTerciario()) ? telefone : String.Concat(telefone, " / ", OAssociado.Pessoa.formatarTelTerciario()); infos["telefone"] = telefone; var nroAssociado = UtilString.notNull(OAssociado.nroAssociado); infos["id"] = !String.IsNullOrEmpty(nroAssociado) ? nroAssociado : OAssociado.id.ToString(); infos["descricaoTipoAssociado"] = (OAssociado.TipoAssociado == null? "-": OAssociado.TipoAssociado.descricao); var OEndereco = OAssociado.Pessoa.listaEnderecos.Count > 0 ? OAssociado.Pessoa.listaEnderecos.FirstOrDefault() : new PessoaEndereco(); infos["endereco"] = OEndereco.id > 0 ? String.Concat( OEndereco.logradouro, " ", OEndereco.numero, " ", OEndereco.complemento, " - ", OEndereco.bairro, " - ", (OEndereco.Cidade != null ? OEndereco.Cidade.nome : OEndereco.nomeCidade), "/", (OEndereco.Cidade != null && OEndereco.Cidade.Estado != null ? OEndereco.Cidade.Estado.sigla : OEndereco.uf) ) : "-"; infos["link"] = String.Concat(UtilConfig.linkAbsSistema, "Associados/associadoimpressao/visualizar-admissao/", UtilCrypt.toBase64Encode(OAssociado.id)); ConfiguracaoNotificacao OConfiguracao = ConfiguracaoNotificacaoBL.getInstance.carregar(this.idOrganizacao); var assuntoEmail = OConfiguracao.assuntoEmailFichaAssociado.Replace("#NOME#", OAssociado.Pessoa.nome); return(this.enviar(infos, assuntoEmail)); }
// 1 - Receber os dados informados pelo usuário // 2 - Criptografar a senha // 3 - Realizar a busca no banco de dados com base na senha e no login // 4 - Verificar se o usuário está ativo public UtilRetorno login(string login, string senha) { string encryptSenha = UtilCrypt.SHA512(senha); var OUsuario = (from Usu in db.UsuarioSistema where Usu.login == login && Usu.senha == encryptSenha && Usu.dtExclusao == null select Usu).Include(x => x.Organizacao).FirstOrDefault(); if (OUsuario == null) { return(UtilRetorno.newInstance(true, "Os dados de acesso são inválidos.")); } if (OUsuario.ativo == "N") { return(UtilRetorno.newInstance(true, "O usuário informado não está ativo no momento.", OUsuario)); } if (OUsuario.idPerfilAcesso != PerfilAcessoConst.DESENVOLVEDOR) { if (OUsuario.Organizacao.ativo != true) { return(UtilRetorno.newInstance(true, "A associação do usuário não esta ativa no momento.", OUsuario)); } if (OUsuario.Organizacao.idStatusOrganizacao == StatusOrganizacaoConst.BLOQUEADO) { return(UtilRetorno.newInstance(true, "A sua associação não está ativa no momento, por favor, entre em contato com o gerente de sua assinatura.", OUsuario)); } if (OUsuario.Organizacao.idStatusOrganizacao == StatusOrganizacaoConst.DESATIVADO) { return(UtilRetorno.newInstance(true, "A sua associação não está ativa no momento, por favor, entre em contato com o gerente de sua assinatura.", OUsuario)); } if (OUsuario.Organizacao.idStatusOrganizacao == StatusOrganizacaoConst.SUSPENSAO_FINANCEIRA) { return(UtilRetorno.newInstance(true, "Não foi possível acessar o sistema, por favor, entre em contato com o departamento financeiro.", OUsuario)); } } if (OUsuario.PerfilAcesso.flagTodasUnidades != true) { var flagUnidadeConfigurada = this.OUsuarioUnidadeBL.listar(OUsuario.id, null).Any(); if (!flagUnidadeConfigurada) { return(UtilRetorno.newInstance(true, "O usuário informado não possui unidade configurada.", OUsuario)); } } if (OUsuario.isDegustacao() && !OUsuario.periodoDegustacaoAtivo()) { if (OUsuario.dtFimDegustacao < DateTime.Today) { return(UtilRetorno.newInstance(true, "O seu período de degustação expirou.", OUsuario)); } if (OUsuario.dtInicioDegustacao > DateTime.Today) { return(UtilRetorno.newInstance(true, "O seu acesso temporário ainda não está disponível.", OUsuario)); } return(UtilRetorno.newInstance(true, "Houve algum problema com o seu acesso temporário. Tente novamente mais tarde.", OUsuario)); } return(UtilRetorno.newInstance(false, "Dados de acesso validados com sucesso.", OUsuario)); }
public async Task <HttpResponseMessage> Post() { string jsonParam = await Request.Content.ReadAsStringAsync(); if (jsonParam.isEmpty()) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new DefaultDTO(true, "Dados não enviados!"))); } var info = JObject.Parse(jsonParam); int idEvento = info["idEvento"].toInt(); string login = info["login"].stringOrEmpty(); string senha = info["senha"].stringOrEmpty(); var idOrganizacao = CustomExtensions.getIdOrganizacao(); // Validação inicial var ORetornoValidacao = this.Validador.validar(idEvento, login, idOrganizacao); if (ORetornoValidacao.flagError) { return(Request.CreateResponse(HttpStatusCode.Unauthorized, new DefaultDTO(ORetornoValidacao.flagError, ORetornoValidacao.listaErros.FirstOrDefault()))); } var ORetorno = new AcessoInscricaoRetornoDTO(); var ConfiguracaoInscricao = ORetornoValidacao.info.ToJsonObject <ConfiguracaoInscricao>(); if (ConfiguracaoInscricao.flagSenhaAcesso == true && senha.isEmpty()) { ORetorno.flagInformarSenha = true; ORetorno.flagErro = false; return(Request.CreateResponse(HttpStatusCode.OK, ORetorno)); } // Autenticação do inscrito var ORetornoLogin = this.OInscricaoAcessoBL.autenticar(idEvento, login, senha); if (ORetornoLogin.flagError) { return(Request.CreateResponse(HttpStatusCode.OK, new DefaultDTO(ORetornoLogin.flagError, ORetornoLogin.listaErros.FirstOrDefault()))); } var DadosInscrito = ORetornoLogin.info.ToJsonObject <DadosInscritoDTO>(); var DadosRetorno = new { DadosInscrito.idOrganizacao, DadosInscrito.idInscricao, DadosInscrito.idPessoa, DadosInscrito.idInscricaoComprador, DadosInscrito.idTipoInscricao, DadosInscrito.tipoInscricao, DadosInscrito.idEvento, DadosInscrito.nomeInscrito, DadosInscrito.emailInscrito, DadosInscrito.descricaoStatusIncricao, DadosInscrito.flagInscricaoComprador, flagInscricaoQuitada = DadosInscrito.dtPagamento.HasValue || DadosInscrito.dtIsencao.HasValue, DadosInscrito.flagBloqueado, dtInscricao = DadosInscrito.dtInscricao.exibirData(), idA = UtilCrypt.toBase64Encode(DadosInscrito.idInscricao), idAcr = UtilCrypt.SHA512(DadosInscrito.idInscricao.ToString()) }; var listaResultados = new List <object>(); listaResultados.Add(DadosRetorno); ORetorno.listaResultados = listaResultados; ORetorno.totalRegistros = 1; ORetorno.totalPaginas = 1; return(Request.CreateResponse(HttpStatusCode.OK, ORetorno)); }
// public UtilRetorno enviar(TituloReceitaPagamento OPagamento) { Dictionary <string, object> infos = new Dictionary <string, object>(); string urlPagamento = String.Format(UtilConfig.linkPgto, UtilString.encodeURL(UtilCrypt.toBase64Encode(OPagamento.id))); infos["linkPgto"] = urlPagamento; infos["nomePessoa"] = OPagamento.TituloReceita.nomePessoa; string descricaoPagamento = OPagamento.TituloReceita.descricao; if (!string.IsNullOrEmpty(OPagamento.descricaoParcela)) { descricaoPagamento = String.Concat(descricaoPagamento, " (", OPagamento.descricaoParcela, ")"); } infos["descricaoPagamento"] = descricaoPagamento; string tituloEmail = $"{OConfiguracaoSistema.tituloSistema} - {OPagamento.TituloReceita.descricao}"; return(this.enviar(infos, tituloEmail)); }
//Configurar os cookies de seguranca a partir de um associado public static void signInCheckout(this IPrincipal User, int idOrganizacao) { SecurityCookieCheckout.idOrganizacao = UtilCrypt.toBase64Encode(idOrganizacao); SecurityCookie.idOrganizacao = UtilCrypt.toBase64Encode(idOrganizacao); }
public static void setOrganizacao(this IPrincipal User, string idOrganizacao, string nomeOrganizacao = "") { SecurityCookie.idOrganizacao = UtilCrypt.toBase64Encode(idOrganizacao.toInt()); SecurityCookie.nomeOrganizacao = nomeOrganizacao; }
public ActionResult exibirRecibo(string t) { int idTitulo = UtilNumber.toInt32(UtilCrypt.toBase64Decode(t)); var OTituloReceita = this.OTituloReceitaBL.carregar(idTitulo); if (OTituloReceita == null) { return(HttpNotFound()); } if (!OTituloReceita.dtQuitacao.HasValue) { return(HttpNotFound()); } var ConfiguracaoSistema = ConfiguracaoSistemaBL.getInstance.carregar(OTituloReceita.idOrganizacao); var ConfiguracaoRecibo = ConfiguracaoReciboBL.getInstance.carregar(OTituloReceita.idOrganizacao); if (ConfiguracaoRecibo == null) { throw new Exception("Configurações de recibo não localizadas."); } var htmlRecibo = ConfiguracaoRecibo.htmlRecibo; var OTituloRecibo = this.OTituloReceitaReciboVWBL.carregar(OTituloReceita.id); htmlRecibo = htmlRecibo.Replace("#LINK_LOGO#", ConfiguracaoImagemBL.linkImagemOrganizacao(OTituloReceita.idOrganizacao, ConfiguracaoImagemBL.IMAGEM_PRINT_SISTEMA)); htmlRecibo = htmlRecibo.Replace("#NOME_ORGANIZACAO#", ConfiguracaoSistema.nomeEmpresaResumo); htmlRecibo = htmlRecibo.Replace("#TEL_1_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelPrincipal + " " + OTituloRecibo.organizacaoNroTelPrincipal)); htmlRecibo = htmlRecibo.Replace("#TEL_2_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelSecundario + " " + OTituloRecibo.organizacaoNroTelSecundario)); htmlRecibo = htmlRecibo.Replace("#ENDERECO_CABECALHO#", string.Concat(OTituloRecibo.organizacaoLogradouro, ", ", OTituloRecibo.organizacaoNumero, " ", OTituloRecibo.organizacaoComplemento, ", ", OTituloRecibo.organizacaoBairro.isEmpty() ? "" : " " + OTituloRecibo.organizacaoBairro, " - ", UtilString.formatCEP(OTituloRecibo.organizacaoCep))); htmlRecibo = htmlRecibo.Replace("#UF_CIDADE_CABECALHO#", string.Concat(OTituloRecibo.organizacaoNomeCidade, ", ", OTituloRecibo.organizacaoSiglaEstado)); htmlRecibo = htmlRecibo.Replace("#NUMERO#", OTituloRecibo.id.ToString().PadLeft(8, '0')); var valorTotal = decimal.Add(OTituloRecibo.valorTotal.toDecimal(), OTituloRecibo.valorTotalJuros.toDecimal()); valorTotal = decimal.Subtract(valorTotal, UtilNumber.toDecimal(OTituloRecibo.valorDesconto)); DateTime dtQuitacao = OTituloRecibo.dtQuitacao.GetValueOrDefault(); htmlRecibo = htmlRecibo.Replace("#VALOR#", valorTotal.ToString("C")); htmlRecibo = htmlRecibo.Replace("#NOME#", OTituloRecibo.nomeRecibo); htmlRecibo = htmlRecibo.Replace("#NRO_DOCUMENTO#", UtilString.formatCPFCNPJ(OTituloRecibo.documentoRecibo)); htmlRecibo = htmlRecibo.Replace("#DESCRICAO#", OTituloRecibo.descricao); htmlRecibo = htmlRecibo.Replace("#DATA#", String.Concat(dtQuitacao.Day.ToString(), " de ", UtilDate.retornarMesPorExtenso(dtQuitacao.Month), " de ", dtQuitacao.Year.ToString())); htmlRecibo = htmlRecibo.Replace("#ASSINATURA#", UtilCrypt.signRecipe("tc", t)); var ViewModel = new ReciboVM(); ViewModel.htmlRecibo = htmlRecibo; return(View(ViewModel)); }
private DefaultDTO montarRetorno(List <EventoInscricao> listaInscricoes) { var ORetorno = new DefaultDTO(); ORetorno.flagErro = false; if (!listaInscricoes.Any()) { return(ORetorno); } var idsEventos = listaInscricoes.Select(x => x.idEvento).Distinct().ToList(); var listaRealizacoesEvento = this.OEventoRealizacaoConsultaBL.query(this.idOrganizacao) .Where(x => idsEventos.Contains(x.idEvento)) .Select(x => new { x.id, x.idEvento, x.dtRealizacao }) .ToListJsonObject <EventoRealizacao>(); var idsInscricoes = listaInscricoes.Select(x => (int?)x.id).ToList(); var listaTitulosReceita = this.OTituloReceitaBL.query(this.idOrganizacao) .Where(x => x.idTipoReceita == TipoReceitaConst.INSCRICAO_EVENTO && idsInscricoes.Contains(x.idReceita)) .Select(x => new { x.id, x.idReceita }).ToListJsonObject <TituloReceita>(); var listaRetorno = listaInscricoes.Select(x => new { x.id, tituloEvento = x.Evento?.titulo, dtInscricao = x.dtInscricao.exibirData(), dtCadastro = x.dtCadastro.exibirData(), flagCancelado = x.dtCancelamento.HasValue, flagPago = x.dtPagamento.HasValue, flagIsento = x.dtIsencao.HasValue, x.idTipoInscricao, descricaoTipoInscricao = x.TipoInscricao?.descricao, valorInscricao = x.valorInscricaoComDesconto().ToString("C"), flagGratuito = x.flagGratuito ?? false, x.idStatusInscricao, descricaoStatusInscricao = x.StatusInscricao?.descricao, idTituloReceita = listaTitulosReceita.FirstOrDefault(c => c.idReceita == x.id)?.id.toInt(), idTituloReceitaCrypt = listaTitulosReceita.FirstOrDefault(c => c.idReceita == x.id) != null ? UtilCrypt.toBase64Encode(listaTitulosReceita.FirstOrDefault(c => c.idReceita == x.id).id) : "", flagEventoEmAndamento = listaRealizacoesEvento.Any() && listaRealizacoesEvento.Where(c => c.idEvento == x.idEvento).Min(c => c.dtRealizacao) <= DateTime.Today && listaRealizacoesEvento.Where(c => c.idEvento == x.idEvento).Max(c => c.dtRealizacao) >= DateTime.Today, flagEventoFinalizado = listaRealizacoesEvento.Any() && listaRealizacoesEvento.Where(c => c.idEvento == x.idEvento).Max(c => c.dtRealizacao) < DateTime.Today }); ORetorno.listaResultados = listaRetorno; return(ORetorno); }