public override bool authenticate( ) { Registry("authenticate exec_pos_desfazVendaEmpresarialSITEF "); /// USER [ authenticate ] // ## Buscar terminal T_Loja loja = new T_Loja(this); var_codResp = "0606"; //alterado if (!loja.select_rows_loja(input_cont_pe.get_st_terminal().Substring(1).TrimStart('0'))) { output_st_msg = "Erro aplicativo1"; return(false); } if (!loja.fetch()) { output_st_msg = "Erro aplicativo2"; return(false); } // ## Buscar transação pelo terminal e pelo valor l_tr = new LOG_Transacoes(this); if (!l_tr.select_rows_loj_vr(loja.get_identity(), input_cont_pe.get_vr_valor(), input_cont_pe.get_st_nsuOrigemSITEF())) { output_st_msg = "Erro aplicativo3"; return(false); } l_tr.SetReversedFetch(); if (!l_tr.fetch()) { output_st_msg = "Erro aplicativo4"; 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 aplicativo5"; return(false); } term = new T_Terminal(this); if (!term.selectIdentity(l_tr.get_fk_terminal())) { output_st_msg = "Erro aplicativo6"; return(false); } var_codResp = "0000"; /// USER [ authenticate ] END Registry("authenticate done exec_pos_desfazVendaEmpresarialSITEF "); return(true); }
public override bool finish( ) { Registry("finish exec_pos_vendaEmpresarialSITEF "); /// USER [ finish ] if (IsFail) { // ## Nsu não foi criado! l_nsu.set_dt_log(GetDataBaseTime()); if (!l_nsu.create_LOG_NSU()) { output_st_msg = "Erro aplicativo"; return(false); } var_nu_nsuAtual = l_nsu.get_identity(); var_operacaoCartao = var_operacaoCartaoFail; } // ## Copiar 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(var_nomeCliente); output_cont_pr.set_st_variavel(info.get_st_empresaAfiliada()); LOG_Transacoes l_tr = new LOG_Transacoes(this); #region - registra a transação - 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_vr_total); l_tr.set_nu_parcelas(var_nu_parcelas); l_tr.set_nu_nsu(var_nu_nsuAtual); l_tr.set_dt_transacao(GetDataBaseTime()); l_tr.set_nu_cod_erro(output_cont_pr.get_st_codResp()); l_tr.set_nu_nsuOrig(input_cont_pe.get_st_nsuOrigemSITEF()); l_tr.set_en_operacao(var_operacaoCartao); l_tr.set_st_msg_transacao("TERMINAL SITEF: " + input_cont_pe.get_st_terminalSITEF()); l_tr.set_fk_loja(term.get_fk_loja()); l_tr.set_st_doc(st_doc); if (IsFail) { l_tr.set_tg_confirmada(TipoConfirmacao.Erro); l_tr.set_tg_contabil(Context.FALSE); } else { l_tr.set_tg_confirmada(TipoConfirmacao.Pendente); l_tr.set_tg_contabil(Context.TRUE); } 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_dispMes.ToString()); l_tr.set_vr_saldo_disp_tot(vr_dispTot.ToString()); } #endregion //alterado output_cont_pr.set_st_variavel("Saldo disponível no mês: " + new money().setMoneyFormat(vr_dispMes) + " * " + "Saldo disponível parcelado: " + new money().setMoneyFormat(vr_dispTot)); l_tr.create_LOG_Transacoes(); #region - vincula parcelas com a transação - T_Parcelas parc_upd = new T_Parcelas(this); // ## Como o registro da transação é feito depois, // ## vincular as parcelas com este mesmo registro. for (int t = 0; t < lstParcs.Count; ++t) { parc_upd.ExclusiveAccess(); if (parc_upd.selectIdentity(lstParcs[t].ToString())) { parc_upd.set_fk_log_transacoes(l_tr.get_identity()); parc_upd.synchronize_T_Parcelas(); } parc_upd.ReleaseExclusive(); } #endregion /// USER [ finish ] END Registry("finish done exec_pos_vendaEmpresarialSITEF "); if (remoteTransaction == true) { return(true); } DataPortable dp_out = new DataPortable(); dp_out.MapTagValue(COMM_OUT_EXEC_POS_VENDAEMPRESARIAL.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_VENDAEMPRESARIAL.pr, output_cont_pr as DataPortable); var_Comm.AddExitPortable(ref dp_cont_1); return(true); }