Ejemplo n.º 1
0
        public override bool finish( )
        {
            Registry("finish exec_pos_confirmaVendaEmpresarial ");

            /// USER [ finish ]

            var_nu_nsuAtual = old_l_tr.get_identity();

            if (IsFail)
            {
                var_operacaoCartao = var_operacaoCartaoFail;
            }

            // ## Buscar todas as tabelas auxiliares

            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);

            if (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());

            // ## 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(prot.get_st_nome());

            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());

            /// USER [ finish ] END

            Registry("finish done exec_pos_confirmaVendaEmpresarial ");

            if (remoteTransaction == true)
            {
                return(true);
            }

            DataPortable dp_out = new DataPortable();

            dp_out.MapTagValue(COMM_OUT_EXEC_POS_CONFIRMAVENDAEMPRESARIAL.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_CONFIRMAVENDAEMPRESARIAL.pr, output_cont_pr as DataPortable);

            var_Comm.AddExitPortable(ref dp_cont_1);

            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);
        }
        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);
        }
Ejemplo n.º 4
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute schedule_fech_mensal ");

            /// USER [ execute ]

            T_Parcelas parc = new T_Parcelas(this);

            string mes = DateTime.Now.Month.ToString().PadLeft(2, '0');
            string ano = DateTime.Now.Year.ToString();

            T_Cartao cart     = new T_Cartao(this);
            T_Cartao cart_upd = new T_Cartao(this);

            if (parc.select_rows_emp_fechamento(emp.get_identity(), "0"))                  // numero parcela > 0
            {
                T_Parcelas       tmp  = new T_Parcelas(this);
                LOG_Transacoes   ltr  = new LOG_Transacoes(this);
                T_InfoAdicionais info = new T_InfoAdicionais(this);

                while (parc.fetch())
                {
                    if (!tmp.selectIdentity(parc.get_identity()))
                    {
                        continue;
                    }

                    if (!cart.selectIdentity(parc.get_fk_cartao()))
                    {
                        continue;
                    }

                    if (!ltr.selectIdentity(parc.get_fk_log_transacoes()))
                    {
                        continue;
                    }

                    if (ltr.get_tg_confirmada() != TipoConfirmacao.Confirmada)
                    {
                        continue;
                    }

                    if (st_empresaAfiliada != "")
                    {
                        if (!info.selectIdentity(cart.get_fk_infoAdicionais()))
                        {
                            continue;
                        }

                        if (info.get_st_empresaAfiliada().ToUpper().Trim() != st_empresaAfiliada.ToUpper().Trim())
                        {
                            continue;
                        }
                    }

                    if (parc.get_int_nu_parcela() == 1)
                    {
                        LOG_Fechamento log_fech = new LOG_Fechamento(this);

                        log_fech.set_st_mes(mes);
                        log_fech.set_st_ano(ano);
                        log_fech.set_vr_valor(parc.get_vr_valor());
                        log_fech.set_dt_fechamento(GetDataBaseTime());
                        log_fech.set_fk_empresa(parc.get_fk_empresa());
                        log_fech.set_fk_loja(parc.get_fk_loja());
                        log_fech.set_fk_cartao(parc.get_fk_cartao());
                        log_fech.set_fk_parcela(parc.get_identity());
                        log_fech.set_dt_compra(parc.get_dt_inclusao());
                        log_fech.set_nu_parcela(parc.get_nu_parcela());

                        log_fech.set_st_afiliada(st_empresaAfiliada);

                        log_fech.set_st_cartao(cart.get_st_empresa() +
                                               cart.get_st_matricula() +
                                               cart.get_st_titularidade());

                        if (!log_fech.create_LOG_Fechamento())
                        {
                            return(false);
                        }
                    }

                    // decrementa parcela
                    tmp.set_nu_parcela(tmp.get_int_nu_parcela() - 1);

                    tmp.set_tg_pago(Context.TRUE);

                    if (!tmp.synchronize_T_Parcelas())
                    {
                        return(false);
                    }
                }
            }

            //zera cota extra de todo mundo

            if (cart.select_rows_empresa(emp.get_st_empresa()))
            {
                while (cart.fetch())
                {
                    cart_upd.ExclusiveAccess();

                    cart_upd.selectIdentity(cart.get_identity());
                    cart_upd.set_vr_extraCota("0");

                    cart_upd.synchronize_T_Cartao();
                    cart_upd.ReleaseExclusive();
                }
            }


            /// USER [ execute ] END

            Registry("execute done schedule_fech_mensal ");

            return(true);
        }