public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute del_Terminal "); /// USER [ execute ] input_st_terminal = input_st_terminal.PadLeft(8, '0'); T_Terminal term_upd = new T_Terminal(this); while (term.fetch()) { if (term.get_nu_terminal() == input_st_terminal) { term_upd.ExclusiveAccess(); term_upd.selectIdentity(term.get_identity()); term_upd.set_fk_loja(Context.NONE); if (!term_upd.synchronize_T_Terminal()) { return(false); } term_upd.ReleaseExclusive(); PublishNote("Terminal " + input_st_terminal + " removido com sucesso"); return(true); } } /// USER [ execute ] END Registry("execute done del_Terminal "); return(true); }
public override bool finish( ) { if (base.finish() == false) { return(false); } Registry("finish ins_terminal "); /// USER [ finish ] if (!IsFail) { LOG_Audit aud = new LOG_Audit(this); aud.set_tg_operacao(TipoOperacao.CadTerminal); aud.set_fk_usuario(input_cont_header.get_st_user_id()); aud.set_dt_operacao(GetDataBaseTime()); aud.set_st_observacao(term.get_st_localizacao()); aud.set_fk_generic(term.get_identity()); if (!aud.create_LOG_Audit()) { return(false); } } /// USER [ finish ] END Registry("finish done ins_terminal "); if (remoteTransaction == true) { return(true); } return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute ins_payFoneLojista "); /// USER [ execute ] pf = new T_PayFone(this); if (pf.select_rows_telefone(input_st_pf_telefone)) { PublishError("Telefone já utilizado"); return(false); } pf.Reset(); pf.set_fk_cartao(Context.NOT_SET); pf.set_fk_terminal(term.get_identity()); pf.set_st_telefone(input_st_pf_telefone); pf.set_tg_tipoCelular(TipoCelular.LOJA); if (!pf.create_T_PayFone()) { return(false); } string m_sSessionSeed = "abcdefghijklmnopqrstuvxywz0123456789"; string st_cod_ativ = ""; Random randObj = new Random(); int iLen = m_sSessionSeed.Length; for (int t = 0; t < 8; ++t) { st_cod_ativ += m_sSessionSeed[randObj.Next(0, iLen)].ToString(); } LINK_PFAtivacao l_pfativa = new LINK_PFAtivacao(this); l_pfativa.set_fk_payfone(pf.get_identity()); l_pfativa.set_dt_ativacao(GetDataBaseTime()); l_pfativa.set_st_ativacao(st_cod_ativ); l_pfativa.set_tg_status(Context.OPEN); if (!l_pfativa.create_LINK_PFAtivacao()) { return(false); } PublishNote("Sucesso na criação de PayFone. Código: " + st_cod_ativ); /// USER [ execute ] END Registry("execute done ins_payFoneLojista "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute exec_vincula_lojista "); /// USER [ execute ] T_Loja loj = new T_Loja(this); if (!loj.select_rows_loja(input_st_cod_loja)) { PublishError("loja inexistente"); return(false); } if (!loj.fetch()) { return(false); } T_Usuario lojista = new T_Usuario(this); if (!lojista.selectIdentity(input_id_usuario)) { PublishError("Usuário inexistente"); return(false); } if (lojista.get_tg_nivel() != TipoUsuario.Lojista) { PublishError("Usuário incorreto"); return(false); } T_Terminal term = new T_Terminal(this); if (!term.select_fk_loja(loj.get_identity())) { PublishError("Loja não possui terminais"); return(false); } if (!term.fetch()) { return(false); } LINK_UsuarioTerminal lut = new LINK_UsuarioTerminal(this); if (lut.select_fk_user(lojista.get_identity())) { PublishError("Usuário já possui terminal"); return(false); } lut.set_fk_term(term.get_identity()); lut.set_fk_user(lojista.get_identity()); if (!lut.create_LINK_UsuarioTerminal()) { return(false); } PublishNote("Lojista vinculado ao seu terminal com sucesso"); /// USER [ execute ] END Registry("execute done exec_vincula_lojista "); return(true); }
public override bool finish( ) { Registry("finish exec_pos_desfazVendaEmpresarialSITEF "); /// USER [ finish ] // ## Copiar para saída cod de resposta LOG_NSU l_nsu = new LOG_NSU(this); l_nsu.set_dt_log(GetDataBaseTime()); l_nsu.create_LOG_NSU(); output_cont_pr.set_st_codResp(var_codResp); output_cont_pr.set_st_nsuBanco(l_nsu.get_identity()); LOG_Transacoes l_tr_fin = new LOG_Transacoes(this); #region - registra a transação - l_tr_fin.set_fk_terminal(term.get_identity()); l_tr_fin.set_dt_transacao(GetDataBaseTime()); if (output_cont_pr.get_st_codResp() == "N3N3") { l_tr_fin.set_nu_cod_erro("1313"); } else { l_tr_fin.set_nu_cod_erro(output_cont_pr.get_st_codResp()); } l_tr_fin.set_nu_nsuOrig(l_tr.get_nu_nsu()); l_tr_fin.set_nu_nsu(l_nsu.get_identity()); l_tr_fin.set_st_msg_transacao("Registro: " + l_tr.get_nu_nsu()); l_tr_fin.set_en_operacao(OperacaoCartao.VENDA_EMPRESARIAL_DESFAZ); l_tr_fin.set_fk_loja(term.get_fk_loja()); l_tr_fin.set_tg_confirmada(TipoConfirmacao.Registro); l_tr_fin.set_tg_contabil(Context.FALSE); l_tr_fin.set_vr_saldo_disp(l_tr.get_vr_saldo_disp()); l_tr_fin.set_vr_saldo_disp_tot(l_tr.get_vr_saldo_disp_tot()); l_tr_fin.set_vr_total(l_tr.get_vr_total()); l_tr_fin.set_fk_empresa(l_tr.get_fk_empresa()); l_tr_fin.set_fk_loja(l_tr.get_fk_loja()); l_tr_fin.set_fk_cartao(l_tr.get_fk_cartao()); #endregion l_tr_fin.create_LOG_Transacoes(); /// USER [ finish ] END Registry("finish done exec_pos_desfazVendaEmpresarialSITEF "); if (remoteTransaction == true) { return(true); } DataPortable dp_out = new DataPortable(); dp_out.MapTagValue(COMM_OUT_EXEC_POS_DESFAZVENDAEMPRESARIAL.st_msg, output_st_msg); var_Comm.AddExitPortable(ref dp_out); DataPortable dp_cont_1 = new DataPortable(); dp_cont_1.MapTagContainer(COMM_OUT_EXEC_POS_DESFAZVENDAEMPRESARIAL.pr, output_cont_pr as DataPortable); var_Comm.AddExitPortable(ref dp_cont_1); return(true); }
public override bool finish( ) { Registry("finish type_pf_base "); /// USER [ finish ] if (IsFail) { var_operacaoCartao = var_operacaoCartaoFail; } if (GravaNSU) { LOG_Transacoes l_tr = new LOG_Transacoes(this); l_tr.set_fk_terminal(term.get_identity()); l_tr.set_fk_empresa(emp.get_identity()); l_tr.set_fk_cartao(cart.get_identity()); l_tr.set_vr_total(var_valorTotal); l_tr.set_nu_nsu(var_nsu); l_tr.set_en_operacao(var_operacaoCartao); l_tr.set_nu_cod_erro(output_st_codResp); l_tr.set_nu_parcelas("1"); l_tr.set_nu_nsuOrig(Context.NOT_SET); if (var_operacaoCartao == OperacaoCartao.PAY_FONE_GRAVA_PEND) { l_tr.set_tg_confirmada(TipoConfirmacao.Pendente); } else { if (IsFail) { l_tr.set_tg_confirmada(TipoConfirmacao.Erro); } else { l_tr.set_tg_confirmada(TipoConfirmacao.Registro); } } l_tr.set_dt_transacao(GetDataBaseTime()); l_tr.set_st_msg_transacao(output_st_msg); l_tr.set_tg_contabil(Context.FALSE); if (output_st_codResp != "00") { l_tr.set_tg_contabil(Context.FALSE); } l_tr.set_fk_loja(term.get_fk_loja()); if (cart.get_tg_tipoCartao() == TipoCartao.educacional) { l_tr.set_vr_saldo_disp(cart.get_vr_disp_educacional()); l_tr.set_vr_saldo_disp_tot(cart.get_vr_educacional()); } else { l_tr.set_vr_saldo_disp(vr_limMes.ToString()); l_tr.set_vr_saldo_disp_tot(vr_limTot.ToString()); } if (!l_tr.create_LOG_Transacoes()) { return(false); } } /// USER [ finish ] END Registry("finish done type_pf_base "); if (remoteTransaction == true) { return(true); } return(true); }
public override bool finish( ) { Registry("finish exec_pos_cancelaVendaEmpresarial "); /// USER [ finish ] #region - cria NSU - LOG_NSU l_nsu = new LOG_NSU(this); l_nsu.set_dt_log(GetDataBaseTime()); l_nsu.create_LOG_NSU(); #endregion var_nu_nsuAtual = l_nsu.get_identity(); if (IsFail) { var_operacaoCartao = var_operacaoCartaoFail; } T_Empresa emp = new T_Empresa(this); T_Terminal term = new T_Terminal(this); T_Loja loj = new T_Loja(this); T_Proprietario prot = new T_Proprietario(this); T_InfoAdicionais info = new T_InfoAdicionais(this); // ## Busca outras tabelas emp.select_rows_empresa(cart.get_st_empresa()); emp.fetch(); term.selectIdentity(old_l_tr.get_fk_terminal()); loj.selectIdentity(term.get_fk_loja()); prot.selectIdentity(cart.get_fk_dadosProprietario()); info.selectIdentity(cart.get_fk_infoAdicionais()); // ## Copia dados para saída output_cont_pr.set_st_codResp(var_codResp); output_cont_pr.set_st_nsuRcb(var_nu_nsuAtual.PadLeft(6, '0')); output_cont_pr.set_st_nsuBanco(new StringBuilder().Append(DateTime.Now.Year.ToString()) .Append(DateTime.Now.Month.ToString("00")) .Append(DateTime.Now.Day.ToString("00")) .Append(var_nu_nsuAtual.PadLeft(6, '0')).ToString()); output_cont_pr.set_st_PAN(cart.get_st_empresa() + cart.get_st_matricula()); output_cont_pr.set_st_mesPri(Context.EMPTY); output_cont_pr.set_st_loja(loj.get_st_loja()); output_cont_pr.set_st_nomeCliente(prot.get_st_nome()); if (cart.get_st_titularidade() != "01" && cart.get_st_titularidade() != "") { T_Dependente dep_f = new T_Dependente(this); if (dep_f.select_rows_prop_tit(cart.get_fk_dadosProprietario(), cart.get_st_titularidade())) { if (dep_f.fetch()) { output_cont_pr.set_st_nomeCliente(dep_f.get_st_nome()); } } } output_cont_pr.set_st_variavel(info.get_st_empresaAfiliada()); // ## Cria nova transacao de registro ou de erro // ## para cancelamento LOG_Transacoes l_tr = new LOG_Transacoes(this); if (IsFail) { l_tr.set_tg_confirmada(TipoConfirmacao.Erro); } else { l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada); } l_tr.set_fk_terminal(term.get_identity()); l_tr.set_fk_empresa(emp.get_identity()); l_tr.set_fk_cartao(cart.get_identity()); l_tr.set_vr_total(old_l_tr.get_vr_total()); l_tr.set_nu_parcelas(old_l_tr.get_nu_parcelas()); l_tr.set_nu_nsu(l_nsu.get_identity()); l_tr.set_dt_transacao(GetDataBaseTime()); l_tr.set_nu_cod_erro(output_cont_pr.get_st_codResp()); l_tr.set_nu_nsuOrig("0"); l_tr.set_en_operacao(var_operacaoCartao); // ajustado if (input_cont_pe.get_st_terminalSITEF().Length > 0) { l_tr.set_st_msg_transacao(input_cont_pe.get_st_terminalSITEF()); } else { l_tr.set_st_msg_transacao(output_st_msg); } l_tr.set_tg_contabil(Context.FALSE); l_tr.set_fk_loja(term.get_fk_loja()); l_tr.set_vr_saldo_disp(cart.get_vr_disp_educacional()); l_tr.set_vr_saldo_disp_tot(cart.get_vr_educacional()); // ## Cria registro l_tr.create_LOG_Transacoes(); /// USER [ finish ] END Registry("finish done exec_pos_cancelaVendaEmpresarial "); if (remoteTransaction == true) { return(true); } DataPortable dp_out = new DataPortable(); dp_out.MapTagValue(COMM_OUT_EXEC_POS_CANCELAVENDAEMPRESARIAL.st_msg, output_st_msg); var_Comm.AddExitPortable(ref dp_out); DataPortable dp_cont_1 = new DataPortable(); dp_cont_1.MapTagContainer(COMM_OUT_EXEC_POS_CANCELAVENDAEMPRESARIAL.pr, output_cont_pr as DataPortable); var_Comm.AddExitPortable(ref dp_cont_1); return(true); }
public override bool authenticate( ) { Registry("authenticate exec_pos_cancelaVendaEmpresarial "); /// USER [ authenticate ] var_codResp = "0606"; cart = new T_Cartao(this); old_l_tr = new LOG_Transacoes(this); // ## Buscar transação original old_l_tr.ExclusiveAccess(); if (input_dt_hoje != "") { DateTime start = Convert.ToDateTime(input_dt_hoje); DateTime end = Convert.ToDateTime(input_dt_hoje).AddDays(1); // ## Buscar transação de NSU com data especifica if (!old_l_tr.select_rows_nsu_oper(input_st_nsu_cancel, OperacaoCartao.VENDA_EMPRESARIAL, GetDataBaseTime(start), GetDataBaseTime(end))) { output_st_msg = "NSU inválido (" + input_st_nsu_cancel.TrimStart('0') + ")"; var_codResp = "1212"; return(false); } } else { // ## Buscar transação de NSU com data de hoje if (!old_l_tr.select_rows_nsu_oper(input_st_nsu_cancel, OperacaoCartao.VENDA_EMPRESARIAL, GetTodayStartTime(), GetTodayEndTime())) { output_st_msg = "NSU inválido (" + input_st_nsu_cancel.TrimStart('0') + ")"; var_codResp = "1212"; return(false); } } if (!old_l_tr.fetch()) { output_st_msg = "Erro aplicativo"; return(false); } valor = old_l_tr.get_vr_total(); dt_orig = old_l_tr.get_dt_transacao(); // ## Buscar terminal T_Terminal term = new T_Terminal(this); if (!term.selectIdentity(old_l_tr.get_fk_terminal())) { output_st_msg = "Erro aplicativo"; return(false); } // ## Caso terminais diferentes, sair // desnecessário /* * if (term.get_nu_terminal() != input_cont_pe.get_st_terminal()) * { * output_st_msg = "Terminal inválido"; * var_codResp = "0303"; * return false; * }*/ // conferir se usuário que quer cancelar (via client) // a transação é da mesma empresa ou // se for lojista, for o mesmo terminal if (input_id_user != "") { T_Usuario user = new T_Usuario(this); if (!user.selectIdentity(input_id_user)) { output_st_msg = "Usuário inválido"; var_codResp = "0303"; return(false); } if (user.get_tg_nivel() == TipoUsuario.Lojista) { #region - lojista - LINK_UsuarioTerminal lut = new LINK_UsuarioTerminal(this); if (!lut.select_fk_term(term.get_identity())) { output_st_msg = "Usuário inválido"; var_codResp = "0303"; return(false); } if (!lut.fetch()) { output_st_msg = "Usuário inválido"; var_codResp = "0303"; return(false); } if (lut.get_fk_user() != user.get_identity()) { output_st_msg = "Transação não pertence à sua loja"; var_codResp = "0303"; return(false); } #endregion } else if (user.get_tg_nivel() != TipoUsuario.OperadorConvey && user.get_tg_nivel() != TipoUsuario.SuperUser) { #region - operadores normais - T_Empresa emp = new T_Empresa(this); if (!emp.select_rows_empresa(user.get_st_empresa())) { output_st_msg = "Empresa inválida"; var_codResp = "0303"; return(false); } if (!emp.fetch()) { output_st_msg = "Empresa inválida"; var_codResp = "0303"; return(false); } if (old_l_tr.get_fk_empresa() != emp.get_identity()) { output_st_msg = "Transação não pertence à sua empresa"; var_codResp = "0303"; return(false); } #endregion } } // ## Atualizar cartão cart.ExclusiveAccess(); if (!cart.selectIdentity(old_l_tr.get_fk_cartao())) { output_st_msg = "Erro aplicativo"; return(false); } // ## Se transação já foi cancelada, sair if (old_l_tr.get_tg_confirmada() == TipoConfirmacao.Cancelada) { output_st_msg = "prev. cancel"; var_codResp = "N3N3"; return(false); } // ## Confirma cancelamento old_l_tr.set_tg_contabil(Context.TRUE); old_l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada); // ## Atualizar transação original if (!old_l_tr.synchronize_LOG_Transacoes()) { output_st_msg = "Erro aplicativo"; return(false); } var_codResp = "0000"; /// USER [ authenticate ] END Registry("authenticate done exec_pos_cancelaVendaEmpresarial "); return(true); }
public override bool execute( ) { Registry("execute exec_pos_vendaEmpresarialSITEF "); /// USER [ execute ] #region - atualizar senhas - cart.ExclusiveAccess(); if (!cart.selectIdentity(cart.get_identity())) { output_st_msg = "Erro aplicativo"; return(false); } if (!prot.selectIdentity(cart.get_fk_dadosProprietario())) { output_st_msg = "Erro aplicativo"; return(false); } if (cart.get_st_titularidade() != "01") { T_Dependente dep = new T_Dependente(this); if (!dep.select_rows_prop_tit(cart.get_fk_dadosProprietario(), cart.get_st_titularidade())) { output_st_msg = "Erro aplicativo"; return(false); } if (!dep.fetch()) { output_st_msg = "Erro aplicativo"; return(false); } var_nomeCliente = dep.get_st_nome(); } else { var_nomeCliente = prot.get_st_nome(); } if (IsDigitado) { string cod_acesso = new ApplicationUtil().calculaCodigoAcesso(cart.get_st_empresa(), cart.get_st_matricula(), cart.get_st_titularidade(), cart.get_nu_viaCartao(), prot.get_st_cpf()); Trace(cod_acesso); if (cod_acesso != input_cont_pe.get_st_senha()) { output_st_msg = "Senha inválida"; var_codResp = "4343"; return(false); } } else { if (cart.get_st_senha() != input_cont_pe.get_st_senha()) { long senhasErradas = cart.get_int_nu_senhaErrada() + 1; cart.set_nu_senhaErrada(senhasErradas.ToString()); if (senhasErradas > 4) { cart.set_tg_status(CartaoStatus.Bloqueado); cart.set_tg_motivoBloqueio(MotivoBloqueio.SENHA_ERRADA); cart.set_dt_bloqueio(GetDataBaseTime()); } if (!cart.synchronize_T_Cartao()) { output_st_msg = "Erro aplicativo"; return(false); } output_st_msg = "Senha inválida"; var_codResp = "4343"; return(false); } else { cart.set_nu_senhaErrada(Context.NONE); } } if (cart.get_tg_tipoCartao() == TipoCartao.presente) { cart.set_vr_limiteTotal(cart.get_int_vr_limiteTotal() - vr_valor); if (!cart.synchronize_T_Cartao()) { output_st_msg = "Erro aplicativo"; return(false); } } cart.ReleaseExclusive(); #endregion #region - busca informações extras - if (!info.selectIdentity(cart.get_fk_infoAdicionais())) { output_st_msg = "Erro aplicativo"; return(false); } #endregion #region - Faz efetivamente a venda - int tmp_nu_parc = Convert.ToInt32(input_cont_pe.get_nu_parcelas()); int index_pos = 0; string tmp_variavel = input_cont_pe.get_st_valores(); if (tmp_variavel.Length < tmp_nu_parc * 12) { output_st_msg = "formato incorreto"; return(false); } if (cart.get_tg_tipoCartao() != TipoCartao.presente) { if (tmp_nu_parc > emp.get_int_nu_parcelas()) { output_st_msg = "excede max. parcelas"; var_codResp = "1212"; return(false); } } #region - obtem nsu - l_nsu.set_dt_log(GetDataBaseTime()); if (!l_nsu.create_LOG_NSU()) { output_st_msg = "Erro aplicativo"; return(false); } #endregion var_nu_nsuAtual = l_nsu.get_identity(); var_nu_nsuEntidade = var_nu_nsuAtual; var_dt_transacao = GetDataBaseTime(); // ## Criar parcelas for (int t = 1; t <= tmp_nu_parc; ++t) { T_Parcelas parc = new T_Parcelas(this); string valor_unit_parc = tmp_variavel.Substring(index_pos, 12); index_pos += 12; #region - atribui valores e links à parcela - parc.set_nu_nsu(l_nsu.get_identity()); parc.set_fk_empresa(emp.get_identity()); parc.set_fk_cartao(cart.get_identity()); parc.set_dt_inclusao(var_dt_transacao); parc.set_nu_parcela(t.ToString()); parc.set_vr_valor(valor_unit_parc); parc.set_nu_indice(t.ToString()); parc.set_tg_pago(TipoParcela.EM_ABERTO); parc.set_fk_loja(loj.get_identity()); parc.set_nu_tot_parcelas(tmp_nu_parc.ToString()); parc.set_fk_terminal(term.get_identity()); #endregion if (!parc.create_T_Parcelas()) { output_st_msg = "erro aplicativo"; return(false); } lstParcs.Add(parc.get_identity()); } #endregion var_codResp = "0000"; /// USER [ execute ] END Registry("execute done exec_pos_vendaEmpresarialSITEF "); return(true); }
public override bool authenticate( ) { Registry("authenticate exec_pos_desfazVendaEmpresarial "); /// USER [ authenticate ] // ## Buscar terminal term = new T_Terminal(this); var_codResp = "0606"; if (!term.select_rows_terminal(input_cont_pe.get_st_terminal())) { output_st_msg = "Erro aplicativo"; return(false); } if (!term.fetch()) { output_st_msg = "Erro aplicativo"; return(false); } // ## Buscar transação pelo terminal e pelo valor l_tr = new LOG_Transacoes(this); if (!l_tr.select_rows_term_vr(term.get_identity(), input_cont_pe.get_vr_valor())) { output_st_msg = "Erro aplicativo"; return(false); } l_tr.SetReversedFetch(); if (!l_tr.fetch()) { output_st_msg = "Erro aplicativo"; return(false); } // ## Conferir se status já desfeito if (l_tr.get_tg_confirmada() == TipoConfirmacao.Desfeita) { var_codResp = "N3N3"; output_st_msg = "Trans. já desfeita"; return(false); } // ## Conferir se status dif de pendente if (l_tr.get_tg_confirmada() != TipoConfirmacao.Pendente) { output_st_msg = "Erro aplicativo"; return(false); } var_codResp = "0000"; /// USER [ authenticate ] END Registry("authenticate done exec_pos_desfazVendaEmpresarial "); return(true); }
public override bool authenticate( ) { if (base.authenticate() == false) { return(false); } Registry("authenticate fetch_consultaTransacao "); /// USER [ authenticate ] l_tr = new LOG_Transacoes(this); // ## obtem filtros rápidos string cod_empresa = input_cont_dct.get_st_cod_empresa().PadLeft(6, '0'); string cnpj_loja = input_cont_dct.get_st_cnpj_loja(); string cod_loja = input_cont_dct.get_st_cod_loja(); string st_terminal = input_cont_dct.get_st_terminal().PadLeft(8, '0').TrimEnd('0'); string dt_ini = input_cont_dct.get_dt_ini(); string dt_fim = input_cont_dct.get_dt_fim(); string st_cart = input_cont_dct.get_st_cartao(); string st_telefone = input_cont_dct.get_st_telefone(); #region - resolve todos os links - // ## Confere telefone if (st_telefone.Length == 10) { T_PayFone pf = new T_PayFone(this); if (!pf.select_rows_telefone(st_telefone)) { PublishError("Telefone inválido"); return(true); } else { if (!pf.fetch()) { return(false); } st_cart_id = pf.get_fk_cartao(); } } // ## Confere cartão else if (st_cart.Length > 0) { T_Cartao cart = new T_Cartao(this); if (!cart.select_rows_tudo(cod_empresa, // empresa st_cart.PadLeft(6, '0'), // matricula "01")) // titularidade { PublishError("Cartão inválido"); return(true); } else { if (!cart.fetch()) { return(false); } st_cart_id = cart.get_identity(); } } // ## Confere pelo código de empresa if (cod_empresa.Length > 0) { T_Empresa emp = new T_Empresa(this); if (cod_empresa == "000000" && (input_cont_header.get_tg_user_type() == TipoUsuario.SuperUser || input_cont_header.get_tg_user_type() == TipoUsuario.OperadorConvey)) { cod_empresa = ""; } else { if (!emp.select_rows_empresa(cod_empresa)) { PublishError("Código de Empresa inexistente"); return(false); } if (!emp.fetch()) { return(false); } fk_empresa = emp.get_identity(); } } // ## Confere por cód de loja if (cnpj_loja.Length > 0) { T_Loja loj = new T_Loja(this); if (!loj.select_rows_cnpj(cnpj_loja)) { PublishError("CNPJ de Loja inexistente"); return(false); } if (!loj.fetch()) { return(false); } fk_loja = loj.get_identity(); } else if (cod_loja.Length > 0) { T_Loja loj = new T_Loja(this); if (!loj.select_rows_loja(cod_loja)) { PublishError("Código de Loja inexistente"); return(false); } if (!loj.fetch()) { return(false); } fk_loja = loj.get_identity(); } // ## Busca Relação da loja com Empresa (Convênio) if ((cnpj_loja.Length > 0 || cod_loja.Length > 0) && cod_empresa.Length > 0) { LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this); if (!loj_emp.select_fk_empresa_loja(fk_empresa, fk_loja)) { PublishError("Loja não conveniada com a empresa"); return(false); } } // ## Confere terminal if (st_terminal.Length > 0) { T_Terminal term = new T_Terminal(this); if (!term.select_rows_terminal(st_terminal)) { PublishError("Terminal inexistente"); return(false); } if (!term.fetch()) { return(false); } fk_terminal = term.get_identity(); // ## Confere convenio com loja (se preenchida) if (fk_empresa.Length > 0) { if (term.get_fk_loja() != fk_empresa) { PublishError("Terminal não residente à loja"); return(false); } } } #endregion // ## Obtem mais filtros st_nsu = input_cont_dct.get_st_nsu(); nu_parc = input_cont_dct.get_nu_parcelas(); en_oper = input_cont_dct.get_en_oper(); vr_valor = input_cont_dct.get_vr_valor(); if (input_cont_dct.get_tg_status() != "-1") { en_conf = input_cont_dct.get_tg_status(); } // ## Escolha da query mais vantajosa pela ordem de filtros // ## informados if (fk_terminal.Length > 0 && fk_empresa.Length > 0 && dt_ini.Length > 0 && dt_fim.Length > 0) { // ## Obtem registros com período if (!l_tr.select_rows_term_emp_dt(fk_terminal, fk_empresa, dt_ini, dt_fim)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (fk_terminal.Length > 0 && fk_empresa.Length > 0 && dt_ini.Length > 0) { // ## Obtem registros com período inicial if (!l_tr.select_rows_term_emp_dt_ini(fk_terminal, fk_empresa, dt_ini)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (fk_terminal.Length > 0 && fk_empresa.Length > 0) { // ## Obtem registros com terminal e empresa if (!l_tr.select_fk_term_empresa(fk_terminal, fk_empresa)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (dt_ini.Length > 0 && dt_fim.Length > 0) { // ## Obtem registro por período de inicio e fim if (!l_tr.select_rows_dt(dt_ini, dt_fim)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (dt_ini.Length > 0) { // ## Obtem registro por período de inicio if (!l_tr.select_rows_dt_ini(dt_ini)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (fk_empresa.Length > 0) { // ## Obtem registros com empresa if (!l_tr.select_fk_empresa(fk_empresa)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (fk_terminal.Length > 0) { // ## Obtem registros com terminal if (!l_tr.select_fk_terminal(fk_terminal)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (nu_parc.Length > 0 && en_oper.Length > 0 && vr_valor.Length > 0 && dt_ini.Length > 0 && dt_fim.Length > 0) { // ## Obtem registro por parcelas, operacao, valor // ## e por período de inicio e fim if (!l_tr.select_rows_par_oper_valor_dt(nu_parc, en_oper, vr_valor, dt_ini, dt_fim)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (nu_parc.Length > 0 && en_oper.Length > 0 && vr_valor.Length > 0 && dt_ini.Length > 0) { // ## Obtem registro por parcelas, operacao, valor // ## e por período de inicio if (!l_tr.select_rows_par_oper_valor_dt_ini(nu_parc, en_oper, vr_valor, dt_ini)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (nu_parc.Length > 0 && en_oper.Length > 0 && vr_valor.Length > 0) { // ## Obtem registro por parcelas, operacao, valor if (!l_tr.select_rows_par_oper_valor(nu_parc, en_oper, vr_valor)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (nu_parc.Length > 0 && en_oper.Length > 0) { // ## Obtem registro por parcelas, operacao if (!l_tr.select_rows_parc_oper(nu_parc, en_oper)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (nu_parc.Length > 0) { // ## Obtem registro por parcelas if (!l_tr.select_rows_parc(nu_parc)) { PublishError("Nenhum registro encontrado"); return(false); } } else if (st_cart_id.Length > 0) { // ## Obtem registro por somente determinado cartão if (!l_tr.select_fk_cartao(st_cart_id)) { PublishError("NSU inválido"); return(false); } } else { // ## Obtem TODOS os registros if (!l_tr.selectAll()) { PublishError("Nenhum registro encontrado"); return(false); } } /// USER [ authenticate ] END Registry("authenticate done fetch_consultaTransacao "); return(true); }
public override bool execute( ) { Registry("execute exec_login "); /// USER [ execute ] output_tg_trocaSenha = Context.FALSE; user = new T_Usuario(this); user.ExclusiveAccess(); // ## Busca usuário com nome e cód de empresa if (loginLojista) { string st_loja = input_st_empresa.Replace("L", ""); T_Loja loj = new T_Loja(this); if (!loj.select_rows_loja(st_loja)) { PublishError("Usuário ou senha incorretos"); return(false); } if (!loj.fetch()) { return(false); } T_Terminal term = new T_Terminal(this); if (!term.select_fk_loja(loj.get_identity())) { PublishError("Usuário ou senha incorretos"); return(false); } if (!term.fetch()) { return(false); } LINK_UsuarioTerminal lut = new LINK_UsuarioTerminal(this); if (!lut.select_fk_term(term.get_identity())) { PublishError("Usuário ou senha incorretos"); return(false); } bool found = false; T_Usuario usr_lojista = new T_Usuario(this); while (lut.fetch()) { if (!usr_lojista.selectIdentity(lut.get_fk_user())) { return(false); } Trace(usr_lojista.get_st_nome()); if (usr_lojista.get_st_nome() == input_st_nome) { found = true; break; } } if (!found) { PublishError("Usuário ou senha incorretos"); return(false); } if (!user.selectIdentity(usr_lojista.get_identity())) { return(false); } input_st_empresa = st_loja; output_cont_header.set_nu_terminal(term.get_nu_terminal()); } else { if (!user.select_rows_login(input_st_nome, input_st_empresa)) { PublishError("Usuário ou senha incorretos"); return(false); } if (!user.fetch()) { return(false); } } // ## Confere bloqueio if (user.get_tg_bloqueio() != Context.FALSE) { PublishError("Usuário ou senha incorretos"); return(false); } // ## Confere senha if (user.get_st_senha() != input_st_senha) { user.set_nu_senhaErrada(Convert.ToString(user.get_int_nu_senhaErrada() + 1)); if (user.get_int_nu_senhaErrada() >= 3) { // ## Na terceira senha errada, bloqueia cartão //user.set_tg_bloqueio ( Context.TRUE ); //user.set_nu_senhaErrada ( 0 ); } // ## Atualiza if (!user.synchronize_T_Usuario()) { return(false); } PublishError("Usuário ou senha incorretos"); return(false); } else { // ## Zera senhas erradas ut_coverMark(1); user.set_nu_senhaErrada(0); } // ## Caso o ultimo logoff não foi executado, ou seja, // ## o usuário não fechou corretamente sua última instância if (user.get_tg_logoff() == Context.FALSE) { // ## Mais de cinco minutos se passaram... if (TimeSpanCtrl(user.get_dt_ultUso(), TSpan_Mode.MORE_THAN, 5, TSpan_Range.Minutes) == true) { PublishNote("Disconectando sessão ociosa por mais de cinco minutos"); } else { PublishError("Não são permitidas multiplas sessões"); return(false); } } // ## Seto que o logoff precisa ser feito user.set_tg_logoff(Context.FALSE); // ## Confere se senha expirou... if (TimeSpanCtrl(user.get_dt_trocaSenha(), TSpan_Mode.MORE_THAN, 60, TSpan_Range.Days) == true) { output_tg_trocaSenha = Context.TRUE; PublishNote("É necessário trocar sua senha"); } // ## Confere se admin requisitou troca de senha if (user.get_tg_trocaSenha() == Context.TRUE) { output_tg_trocaSenha = Context.TRUE; PublishNote("É necessário trocar sua senha"); } // ## Seto login feito agora user.set_dt_ultUso(GetDataBaseTime()); // ## Atualizo usuário if (!user.synchronize_T_Usuario()) { return(false); } output_cont_header.set_st_session(var_SessionKey); output_cont_header.set_st_empresa(input_st_empresa); output_cont_header.set_st_user_id(user.get_identity()); output_cont_header.set_tg_user_type(user.get_tg_nivel()); /// USER [ execute ] END Registry("execute done exec_login "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute fetch_pf_telefoneLojista "); /// USER [ execute ] // ## Obtem loja por código T_Loja loj = new T_Loja(this); if (loj.select_rows_loja(input_st_loja)) { if (!loj.fetch()) { return(false); } // ## Obtem terminais vinculados T_Terminal term = new T_Terminal(this); if (term.select_fk_loja(loj.get_identity())) { T_PayFone pf = new T_PayFone(this); // ## Para todos os terminais while (term.fetch()) { // ## busca payfone if (pf.select_fk_term(term.get_identity())) { // ## para todos os registros while (pf.fetch()) { // ## somente lojista if (pf.get_tg_tipoCelular() == TipoCelular.LOJA) { // ## Achou telefone output_st_telefone = pf.get_st_telefone(); return(true); } } } } } } /// /// USER [ execute ] END Registry("execute done fetch_pf_telefoneLojista "); return(true); }
public override bool execute( ) { if (base.execute() == false) { return(false); } Registry("execute exec_pf_autorizaVendaPendente "); /// USER [ execute ] // ## Busco pendência de acordo com NSU pendPayFone = new T_PendPayFone(this); /*DateTime tim = new DateTime ( DateTime.Now.Year, * DateTime.Now.Month, * DateTime.Now.Day ); */ if (!pendPayFone.select_rows_nsu(input_st_nsu /*GetDataBaseTime ( tim ) , * GetDataBaseTime ( tim.AddDays(1) )*/)) { output_st_codResp = "01"; output_st_msg = "Nenhuma pendência (" + input_st_nsu.TrimStart('0') + ")"; return(false); } if (!pendPayFone.fetch()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Busco terminal de acordo com FK da pendência if (!term.selectIdentity(pendPayFone.get_fk_terminal())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } var_valorTotal = pendPayFone.get_vr_valor(); Trace(pendPayFone.get_en_situacao()); // ## Se sit. já foi confirmada, sair if (pendPayFone.get_en_situacao() == TipoPendPayFone.CONFIRMADO) { output_st_codResp = "03"; output_st_msg = "NSU Prev. Confirmado (" + input_st_nsu.TrimStart('0') + ")"; return(false); } // ## Se esta pendência já foi cancelada ou negada, sair if (pendPayFone.get_en_situacao() == TipoPendPayFone.NEGADO || pendPayFone.get_en_situacao() == TipoPendPayFone.CANCELADO) { output_st_codResp = "04"; output_st_msg = "NSU Prev. Cancelado (" + input_st_nsu.TrimStart('0') + ")"; return(false); } // ## Atualizar senhas cart.ExclusiveAccess(); // ## Busco o mesmo registro para atualização if (!cart.selectIdentity(cart.get_identity())) { return(false); } // ## Verifico senhas if (cart.get_st_senha() != input_st_senha) { long senhasErradas = cart.get_int_nu_senhaErrada() + 1; cart.set_nu_senhaErrada(senhasErradas.ToString()); // ## Cinco senhas erradas, bloqueia cartão vinculado ao payfone if (senhasErradas > 4) { cart.set_tg_status(CartaoStatus.Bloqueado); } // ## Atualiza if (!cart.synchronize_T_Cartao()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } output_st_codResp = "02"; output_st_msg = "Senha Errada"; return(false); } else { // ## Zera senhas cart.set_nu_senhaErrada(Context.NONE); if (!cart.synchronize_T_Cartao()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } } // ## Verifica disponivel mensal nas parcelas T_Parcelas parc = new T_Parcelas(this); vr_limMes = cart.get_int_vr_limiteMensal(); vr_limTot = cart.get_int_vr_limiteTotal() + cart.get_int_vr_extraCota(); new ApplicationUtil().GetSaldoDisponivel(ref cart, ref vr_limMes, ref vr_limTot); // ## Conferir limite mensal if (pendPayFone.get_int_vr_valor() > vr_limMes) { output_st_codResp = "03"; output_st_msg = "limite mês excedido"; return(false); } // ## Conferir limite total if (pendPayFone.get_int_vr_valor() > vr_limTot) { output_st_codResp = "04"; output_st_msg = "limite total excedido"; return(false); } // ## Criar as parcelas T_Parcelas new_parc = new T_Parcelas(this); #region - atribuição - new_parc.set_nu_nsu(input_st_nsu); new_parc.set_fk_empresa(emp.get_identity()); new_parc.set_fk_cartao(cart.get_identity()); new_parc.set_dt_inclusao(GetDataBaseTime()); new_parc.set_nu_parcela("1"); new_parc.set_nu_tot_parcelas("1"); new_parc.set_nu_indice("1"); new_parc.set_vr_valor(pendPayFone.get_vr_valor()); new_parc.set_tg_pago(TipoParcela.EM_ABERTO); #endregion // ## Buscar terminal term = new T_Terminal(this); if (!term.selectIdentity(pendPayFone.get_fk_terminal())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Atribuir os links corretamente new_parc.set_fk_loja(term.get_fk_loja()); new_parc.set_fk_terminal(term.get_identity()); // ## Confirmo a pendência pendPayFone.set_en_situacao(TipoPendPayFone.CONFIRMADO); // ## Atualizar tabela if (!pendPayFone.synchronize_T_PendPayFone()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Busco transação de gravação de pendência do payfone LOG_Transacoes l_tr = new LOG_Transacoes(this); l_tr.ExclusiveAccess(); if (!l_tr.select_rows_nsu_oper(input_st_nsu, OperacaoCartao.PAY_FONE_GRAVA_PEND, GetTodayStartTime(), GetTodayEndTime())) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } if (!l_tr.fetch()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } output_st_nsu_autorizado = input_st_nsu; // ## Confirmo esta transação l_tr.set_tg_contabil(Context.TRUE); l_tr.set_tg_confirmada(TipoConfirmacao.Confirmada); // ## Atualizo if (!l_tr.synchronize_LOG_Transacoes()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } // ## Atribuo a minha transação para a parcela criada com payfone new_parc.set_fk_log_transacoes(l_tr.get_identity()); // ## Crio o registro na tabela de parcelas (somente a vista!) if (!new_parc.create_T_Parcelas()) { output_st_codResp = "80"; output_st_msg = "Erro de aplicativo"; return(false); } output_st_codResp = "00"; output_st_msg = "NSU: " + input_st_nsu.TrimStart('0'); /// USER [ execute ] END Registry("execute done exec_pf_autorizaVendaPendente "); return(true); }