public override bool authenticate( )
        {
            if (base.authenticate() == false)
            {
                return(false);
            }

            Registry("authenticate fetch_rel_2_rlt ");

            /// USER [ authenticate ]

            if (input_st_loja.Length == 0)
            {
                PublishError("Loja inválida");
                return(false);
            }

            loj = new T_Loja(this);

            // ## Busca loja pelo seu código

            if (!loj.select_rows_loja(input_st_loja))
            {
                PublishError("Loja inválida");
                return(false);
            }

            if (!loj.fetch())
            {
                return(false);
            }

            output_st_nome_loja = loj.get_st_social();

            fk_loja = loj.get_identity();

            l_tr = new LOG_Transacoes(this);

            // ## busca transações pelo período e loja

            if (!l_tr.select_rows_dt_loj(input_st_dt_ini,
                                         input_st_dt_fim,
                                         fk_loja))
            {
                PublishError("Nenhum registro encontrado");
                return(false);
            }

            /// USER [ authenticate ] END

            Registry("authenticate done fetch_rel_2_rlt ");

            return(true);
        }
        public override bool authenticate( )
        {
            if (base.authenticate() == false)
            {
                return(false);
            }

            Registry("authenticate fetch_rel_edu_extrato ");

            /// USER [ authenticate ]


            T_Cartao cart = new T_Cartao(this);

            if (!cart.select_rows_tudo(input_st_emp,                    // empresa
                                       input_st_mat,                    // matricula
                                       "01"))                           // titularidade
            {
                PublishError("Cartão inválido");
                return(true);
            }
            else
            {
                if (!cart.fetch())
                {
                    return(false);
                }

                st_cart_id = cart.get_identity();
            }

            // ## Busca todas transações do cartão no período

            l_tr = new LOG_Transacoes(this);

            if (!l_tr.select_rows_dt_cart(input_st_dt_ini,
                                          input_st_dt_fim,
                                          st_cart_id))
            {
                PublishError("Nenhum registro encontrado");
                return(false);
            }

            /// USER [ authenticate ] END

            Registry("authenticate done fetch_rel_edu_extrato ");

            return(true);
        }
示例#3
0
        public override bool authenticate( )
        {
            Registry("authenticate exec_pos_confirmaVendaEmpresarial ");

            /// USER [ authenticate ]

            input_st_nsu = input_st_nsu.PadLeft(6, '0');

            old_l_tr = new LOG_Transacoes(this);

            old_l_tr.ExclusiveAccess();

            // ## Busca NSU de hoje para
            // ## confirmação de cancelamento

            if (!old_l_tr.select_rows_nsu_oper(input_st_nsu,
                                               OperacaoCartao.VENDA_EMPRESARIAL,
                                               GetTodayStartTime(),
                                               GetTodayEndTime()))
            {
                output_st_msg = "NSU inválido (" + input_st_nsu.TrimStart('0') + ")";
                return(false);
            }

            if (!old_l_tr.fetch())
            {
                return(false);
            }

            // ## Busca cartão envolvido na transação

            cart = new T_Cartao(this);

            cart.ExclusiveAccess();

            if (!cart.selectIdentity(old_l_tr.get_fk_cartao()))
            {
                return(false);
            }

            var_nu_nsuAtual = input_st_nsu;

            /// USER [ authenticate ] END

            Registry("authenticate done exec_pos_confirmaVendaEmpresarial ");

            return(true);
        }
        public override bool authenticate( )
        {
            if (base.authenticate() == false)
            {
                return(false);
            }

            Registry("authenticate fetch_rel_5_rle ");

            /// USER [ authenticate ]

            if (input_st_empresa.Length == 0)
            {
                PublishError("Empresa inválida");
                return(false);
            }

            input_st_empresa = input_st_empresa.PadLeft(6, '0');

            emp  = new T_Empresa(this);
            loj  = new T_Loja(this);
            l_tr = new LOG_Transacoes(this);

            // # Busca Empresa

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("Empresa inválida");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            output_st_nome_empresa = emp.get_st_fantasia();

            /// USER [ authenticate ] END

            Registry("authenticate done fetch_rel_5_rle ");

            return(true);
        }
示例#5
0
 public void copy(ref LOG_Transacoes cpy)
 {
     fk_terminal       = cpy.fk_terminal;
     dt_transacao      = cpy.dt_transacao;
     nu_nsu            = cpy.nu_nsu;
     fk_empresa        = cpy.fk_empresa;
     fk_cartao         = cpy.fk_cartao;
     vr_total          = cpy.vr_total;
     nu_parcelas       = cpy.nu_parcelas;
     nu_cod_erro       = cpy.nu_cod_erro;
     tg_confirmada     = cpy.tg_confirmada;
     nu_nsuOrig        = cpy.nu_nsuOrig;
     en_operacao       = cpy.en_operacao;
     st_msg_transacao  = cpy.st_msg_transacao;
     tg_contabil       = cpy.tg_contabil;
     fk_loja           = cpy.fk_loja;
     vr_saldo_disp     = cpy.vr_saldo_disp;
     vr_saldo_disp_tot = cpy.vr_saldo_disp_tot;
     st_doc            = cpy.st_doc;
 }
示例#6
0
        public override bool execute( )
        {
            Registry("execute exec_pos_desfazVendaEmpresarialSITEF ");

            /// USER [ execute ]

            // ## Atualizar transação

            LOG_Transacoes l_tr_upd = new LOG_Transacoes(this);

            l_tr_upd.ExclusiveAccess();

            if (!l_tr_upd.selectIdentity(l_tr.get_identity()))
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            // ## Setar como desfeita

            l_tr_upd.set_tg_confirmada(TipoConfirmacao.Desfeita);

            // ## Atualizar

            if (!l_tr_upd.synchronize_LOG_Transacoes())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            output_cont_pr.set_st_nsuRcb(l_tr.get_nu_nsu());

            /// USER [ execute ] END

            Registry("execute done exec_pos_desfazVendaEmpresarialSITEF ");

            return(true);
        }
示例#7
0
        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 execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute exec_pf_cancelaPendencia ");

            /// USER [ execute ]

            // ## Busco pendência de payfone pelo NSU informado
            // ## para atualização

            T_PendPayFone pend = new T_PendPayFone(this);

            pend.ExclusiveAccess();

            if (!pend.select_rows_nsu(input_st_nsu_cancelado))
            {
                output_st_codResp = "01";
                output_st_msg     = "NSU inválido (" + input_st_nsu_cancelado.TrimStart('0') + ")";
                return(false);
            }

            if (!pend.fetch())
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            // ## busco terminal vinculado à pendência

            if (!term.selectIdentity(pend.get_fk_terminal()))
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            var_valorTotal = pend.get_vr_valor();

            // ## Se pendência tiver sido cancelada ou confirmada, sair

            if (pend.get_en_situacao() != TipoPendPayFone.PENDENTE)
            {
                output_st_codResp = "02";
                output_st_msg     = "NSU não pendente (" + input_st_nsu_cancelado.TrimStart('0') + ")";
                return(false);
            }

            // ## Nego esta pendência (requesição de usuário, não de lojista)

            pend.set_en_situacao(TipoPendPayFone.NEGADO);

            // ## Atualizar

            if (!pend.synchronize_T_PendPayFone())
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            // ## Buscar transação original para atualização

            LOG_Transacoes tmp_l_tr = new LOG_Transacoes(this);

            tmp_l_tr.ExclusiveAccess();

            if (!tmp_l_tr.select_rows_nsu_oper(input_st_nsu_cancelado,
                                               OperacaoCartao.PAY_FONE_GRAVA_PEND,
                                               GetTodayStartTime(),
                                               GetTodayEndTime()))
            {
                output_st_msg = "NSU inválido (" + input_st_nsu_cancelado.TrimStart('0') + ")";
                return(false);
            }

            if (!tmp_l_tr.fetch())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            // ## Atualizar valores

            tmp_l_tr.set_tg_contabil(Context.FALSE);
            tmp_l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada);

            if (!tmp_l_tr.synchronize_LOG_Transacoes())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            output_st_codResp = "00";
            output_st_msg     = "NSU: " + input_st_nsu_cancelado.TrimStart('0');

            /// USER [ execute ] END

            Registry("execute done exec_pf_cancelaPendencia ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute exec_pf_cancelaVenda ");

            /// USER [ execute ]

            // ## Buscar pendência (já confirmada) para cancelamento

            T_PendPayFone pend = new T_PendPayFone(this);

            pend.ExclusiveAccess();

            if (!pend.select_rows_nsu(input_st_nsu_cancelado))
            {
                output_st_codResp = "01";
                output_st_msg     = "NSU inválido (" + input_st_nsu_cancelado.TrimStart('0') + ")";
                return(false);
            }

            if (!pend.fetch())
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            // ## Buscar terminal vinculado

            term = new T_Terminal(this);

            if (!term.selectIdentity(pend.get_fk_terminal()))
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            var_valorTotal = pend.get_vr_valor();

            // ## Buscar lojista pelo terminal usado na pendência

            T_PayFone pf_lojista = new T_PayFone(this);

            if (!pf_lojista.select_fk_term(pend.get_fk_terminal()))
            {
                output_st_codResp = "05";
                output_st_msg     = "Lojista invalido";
                return(false);
            }

            // ## Confere se telefones batem

            if (pf_lojista.get_st_telefone() != input_st_tel_lojista)
            {
                output_st_codResp = "06";
                output_st_msg     = "Lojista invalido";
            }

            // ## Se não estiver confirmado, não pode cancelar

            if (pend.get_en_situacao() != TipoPendPayFone.CONFIRMADO)
            {
                output_st_codResp = "02";
                output_st_msg     = "NSU não confirmado " + input_st_nsu_cancelado.TrimStart('0');
                return(false);
            }

            // ## Se já estiver cancelado, não pode cancelar

            if (pend.get_en_situacao() == TipoPendPayFone.CANCELADO)
            {
                output_st_codResp = "02";
                output_st_msg     = "NSU prev. cancelado " + input_st_nsu_cancelado.TrimStart('0');
                return(false);
            }

            // ## Atribui como cancelado

            pend.set_en_situacao(TipoPendPayFone.CANCELADO);

            // ## Atualizar

            if (!pend.synchronize_T_PendPayFone())
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            // ## Buscar parcelas de hoje para determinado NSU

            T_Parcelas parc = new T_Parcelas(this);

            parc.ExclusiveAccess();

            if (!parc.select_rows_nsu(pend.get_nu_nsu(),
                                      GetTodayStartTime(),
                                      GetTodayEndTime()))
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            if (!parc.fetch())
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            // ## Buscar cartão envolvido

            T_Cartao cart = new T_Cartao(this);

            cart.ExclusiveAccess();

            if (!cart.selectIdentity(parc.get_fk_cartao()))
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            // ## Se for edu, disponibilizar imediatamente (estorno)

            if (cart.get_tg_tipoCartao() == TipoCartao.educacional)
            {
                long disp = Convert.ToInt64(cart.get_vr_disp_educacional()) +
                            Convert.ToInt64(parc.get_vr_valor());

                cart.set_vr_disp_educacional(disp.ToString());
            }

            // ## Atualiza cartão

            if (!cart.synchronize_T_Cartao())
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            // ## Atualizar transação original

            LOG_Transacoes tmp_l_tr = new LOG_Transacoes(this);

            tmp_l_tr.ExclusiveAccess();

            if (!tmp_l_tr.select_rows_nsu_oper(input_st_nsu_cancelado,
                                               OperacaoCartao.PAY_FONE_GRAVA_PEND,
                                               GetTodayStartTime(),
                                               GetTodayEndTime()))
            {
                output_st_msg = "NSU inválido (" + input_st_nsu_cancelado.TrimStart('0') + ")";
                return(false);
            }

            if (!tmp_l_tr.fetch())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            // ## Confirma cancelamento

            tmp_l_tr.set_tg_contabil(Context.TRUE);
            tmp_l_tr.set_tg_confirmada(TipoConfirmacao.Cancelada);

            // ## Atualiza transação

            if (!tmp_l_tr.synchronize_LOG_Transacoes())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            output_st_codResp = "00";
            output_st_msg     = "NSU: " + input_st_nsu_cancelado.TrimStart('0');

            /// USER [ execute ] END

            Registry("execute done exec_pf_cancelaVenda ");

            return(true);
        }
        public override bool authenticate( )
        {
            Registry("authenticate web_fetch_rel_edu_extrato ");

            /// USER [ authenticate ]

            input_st_cart = input_st_cart.PadLeft(14, '0');

            l_tr = new LOG_Transacoes(this);

            T_Cartao cart = new T_Cartao(this);

            if (!cart.select_rows_tudo(input_st_cart.Substring(0, 6),                           // empresa
                                       input_st_cart.Substring(6, 6),                           // matricula
                                       input_st_cart.Substring(12, 2)))                         // titularidade
            {
                PublishError("Cartão inválido");
                return(false);
            }
            else
            {
                if (!cart.fetch())
                {
                    return(false);
                }

                st_cart_id = cart.get_identity();

                if (input_tg_resp == Context.TRUE)
                {
                    T_Proprietario prot = new T_Proprietario(this);

                    if (!prot.selectIdentity(cart.get_fk_dadosProprietario()))
                    {
                        return(false);
                    }

                    if (prot.get_st_senhaEdu() != input_st_senha)
                    {
                        PublishError("Senha de responsável inválida");
                        return(false);
                    }
                }
                else
                {
                    if (cart.get_st_senha() != input_st_senha)
                    {
                        PublishError("Senha de aluno inválida");
                        return(false);
                    }
                }
            }

            if (!l_tr.select_rows_dt_cart(input_st_dt_ini,
                                          input_st_dt_fim,
                                          st_cart_id))
            {
                PublishError("Nenhum registro encontrado");
                return(false);
            }

            /// USER [ authenticate ] END

            Registry("authenticate done web_fetch_rel_edu_extrato ");

            return(true);
        }
示例#11
0
        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 authenticate( )
        {
            Registry("authenticate exec_pos_vendaEmpresarialSITEF ");

            /// USER [ authenticate ]

            cart  = new T_Cartao(this);
            emp   = new T_Empresa(this);
            l_nsu = new LOG_NSU(this);
            info  = new T_InfoAdicionais(this);
            prot  = new T_Proprietario(this);
            loj   = new T_Loja(this);

            // Default é erro genérico
            var_codResp = "9999";

            // Normal
            var_nu_nsuAtual    = Context.NONE;
            var_nu_nsuEntidade = Context.NONE;

            // Cancelamento
            var_nu_nsuOrig    = Context.NONE;
            var_nu_nsuEntOrig = Context.NONE;

            // Valores básicos de comércio
            var_vr_total    = input_cont_pe.get_vr_valor();
            var_nu_parcelas = input_cont_pe.get_nu_parcelas();

            var_codResp = "0606";

            // alterado

            #region - valida loja AO INVES DE TERMINAL (antigo) -

            // ## Busca terminal pelo seu código

            // pega os 7 ultimos
            if (!loj.select_rows_loja(input_cont_pe.get_st_terminal().Substring(1).TrimStart('0')))
            {
                output_st_msg = "Loja inexistente";
                var_codResp   = "0303";
                return(false);
            }

            if (!loj.fetch())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            // alterado!
            // busca o primeiro terminal vinculado

            if (!term.select_fk_loja(loj.get_identity()))
            {
                output_st_msg = "Erro do terminal";
                return(false);
            }

            term.fetch();

            #endregion

            // continua igual

            #region - valida empresa -

            // ## Busca empresa informada

            if (!emp.select_rows_empresa(input_cont_pe.get_st_empresa()))
            {
                output_st_msg = "Empresa inexistente";
                var_codResp   = "0303";
                return(false);
            }

            if (!emp.fetch())
            {
                output_st_msg = "Erro de aplicativo";
                return(false);
            }

            // ## Caso empresa bloqueada, sair

            if (emp.get_tg_bloq() == Context.TRUE)
            {
                output_st_msg = "Empresa bloqueada";
                var_codResp   = "0303";
                return(false);
            }

            #endregion

            // alterado!

            #region - valida relação da Loja do Terminal com Empresa (Convênio)

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            if (!loj_emp.select_fk_empresa_loja(emp.get_identity(), loj.get_identity()))
            {
                output_st_msg = "Loja não conveniada";
                var_codResp   = "0303";
                return(false);
            }

            if (loj.get_tg_blocked() == Context.TRUE)
            {
                output_st_msg = "Loja bloqueada";
                var_codResp   = "0303";
                return(false);
            }

            if (loj.get_tg_cancel() == Context.TRUE)
            {
                output_st_msg = "Loja cancelada";
                var_codResp   = "0303";
                return(false);
            }

            #endregion

            // continua igual

            #region - valida cartão -

            if (!cart.select_rows_tudo(input_cont_pe.get_st_empresa(),
                                       input_cont_pe.get_st_matricula(),
                                       input_cont_pe.get_st_titularidade()))
            {
                output_st_msg = "Cartão inexistente";
                var_codResp   = "0606";
                return(false);
            }

            if (!cart.fetch())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            // ## Verifica bloqueio

            if (cart.get_tg_status() == CartaoStatus.Bloqueado)
            {
                output_st_msg = "Cartão inválido";
                var_codResp   = "0505";
                return(false);
            }

            if (cart.get_tg_emitido() != StatusExpedicao.Expedido)
            {
                output_st_msg = "Cartão inválido";
                var_codResp   = "0505";
                return(false);
            }

            if (cart.get_tg_tipoCartao() == TipoCartao.educacional)
            {
                // ## No caso educacional, permitir somente venda
                // ## em uma parcela

                if (input_cont_pe.get_nu_parcelas().TrimStart('0') != "1")
                {
                    output_st_msg = "Somente uma parcela";
                    var_codResp   = "0606";
                    return(false);
                }
            }

            // ## Conferir vencto do cartão

            /*
             * if ( cart.get_tg_tipoCartao() == TipoCartao.empresarial )
             * {
             *      int year  = 2000 + Convert.ToInt32 ( cart.get_st_venctoCartao().Substring ( 2,2 ) );
             *      int month = Convert.ToInt32 ( cart.get_st_venctoCartao().Substring ( 0,2 ) );
             *      int day   = 1;
             *
             * DateTime tim_venc = new DateTime ( year, month, day );
             *
             * if ( tim_venc < DateTime.Now )
             *      {
             * output_st_msg     = "Cartão vencido";
             * var_codResp       = "7676";
             * return false;
             *      }
             * }
             */

            #endregion

            var_vr_total    = input_cont_pe.get_vr_valor();
            var_nu_parcelas = input_cont_pe.get_nu_parcelas();

            SQL_LOGGING_ENABLE = false;

            // continua igual

            #region - Verifica disponivel mensal nas parcelas -

            T_Parcelas parc = new T_Parcelas(this);

            string myId = cart.get_identity();

            if (cart.get_st_titularidade() != "01")
            {
                cart.select_rows_tudo(cart.get_st_empresa(),
                                      cart.get_st_matricula(),
                                      "01");
                cart.fetch();
            }

            vr_dispMes = cart.get_int_vr_limiteMensal() + cart.get_int_vr_extraCota();
            vr_dispTot = cart.get_int_vr_limiteTotal() + cart.get_int_vr_extraCota();

            vr_valor = Convert.ToInt64(input_cont_pe.get_vr_valor());

            if (cart.get_tg_tipoCartao() != TipoCartao.presente)
            {
                new ApplicationUtil().GetSaldoDisponivel(ref cart, ref vr_dispMes, ref vr_dispTot);

                int tmp_nu_parc = Convert.ToInt32(input_cont_pe.get_nu_parcelas());

                if (tmp_nu_parc > 1)
                {
                    if (vr_valor > vr_dispTot)
                    {
                        output_st_msg = "limite excedido";
                        var_codResp   = "2727";

                        SQL_LOGGING_ENABLE = true;

                        return(false);
                    }

                    LOG_Transacoes ltr     = new LOG_Transacoes(this);
                    T_Parcelas     parcTot = new T_Parcelas(this);

                    string tmp = input_cont_pe.get_st_valores();

                    ArrayList lstCartoes = new ArrayList();

                    T_Cartao c_t = new T_Cartao(this);

                    c_t.select_rows_empresa_matricula(cart.get_st_empresa(),
                                                      cart.get_st_matricula());

                    while (c_t.fetch())
                    {
                        lstCartoes.Add(c_t.get_identity());
                    }

                    for (int t = 1, index_pos = 0; t <= tmp_nu_parc; ++t)
                    {
                        long valor_unit_parc = Convert.ToInt64(tmp.Substring(index_pos, 12));

                        index_pos += 12;

                        if (valor_unit_parc > cart.get_int_vr_limiteMensal())
                        {
                            output_st_msg = "limite excedido";
                            var_codResp   = "2727";

                            SQL_LOGGING_ENABLE = true;

                            return(false);
                        }

                        long dispMesParc = cart.get_int_vr_limiteMensal();

                        // Verifica disponivel mensal nas parcelas
                        if (parcTot.select_rows_cartao_mensal(ref lstCartoes, t.ToString()))                              // este mês
                        {
                            while (parcTot.fetch())
                            {
                                if (ltr.selectIdentity(parcTot.get_fk_log_transacoes()))                                      // busca transação
                                {
                                    if (ltr.get_tg_confirmada() == TipoConfirmacao.Confirmada ||
                                        ltr.get_tg_confirmada() == TipoConfirmacao.Pendente)
                                    {
                                        dispMesParc -= parcTot.get_int_vr_valor();
                                    }
                                }
                            }
                        }

                        if (valor_unit_parc > dispMesParc)
                        {
                            output_st_msg = "limite excedido";
                            var_codResp   = "2727";

                            SQL_LOGGING_ENABLE = true;

                            return(false);
                        }
                    }
                }
                else
                {
                    if (vr_valor > vr_dispMes || vr_valor > vr_dispTot)
                    {
                        output_st_msg = "limite excedido";
                        var_codResp   = "2727";

                        SQL_LOGGING_ENABLE = true;

                        return(false);
                    }
                }
            }
            else
            {
                if (vr_valor > cart.get_int_vr_limiteTotal())
                {
                    output_st_msg = "limite excedido";
                    var_codResp   = "2727";

                    SQL_LOGGING_ENABLE = true;

                    return(false);
                }
            }

            if (myId != cart.get_identity())
            {
                // restaurar cartão dep
                cart.selectIdentity(myId);
            }

            #endregion

            SQL_LOGGING_ENABLE = true;

            /// USER [ authenticate ] END

            Registry("authenticate done exec_pos_vendaEmpresarialSITEF ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_edu_movEscola ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("Nenhuma empresa com o código fornecido");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            output_st_nome_escola = emp.get_st_fantasia();

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            StringBuilder sb = new StringBuilder();

            if (ltr.select_rows_emp_dt(emp.get_identity(),
                                       input_st_dt_ini,
                                       input_st_dt_fim,
                                       TipoConfirmacao.Confirmada))
            {
                T_Cartao cart = new T_Cartao(this);
                T_Loja   loj  = new T_Loja(this);

                while (ltr.fetch())
                {
                    if (!cart.selectIdentity(ltr.get_fk_cartao()))
                    {
                        continue;
                    }

                    if (!loj.selectIdentity(ltr.get_fk_loja()))
                    {
                        continue;
                    }

                    Rel_MovEscola rme = new Rel_MovEscola();

                    rme.set_st_aluno(cart.get_st_aluno());
                    rme.set_st_loja(loj.get_st_nome() + " - " + loj.get_st_social());
                    rme.set_vr_valor(ltr.get_vr_total());
                    rme.set_dt_trans(ltr.get_dt_transacao());

                    DataPortable mem_rme = rme as DataPortable;

                    // # Guarda registro

                    sb.Append(MemorySave(ref mem_rme));
                    sb.Append(",");
                }
            }

            string list_ids = sb.ToString().TrimEnd(',');

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_content = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_rel_edu_movEscola ");

            return(true);
        }
示例#14
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_listaTransacoesLojas ");

            /// USER [ execute ]

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            if (!ltr.select_rows_dt(input_dt_ini, input_dt_fim))
            {
                PublishError("Nenhuma transação disponível");
                return(false);
            }

            Hashtable hshEmp = new Hashtable();
            Hashtable hshLoj = new Hashtable();

            ArrayList lstEmp = new ArrayList();
            ArrayList lstLoj = new ArrayList();

            while (ltr.fetch())
            {
                string fk_empresa = ltr.get_fk_empresa();

                if (hshEmp [fk_empresa] == null)
                {
                    hshEmp [fk_empresa] = (long)0;
                    lstEmp.Add(fk_empresa);
                }

                hshEmp [fk_empresa] = (long)hshEmp [fk_empresa] + 1;

                string fk_loja = ltr.get_fk_loja();

                if (hshLoj [fk_loja] == null)
                {
                    hshLoj [fk_loja] = (long)0;
                    lstLoj.Add(fk_loja);
                }

                hshLoj [fk_loja] = (long)hshLoj [fk_loja] + 1;
            }

            ArrayList lstEmpSort = new ArrayList();

            for (int t = 0; t < lstEmp.Count; ++t)
            {
                string tg  = lstEmp[t].ToString();
                long   qtd = (long)hshEmp [tg];
                string res = qtd.ToString().PadLeft(12, '0') + tg;

                lstEmpSort.Add(res);
            }

            ArrayList lstLojSort = new ArrayList();

            for (int t = 0; t < lstLoj.Count; ++t)
            {
                string tg  = lstLoj[t].ToString();
                long   qtd = (long)hshLoj [tg];
                string res = qtd.ToString().PadLeft(12, '0') + tg;

                lstLojSort.Add(res);
            }

            lstEmpSort.Sort();
            lstLojSort.Sort();

            StringBuilder sb_global = new StringBuilder();

            T_Empresa emp = new T_Empresa(this);

            for (int t = lstEmpSort.Count - 1; t >= 0; --t)
            {
                string line = lstEmpSort[t].ToString();
                string qtd  = line.Substring(0, 12).TrimStart('0');

                if (emp.selectIdentity(line.Substring(12, line.Length - 12)))
                {
                    DadosConsultaGraficoTransLojas dl = new DadosConsultaGraficoTransLojas();

                    dl.set_nu_trans(qtd);
                    dl.set_nu_cod(emp.get_st_empresa());
                    dl.set_st_nome(emp.get_st_fantasia());
                    dl.set_tg_tipo("E");

                    DataPortable mem = dl as DataPortable;

                    sb_global.Append(MemorySave(ref mem));
                    sb_global.Append(",");
                }
            }

            T_Loja loj = new T_Loja(this);

            for (int t = lstLojSort.Count - 1; t >= 0; --t)
            {
                string line = lstLojSort[t].ToString();
                string qtd  = line.Substring(0, 12).TrimStart('0');

                if (loj.selectIdentity(line.Substring(12, line.Length - 12)))
                {
                    DadosConsultaGraficoTransLojas dl = new DadosConsultaGraficoTransLojas();

                    dl.set_nu_trans(qtd);
                    dl.set_nu_cod(loj.get_st_loja());
                    dl.set_st_nome(loj.get_st_nome() + " - " + loj.get_st_social());
                    dl.set_tg_tipo("L");

                    DataPortable mem = dl as DataPortable;

                    sb_global.Append(MemorySave(ref mem));
                    sb_global.Append(",");
                }
            }

            string list_ids = sb_global.ToString().TrimEnd(',');

            if (list_ids == "")
            {
                PublishNote("Nenhum registro encontrado");
                return(false);
            }

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_csv = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_listaTransacoesLojas ");

            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 execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_repasseData ");

            /// USER [ execute ]

            DateTime t_start = Convert.ToDateTime(input_dt_ini);
            DateTime t_end   = t_start.AddDays(1);

            Hashtable hshLojas = new Hashtable();

            ArrayList lstEmpresas = new ArrayList();

            // ## Busca empresa

            T_Empresa emp      = new T_Empresa(this);
            T_Empresa emp_link = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_cont_header.get_st_empresa()))
            {
                PublishError("Código de empresa inválida");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            lstEmpresas.Add(emp.get_identity());

            if (emp_link.select_fk_admin(emp.get_identity()))
            {
                while (emp_link.fetch())
                {
                    lstEmpresas.Add(emp_link.get_identity());
                }
            }

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            // ## Busca convenios

            if (!loj_emp.select_rows_empresas(ref lstEmpresas))
            {
                PublishError("Nenhuma loja cadastrada");
                return(false);
            }

            T_Loja         loj  = new T_Loja(this);
            T_Cartao       cart = new T_Cartao(this);
            LOG_Transacoes ltr  = new LOG_Transacoes(this);
            T_Parcelas     parc = new T_Parcelas(this);

            StringBuilder sb       = new StringBuilder();
            StringBuilder sb_lojas = new StringBuilder();

            while (loj_emp.fetch())
            {
                if (!loj.selectIdentity(loj_emp.get_fk_loja()))
                {
                    return(false);
                }

                double tx   = loj_emp.get_int_tx_admin();
                long   dias = loj_emp.get_int_nu_dias_repasse();

                long repasse    = 0,
                     total_loja = 0;

                if (parc.select_rows_repasse(loj.get_identity(),
                                             TipoParcela.EM_ABERTO))                      // ainda não pagos
                {
                    while (parc.fetch())
                    {
                        if (ltr.selectIdentity(parc.get_fk_log_transacoes()))
                        {
                            if (ltr.get_tg_confirmada() != TipoConfirmacao.Confirmada)
                            {
                                continue;
                            }
                        }

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

                        DadosRepasse dr = new DadosRepasse();

                        dr.set_st_nsu(parc.get_nu_nsu());
                        dr.set_st_loja(loj.get_st_loja());
                        dr.set_st_cartao(cart.get_st_empresa() + "." +
                                         cart.get_st_matricula() + "." +
                                         cart.get_st_titularidade());

                        DateTime tim = Convert.ToDateTime(parc.get_dt_inclusao());

                        // fora da faixa requerida pelo relatório
                        if (tim > t_end)
                        {
                            continue;
                        }

                        dr.set_dt_trans(parc.get_dt_inclusao());

                        // acerta data correta do repasse
                        dr.set_dt_repasse(GetDataBaseTime(tim.AddDays(dias)));

                        repasse = Convert.ToInt64(parc.get_int_vr_valor() - (parc.get_int_vr_valor() * tx / 10000));

                        dr.set_vr_repasse(repasse.ToString());
                        dr.set_id_parcela(parc.get_identity());

                        DateTime tm_rep = Convert.ToDateTime(dr.get_dt_repasse());

                        dr.set_tg_confirmado(Context.TRUE);

                        if (tm_rep <= t_start)
                        {
                            total_loja += repasse;
                        }
                        else if (tm_rep <= t_end)
                        {
                            total_loja += repasse;
                        }

                        // salva registro do detalhe
                        {
                            DataPortable mem = dr as DataPortable;

                            sb.Append(MemorySave(ref mem));
                            sb.Append(",");
                        }
                    }
                }

                // salva registro da loja
                if (total_loja > 0)
                {
                    DadosSumarioRepasse dsr = new DadosSumarioRepasse();

                    dsr.set_st_loja("(" + loj.get_st_loja() + ") " + loj.get_st_nome() + " - " + loj.get_st_social());
                    dsr.set_st_codLoja(loj.get_st_loja());
                    dsr.set_vr_valor(total_loja.ToString());

                    DataPortable mem = dsr as DataPortable;

                    sb_lojas.Append(MemorySave(ref mem));
                    sb_lojas.Append(",");
                }
            }

            // ## Guarda indexador de grupo dos detalhes
            {
                string list_ids = sb.ToString().TrimEnd(',');

                if (list_ids == "")
                {
                    PublishNote("Nenhum registro encontrado");
                    return(false);
                }

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_block_detalhe_loja = MemorySave(ref dp);
            }

            // ## Guarda indexador de grupo de sumario das lojas
            {
                string list_ids = sb_lojas.ToString().TrimEnd(',');

                if (list_ids == "")
                {
                    PublishNote("Nenhum registro encontrado");
                    return(false);
                }

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                output_block_sumario_loja = MemorySave(ref dp);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_repasseData ");

            return(true);
        }
        public override bool execute( )
        {
            Registry("execute fetch_consultaLojistaRep ");

            /// USER [ execute ]

            T_Loja loj = new T_Loja(this);

            if (!loj.select_rows_loja(input_cnpj))
            {
                PublishError("Cnpj não disponível");
                return(false);
            }

            if (!loj.fetch())
            {
                return(false);
            }

            if (loj.get_st_senha() != input_pass)
            {
                PublishError("Senha inválida");
                return(false);
            }

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_empresa.PadLeft(6, '0')))
            {
                PublishError("Empresa não disponível");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            LINK_LojaEmpresa lje = new LINK_LojaEmpresa(this);

            if (!lje.select_fk_empresa_loja(emp.get_identity(), loj.get_identity()))
            {
                PublishError("Loja não conveniada com associação");
                return(false);
            }

            if (!lje.fetch())
            {
                return(false);
            }

            double tx = lje.get_int_tx_admin();

            T_Cartao       cart = new T_Cartao(this);
            T_Parcelas     parc = new T_Parcelas(this);
            LOG_Transacoes ltr  = new LOG_Transacoes(this);
            LOG_Fechamento lf   = new LOG_Fechamento(this);

            StringBuilder sb = new StringBuilder();

            if (lf.select_rows_mes_ano(input_mes.PadLeft(2, '0'),
                                       input_ano.PadLeft(2, '0'),
                                       emp.get_identity()))
            {
                if (lf.RowCount() > 0)
                {
                    while (lf.fetch())
                    {
                        if (lf.get_fk_loja() != loj.get_identity())
                        {
                            continue;
                        }

                        if (!parc.selectIdentity(lf.get_fk_parcela()))
                        {
                            return(false);
                        }

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

                        if (!emp.selectIdentity(ltr.get_fk_empresa()))
                        {
                            return(false);
                        }

                        if (!cart.selectIdentity(ltr.get_fk_cartao()))
                        {
                            return(false);
                        }

                        DadosConsultaTransacao dct = new DadosConsultaTransacao();

                        dct.set_dt_transacao(ltr.get_dt_transacao());
                        dct.set_st_nsu(ltr.get_nu_nsu());
                        dct.set_nu_parcelas(parc.get_nu_indice());

                        dct.set_st_cartao(cart.get_st_empresa() + "." +
                                          cart.get_st_matricula() + "." +
                                          cart.get_st_titularidade());

                        dct.set_vr_valor(ltr.get_vr_total());

                        long repasse = Convert.ToInt64(lf.get_int_vr_valor() -
                                                       (lf.get_int_vr_valor() * tx / 10000));

                        dct.set_vr_repasse(repasse.ToString());

                        DataPortable tmp = dct as DataPortable;

                        sb.Append(MemorySave(ref tmp));
                        sb.Append(",");
                    }
                }
            }

            string list_ids = sb.ToString().TrimEnd(',');

            if (list_ids == "")
            {
                PublishNote("Nenhum resultado foi encontrado");
                return(true);
            }

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_content = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_consultaLojistaRep ");

            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);
        }
示例#19
0
        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 execute( )
        {
            Registry("execute exec_pf_graficoGerencial ");

            /// USER [ execute ]

            string dt_start = "";
            string dt_end   = "";

            if (input_tg_tipo == "01")
            {
                dt_start = GetTodayStartTime();
                dt_end   = GetTodayEndTime();
            }
            else if (input_tg_tipo == "02")
            {
                dt_start = GetMonthStartTime();
                dt_end   = GetMonthEndTime();
            }

            long Conf = 0;
            long Canc = 0;
            long Neg  = 0;
            long Pend = 0;

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            if (ltr.select_rows_dt(dt_start, dt_end))
            {
                while (ltr.fetch())
                {
                    if (ltr.get_tg_confirmada() == TipoConfirmacao.Cancelada)
                    {
                        ++Canc;
                    }
                    else if (ltr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                    {
                        ++Conf;
                    }
                    else if (ltr.get_tg_confirmada() == TipoConfirmacao.Negada ||
                             ltr.get_tg_confirmada() == TipoConfirmacao.Erro)
                    {
                        ++Neg;
                    }
                    else if (ltr.get_tg_confirmada() == TipoConfirmacao.Pendente)
                    {
                        ++Pend;
                    }
                }
            }

            {
                DataPortable dp = new DataPortable();

                dp.setValue("desc", "Canc");
                dp.setValue("valor", Canc.ToString());

                output_array_generic_lst.Add(dp);
            }

            {
                DataPortable dp = new DataPortable();

                dp.setValue("desc", "Conf");
                dp.setValue("valor", Conf.ToString());

                output_array_generic_lst.Add(dp);
            }

            {
                DataPortable dp = new DataPortable();

                dp.setValue("desc", "Neg");
                dp.setValue("valor", Neg.ToString());

                output_array_generic_lst.Add(dp);
            }

            {
                DataPortable dp = new DataPortable();

                dp.setValue("desc", "Pend");
                dp.setValue("valor", Pend.ToString());

                output_array_generic_lst.Add(dp);
            }

            /// USER [ execute ] END

            Registry("execute done exec_pf_graficoGerencial ");

            return(true);
        }
示例#21
0
        public override bool authenticate( )
        {
            if (base.authenticate() == false)
            {
                return(false);
            }

            Registry("authenticate fetch_rel_1_rtc ");

            /// USER [ authenticate ]

            input_st_cart = input_st_cart.PadLeft(14, '0');

            l_tr = new LOG_Transacoes(this);

            // ## Confere telefone

            if (input_st_pf.Length == 10)
            {
                T_PayFone pf = new T_PayFone(this);

                if (!pf.select_rows_telefone(input_st_pf))
                {
                    PublishError("Telefone inválido");
                    return(true);
                }
                else
                {
                    if (!pf.fetch())
                    {
                        return(false);
                    }

                    st_cart_id = pf.get_fk_cartao();
                }
            }

            // ##  Confere cartão

            else if (input_st_cart.Length == 14)
            {
                T_Cartao cart = new T_Cartao(this);

                if (!cart.select_rows_tudo(input_st_cart.Substring(0, 6),                               // empresa
                                           input_st_cart.Substring(6, 6),                               // matricula
                                           input_st_cart.Substring(12, 2)))                             // titularidade
                {
                    PublishError("Cartão inválido");
                    return(true);
                }
                else
                {
                    if (!cart.fetch())
                    {
                        return(false);
                    }

                    st_cart_id = cart.get_identity();
                }
            }

            // ## Confere Loja

            loj = new T_Loja(this);

            if (input_st_loja.Length > 0)
            {
                // ## Busca pelo código

                if (!loj.select_rows_loja(input_st_loja))
                {
                    PublishError("Loja inexistente");
                    return(true);
                }

                if (!loj.fetch())
                {
                    return(false);
                }

                fk_loja = loj.get_identity();
            }

            // ## Seleciona os registros de transações

            l_tr.select_rows_dt_cart(input_st_dt_ini,
                                     input_st_dt_fim,
                                     st_cart_id);

            /// USER [ authenticate ] END

            Registry("authenticate done fetch_rel_1_rtc ");

            return(true);
        }
示例#22
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_prevLojista ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                PublishError("Empresa não disponível");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            T_Loja loj = new T_Loja(this);

            if (!loj.select_rows_loja(input_cont_header.get_st_empresa().TrimStart('0')))
            {
                return(false);
            }

            if (!loj.fetch())
            {
                return(false);
            }

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            if (!loj_emp.select_fk_empresa_loja(emp.get_identity(),
                                                loj.get_identity()))
            {
                PublishError("Loja não conveniada com empresa");
                return(false);
            }

            if (!loj_emp.fetch())
            {
                return(false);
            }

            double tx = loj_emp.get_int_tx_admin();

            T_Parcelas     parc = new T_Parcelas(this);
            T_Cartao       cart = new T_Cartao(this);
            LOG_Transacoes ltr  = new LOG_Transacoes(this);

            if (parc.select_rows_lojista_emp(loj.get_identity(),
                                             emp.get_identity(),
                                             "1"))
            {
                SQL_LOGGING_ENABLE = false;

                StringBuilder sb = new StringBuilder();

                while (parc.fetch())
                {
                    if (parc.get_tg_pago() == Context.TRUE)
                    {
                        continue;
                    }

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

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

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

                    if (cart.get_st_empresa() != emp.get_st_empresa())
                    {
                        continue;
                    }

                    DadosRepasse dr = new DadosRepasse();

                    dr.set_st_cartao(cart.get_st_empresa() + "." +
                                     cart.get_st_matricula() + "." +
                                     cart.get_st_titularidade());

                    dr.set_st_nsu(parc.get_nu_nsu());
                    dr.set_dt_trans(parc.get_dt_inclusao());
                    dr.set_id_parcela(parc.get_nu_indice());
                    dr.set_vr_total(parc.get_vr_valor());

                    //DateTime t_rep = Convert.ToDateTime ( p

                    //dr.set_dt_repasse   (

                    long repasse = Convert.ToInt64(parc.get_int_vr_valor() - (parc.get_int_vr_valor() * tx / 10000));

                    dr.set_vr_repasse(repasse.ToString());

                    DataPortable mem_rtc = dr as DataPortable;

                    // ## obtem indice

                    sb.Append(MemorySave(ref mem_rtc));
                    sb.Append(",");
                }

                string list_ids = sb.ToString().TrimEnd(',');

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## obtem indice geral

                output_st_csv = MemorySave(ref dp);

                SQL_LOGGING_ENABLE = true;
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_prevLojista ");

            return(true);
        }
        public override bool execute( )
        {
            Registry("execute fetch_extratoWebFuturo ");

            /// USER [ execute ]

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

            if (!cart.select_rows_tudo(input_st_cartao.Substring(0, 6),
                                       input_st_cartao.Substring(6, 6),
                                       input_st_cartao.Substring(12, 2)))
            {
                PublishError("Matrícula não disponível");
                return(false);
            }

            if (!cart.fetch())
            {
                return(false);
            }

            if (cart.get_st_senha() != input_st_senha)
            {
                PublishError("Senha inválida");
                return(false);
            }

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(cart.get_st_empresa()))
            {
                PublishError("Empresa inválida");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            T_Parcelas parc = new T_Parcelas(this);

            ArrayList lstDeps = new ArrayList();

            if (cart_parc_dep.select_rows_empresa_matricula(cart.get_st_empresa(),
                                                            cart.get_st_matricula()))
            {
                while (cart_parc_dep.fetch())
                {
                    lstDeps.Add(cart_parc_dep.get_identity());
                }
            }

            T_Terminal     term = new T_Terminal(this);
            T_Loja         loj  = new T_Loja(this);
            LOG_Transacoes l_tr = new LOG_Transacoes(this);

            StringBuilder sb_parcs = new StringBuilder();

            for (int t = 2; t <= emp.get_int_nu_parcelas(); ++t)
            {
                if (parc.select_rows_relat_parc(t.ToString(), ref lstDeps))
                {
                    while (parc.fetch())
                    {
                        if (!term.selectIdentity(parc.get_fk_terminal()))
                        {
                            continue;
                        }

                        if (!loj.selectIdentity(term.get_fk_loja()))
                        {
                            continue;
                        }

                        if (l_tr.selectIdentity(parc.get_fk_log_transacoes()))
                        {
                            if (l_tr.get_tg_confirmada() != TipoConfirmacao.Confirmada)
                            {
                                continue;
                            }
                        }

                        Rel_RTC rtc = new Rel_RTC();

                        rtc.set_st_loja(loj.get_st_nome());
                        rtc.set_vr_total(parc.get_vr_valor());
                        rtc.set_nu_parc(parc.get_nu_tot_parcelas());
                        rtc.set_st_indice_parcela(parc.get_nu_indice());

                        DataPortable mem_rtc = rtc as DataPortable;

                        // ## obtem indice

                        sb_parcs.Append(MemorySave(ref mem_rtc));
                        sb_parcs.Append(",");
                    }
                }
            }

            string list_ids_parc = sb_parcs.ToString().TrimEnd(',');

            DataPortable dp_parcs = new DataPortable();

            dp_parcs.setValue("ids", list_ids_parc);

            output_st_content = MemorySave(ref dp_parcs);

            /// USER [ execute ] END

            Registry("execute done fetch_extratoWebFuturo ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_reciboVendaGift ");

            /// USER [ execute ]

            LOG_Transacoes ltr  = new LOG_Transacoes(this);
            T_Loja         loj  = new T_Loja(this);
            T_Terminal     term = new T_Terminal(this);
            T_Cartao       cart = new T_Cartao(this);

            if (!ltr.select_rows_nsu(input_nsu, GetTodayStartTime(), GetTodayEndTime()))
            {
                return(false);
            }

            if (!ltr.fetch())
            {
                return(false);
            }

            fk_transacao = ltr.get_identity();

            if (!loj.selectIdentity(ltr.get_fk_loja()))
            {
                return(false);
            }

            if (!term.selectIdentity(ltr.get_fk_terminal()))
            {
                return(false);
            }

            if (!cart.selectIdentity(ltr.get_fk_cartao()))
            {
                return(false);
            }

            ArrayList lstContent = new ArrayList();

            lstContent.Add("Gift Card Lindóia Shopping");
            lstContent.Add("Rede ConveyNET");
            lstContent.Add("Cod. Estab: " + loj.get_st_loja());
            lstContent.Add("Nr.Cartao: " + cart.get_st_empresa() + "." + cart.get_st_matricula());
            lstContent.Add("No. Terminal: " + term.get_nu_terminal());
            lstContent.Add("Loja: " + loj.get_st_nome());
            lstContent.Add("--------------------------------------");
            lstContent.Add("Cod.Process.: 2000 - Cartao Convenio");

            string data = ltr.get_dt_transacao();

            lstContent.Add("Data Trans.: " + data.Substring(8, 2) + "/" +
                           data.Substring(5, 2) + "/" +
                           data.Substring(0, 4) + " Hora: " +
                           data.Substring(11, 8));

            lstContent.Add("NSU: " + ltr.get_nu_nsu());
            lstContent.Add("");
            lstContent.Add("");
            lstContent.Add("VALOR TOT. R$ " + new money().formatToMoney(ltr.get_vr_total()));
            lstContent.Add("");
            lstContent.Add("");
            lstContent.Add("Operador: " + user.get_st_nome());

            for (int t = 0; t < lstContent.Count; ++t)
            {
                DataPortable port = new DataPortable();
                port.setValue("linha", lstContent[t].ToString());
                output_array_generic_lst.Add(port);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_reciboVendaGift ");

            return(true);
        }
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_edu_movRedeEscola ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_cont_header.get_st_empresa()))
            {
                PublishError("Nenhuma empresa com o código fornecido");
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            output_st_empresa = emp.get_st_fantasia();

            T_Empresa emp_escola = new T_Empresa(this);

            if (!emp_escola.select_fk_admin(emp.get_identity()))
            {
                PublishError("Nenhum colégio cadastrado");
                return(false);
            }

            ArrayList lstEscolas = new ArrayList();

            while (emp_escola.fetch())
            {
                lstEscolas.Add(emp_escola.get_identity());
            }

            ArrayList lstResults = new ArrayList();

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            // busca todas escolas cadastradas
            for (int t = 0; t < lstEscolas.Count; ++t)
            {
                emp_escola.selectIdentity(lstEscolas[t].ToString());

                if (ltr.select_rows_emp_dt(emp_escola.get_identity(),
                                           input_st_dt_ini,
                                           input_st_dt_fim,
                                           TipoConfirmacao.Confirmada))
                {
                    Hashtable hshLojaValor = new Hashtable();
                    ArrayList lstLoja      = new ArrayList();

                    // busca todas as transações das lojas e seu somatorio
                    while (ltr.fetch())
                    {
                        string fk_loja = ltr.get_fk_loja();

                        if (!lstLoja.Contains(fk_loja))
                        {
                            hshLojaValor [fk_loja] = Convert.ToInt64(0);
                            lstLoja.Add(fk_loja);
                        }

                        // acrescenta mais um valor na loja
                        hshLojaValor [fk_loja] = Convert.ToInt64(hshLojaValor [fk_loja]) +
                                                 ltr.get_int_vr_total();
                    }


                    for (int h = 0; h < lstLoja.Count; ++h)
                    {
                        string fk_loja    = lstLoja[h].ToString();
                        string tot_amount = Convert.ToInt64(hshLojaValor [fk_loja]).ToString();

                        lstResults.Add(tot_amount.PadLeft(12, '0') +
                                       emp_escola.get_identity().PadLeft(12, '0') +
                                       fk_loja.PadLeft(12, '0'));
                    }
                }
            }

            // ordena
            lstResults.Sort();

            T_Loja loj = new T_Loja(this);

            StringBuilder sb = new StringBuilder();

            for (int t = 0; t < lstResults.Count; ++t)
            {
                string numbers = lstResults[t].ToString();

                string valor  = numbers.Substring(0, 12).TrimStart('0');
                string escola = numbers.Substring(12, 12).TrimStart('0');
                string loja   = numbers.Substring(24, 12).TrimStart('0');

                if (!emp_escola.selectIdentity(escola))
                {
                    continue;
                }

                if (!loj.selectIdentity(loja))
                {
                    continue;
                }

                Rel_MovRedeEscola rme = new Rel_MovRedeEscola();

                rme.set_st_loja(loj.get_st_nome() + " - " + loj.get_st_social());
                rme.set_vr_valor(valor);
                rme.set_st_colegio(emp_escola.get_st_fantasia());

                DataPortable mem_rme = rme as DataPortable;

                // # Guarda registro

                sb.Append(MemorySave(ref mem_rme));
                sb.Append(",");
            }

            string list_ids = sb.ToString().TrimEnd(',');

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_content = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_rel_edu_movRedeEscola ");

            return(true);
        }
示例#26
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute exec_resolvePend ");

            /// USER [ execute ]

            DateTime start = Convert.ToDateTime(input_dt_ini);
            DateTime end   = Convert.ToDateTime(input_dt_ini).AddDays(1);

            LOG_Transacoes ltr = new LOG_Transacoes(this);

            ltr.ExclusiveAccess();

            if (!ltr.select_rows_nsu(input_nsu,
                                     GetDataBaseTime(start),
                                     GetDataBaseTime(end)))
            {
                PublishError("NSU não disponível");
                return(false);
            }

            if (!ltr.fetch())
            {
                return(false);
            }

            if (ltr.get_tg_confirmada() == input_tg_confirmada)
            {
                PublishError("Transação previamente resolvida");
                return(false);
            }

            if (input_tg_confirmada == TipoConfirmacao.Cancelada)
            {
                T_Cartao cart = new T_Cartao(this);

                cart.ExclusiveAccess();

                if (cart.selectIdentity(ltr.get_fk_cartao()))
                {
                    if (cart.get_tg_tipoCartao() == TipoCartao.presente)
                    {
                        cart.set_vr_limiteTotal(cart.get_int_vr_limiteTotal() +
                                                ltr.get_int_vr_total());

                        if (!cart.synchronize_T_Cartao())
                        {
                            return(false);
                        }
                    }
                }

                cart.ReleaseExclusive();
            }

            ltr.set_tg_confirmada(input_tg_confirmada);

            if (!ltr.synchronize_LOG_Transacoes())
            {
                return(false);
            }

            ltr.ReleaseExclusive();

            if (input_tg_confirmada == TipoConfirmacao.Confirmada)
            {
                PublishNote("Transação confirmada com sucesso");
            }
            else
            {
                PublishNote("Transação cancelada com sucesso");
            }

            /// USER [ execute ] END

            Registry("execute done exec_resolvePend ");

            return(true);
        }
示例#27
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute schedule_faturamento ");

            /// USER [ execute ]

            T_Empresa emp   = new T_Empresa(this);
            DateTime  dtFat = DateTime.Now.AddDays(-1);

            #region - ## Busca todas as empresas -

            if (emp.selectAll())
            {
                // ## Busco todos os registros

                while (emp.fetch())
                {
                    // ## Se dia é hoje

                    if (emp.get_int_nu_periodoFat() == dtFat.Day &&
                        emp.get_tg_isentoFat() == Context.FALSE)
                    {
                        T_Faturamento fat     = new T_Faturamento(this);
                        T_Faturamento fat_upd = new T_Faturamento(this);

                        DateTime aux = dtFat;

                        // ## Para casos onde o mês deve ser o próximo

                        if (emp.get_int_nu_diaVenc() < dtFat.Day)
                        {
                            aux = dtFat.AddMonths(1);
                        }

                        DateTime dtVenc = new DateTime(aux.Year,
                                                       aux.Month,
                                                       (int)emp.get_int_nu_diaVenc());

                        fat.set_dt_vencimento(GetDataBaseTime(dtVenc));
                        fat.set_fk_empresa(emp.get_identity());
                        fat.set_tg_situacao(TipoSitFat.Pendente);

                        // ## Crio registro

                        fat.create_T_Faturamento();

                        long vr_total_fat = 0;

                        // ## Crio registro detalhe

                        #region - 1 - mensalidade -

                        {
                            T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                            fat_det.set_fk_fatura(fat.get_identity());
                            fat_det.set_vr_cobranca(emp.get_vr_mensalidade());
                            fat_det.set_tg_tipoFat(TipoFat.TBM);
                            fat_det.set_tg_desconto(Context.FALSE);
                            fat_det.set_fk_empresa(emp.get_identity());
                            fat_det.set_fk_loja(Context.FALSE);

                            vr_total_fat += fat_det.get_int_vr_cobranca();

                            fat_det.create_T_FaturamentoDetalhes();
                        }

                        #endregion

                        #region - 2 - valor por transações -

                        if (emp.get_int_vr_transacao() > 0)
                        {
                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            l_tr.SetCountMode();

                            l_tr.select_rows_dt_emp(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                    GetDataBaseTime(dtFat),
                                                    emp.get_identity());

                            long trans = l_tr.GetCount() - emp.get_int_nu_franquia();

                            if (trans > 0)
                            {
                                T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                fat_det.set_fk_fatura(fat.get_identity());
                                fat_det.set_vr_cobranca((trans * emp.get_int_vr_transacao()).ToString());
                                fat_det.set_tg_tipoFat(TipoFat.FixoTrans);
                                fat_det.set_nu_quantidade(l_tr.GetCount().ToString());
                                fat_det.set_tg_desconto(Context.FALSE);
                                fat_det.set_fk_empresa(emp.get_identity());
                                fat_det.set_fk_loja(Context.FALSE);

                                vr_total_fat += fat_det.get_int_vr_cobranca();

                                fat_det.create_T_FaturamentoDetalhes();
                            }
                        }

                        #endregion

                        #region - 3 - valor percentual por transações -

                        if (emp.get_int_nu_pctValor() > 0)
                        {
                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            // ## Busca por período e empresa

                            if (l_tr.select_rows_dt_emp(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                        GetDataBaseTime(dtFat),
                                                        emp.get_identity()))
                            {
                                long vr_trans = 0;

                                while (l_tr.fetch())
                                {
                                    if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                                    {
                                        vr_trans += l_tr.get_int_vr_total();
                                    }
                                }

                                if (vr_trans > 0)
                                {
                                    vr_trans = vr_trans * emp.get_int_nu_pctValor() / 10000;

                                    T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                    fat_det.set_fk_fatura(fat.get_identity());
                                    fat_det.set_vr_cobranca(vr_trans.ToString());
                                    fat_det.set_tg_tipoFat(TipoFat.Percent);
                                    fat_det.set_tg_desconto(Context.FALSE);
                                    fat_det.set_fk_empresa(emp.get_identity());
                                    fat_det.set_fk_loja(Context.FALSE);

                                    vr_total_fat += fat_det.get_int_vr_cobranca();

                                    fat_det.create_T_FaturamentoDetalhes();
                                }
                            }
                        }

                        #endregion

                        #region - 4 - valor cartão ativo -

                        if (emp.get_int_vr_cartaoAtivo() > 0)
                        {
                            T_Cartao cart = new T_Cartao(this);

                            // ## Busca por período e empresa

                            if (cart.select_rows_empresa(emp.get_st_empresa()))
                            {
                                T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                fat_det.set_fk_fatura(fat.get_identity());
                                fat_det.set_vr_cobranca((cart.RowCount() * emp.get_int_vr_cartaoAtivo()).ToString());
                                fat_det.set_tg_tipoFat(TipoFat.CartaoAtiv);
                                fat_det.set_tg_desconto(Context.FALSE);
                                fat_det.set_fk_empresa(emp.get_identity());
                                fat_det.set_fk_loja(Context.FALSE);

                                vr_total_fat += fat_det.get_int_vr_cobranca();

                                fat_det.create_T_FaturamentoDetalhes();
                            }
                        }

                        #endregion

                        #region - 5 - valores extras -

                        T_FaturamentoDetalhes fat_extras = new T_FaturamentoDetalhes(this);

                        if (fat_extras.select_rows_emp(emp.get_identity(), TipoFat.Extras))
                        {
                            while (fat_extras.fetch())
                            {
                                vr_total_fat += fat_extras.get_int_vr_cobranca();

                                T_FaturamentoDetalhes fat_extras_upd = new T_FaturamentoDetalhes(this);

                                fat_extras_upd.ExclusiveAccess();

                                fat_extras_upd.selectIdentity(fat_extras.get_identity());
                                fat_extras_upd.set_fk_fatura(fat.get_identity());

                                fat_extras_upd.synchronize_T_FaturamentoDetalhes();
                                fat_extras_upd.ReleaseExclusive();
                            }
                        }

                        #endregion

                        if (emp.get_int_vr_minimo() > vr_total_fat)
                        {
                            vr_total_fat = emp.get_int_vr_minimo();
                        }

                        fat_upd.ExclusiveAccess();
                        fat_upd.selectIdentity(fat.get_identity());

                        fat_upd.set_vr_cobranca(vr_total_fat.ToString());

                        fat_upd.synchronize_T_Faturamento();
                        fat_upd.ReleaseExclusive();
                    }
                }
            }

            #endregion

            T_Loja loj = new T_Loja(this);

            // ## Busca todas as lojas

            if (loj.selectAll())
            {
                // ## Busco todos os registros

                while (loj.fetch())
                {
                    // ## Se dia é hoje

                    Trace("Loja: " + loj.get_st_nome());

                    if (loj.get_tg_cancel() == Context.TRUE)
                    {
                        continue;
                    }

                    Trace("Loja ok ");

                    if (loj.get_int_nu_periodoFat() == dtFat.Day &&
                        loj.get_tg_isentoFat() == Context.FALSE)
                    {
                        Trace("[A]");

                        T_Faturamento fat     = new T_Faturamento(this);
                        T_Faturamento fat_upd = new T_Faturamento(this);

                        DateTime aux = dtFat;

                        // ## Para casos onde o mês deve ser o próximo

                        if (loj.get_int_nu_diavenc() < dtFat.Day)
                        {
                            Trace("[B]");
                            aux = dtFat.AddMonths(1);
                        }

                        Trace("[C]");

                        int zday = Convert.ToInt32(loj.get_int_nu_diavenc());

                        Trace("[C] 1 " + aux.Year.ToString());
                        Trace("[C] 2 " + aux.Month.ToString());
                        Trace("[C] 3 " + zday.ToString());

                        DateTime dtVenc = new DateTime(aux.Year, aux.Month, zday);

                        Trace("[D]");

                        fat.set_dt_vencimento(GetDataBaseTime(dtVenc));
                        fat.set_fk_loja(loj.get_identity());
                        fat.set_tg_situacao(TipoSitFat.Pendente);

                        // ## Crio registro

                        fat.create_T_Faturamento();

                        long vr_total_fat = 0;

                        // ## Crio registro detalhe

                        #region - 1 - mensalidade -

                        {
                            Trace("[E]");

                            T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                            fat_det.set_fk_fatura(fat.get_identity());
                            fat_det.set_vr_cobranca(loj.get_vr_mensalidade());
                            fat_det.set_tg_tipoFat(TipoFat.TBM);
                            fat_det.set_tg_desconto(Context.FALSE);
                            fat_det.set_fk_empresa(Context.FALSE);
                            fat_det.set_fk_loja(loj.get_identity());

                            vr_total_fat += fat_det.get_int_vr_cobranca();

                            fat_det.create_T_FaturamentoDetalhes();
                        }

                        #endregion

                        #region - 2 - valor por transações -

                        if (loj.get_int_vr_transacao() > 0)
                        {
                            Trace("[F]");

                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            l_tr.SetCountMode();

                            l_tr.select_rows_dt_loj(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                    GetDataBaseTime(dtFat),
                                                    loj.get_identity());

                            long trans = l_tr.GetCount() - loj.get_int_nu_franquia();

                            if (trans > 0)
                            {
                                Trace("[G]");

                                T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                fat_det.set_fk_fatura(fat.get_identity());
                                fat_det.set_vr_cobranca((trans * loj.get_int_vr_transacao()).ToString());
                                fat_det.set_tg_tipoFat(TipoFat.FixoTrans);
                                fat_det.set_nu_quantidade(l_tr.GetCount().ToString());
                                fat_det.set_tg_desconto(Context.FALSE);
                                fat_det.set_fk_empresa(Context.FALSE);
                                fat_det.set_fk_loja(loj.get_identity());

                                vr_total_fat += fat_det.get_int_vr_cobranca();

                                fat_det.create_T_FaturamentoDetalhes();
                            }
                        }

                        #endregion

                        #region - 3 - valor percentual por transações -

                        if (loj.get_int_nu_pctValor() > 0)
                        {
                            Trace("[H]");

                            LOG_Transacoes l_tr = new LOG_Transacoes(this);

                            // ## Busca por período e empresa

                            if (l_tr.select_rows_dt_loj(GetDataBaseTime(dtFat.AddMonths(-1)),
                                                        GetDataBaseTime(dtFat),
                                                        loj.get_identity()))
                            {
                                Trace("[I]");

                                long vr_trans = 0;

                                while (l_tr.fetch())
                                {
                                    if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                                    {
                                        vr_trans += l_tr.get_int_vr_total();
                                    }
                                }

                                if (vr_trans > 0)
                                {
                                    Trace("[J]");

                                    vr_trans = vr_trans * loj.get_int_nu_pctValor() / 10000;

                                    T_FaturamentoDetalhes fat_det = new T_FaturamentoDetalhes(this);

                                    fat_det.set_fk_fatura(fat.get_identity());
                                    fat_det.set_vr_cobranca(vr_trans.ToString());
                                    fat_det.set_tg_tipoFat(TipoFat.Percent);
                                    fat_det.set_tg_desconto(Context.FALSE);
                                    fat_det.set_fk_empresa(Context.FALSE);
                                    fat_det.set_fk_loja(loj.get_identity());

                                    vr_total_fat += fat_det.get_int_vr_cobranca();

                                    fat_det.create_T_FaturamentoDetalhes();
                                }
                            }
                        }

                        #endregion

                        #region - 4 - valores extras -

                        T_FaturamentoDetalhes fat_extras = new T_FaturamentoDetalhes(this);

                        if (fat_extras.select_rows_emp(loj.get_identity(), TipoFat.Extras))
                        {
                            Trace("[K]");

                            while (fat_extras.fetch())
                            {
                                Trace("[L]");

                                vr_total_fat += fat_extras.get_int_vr_cobranca();

                                T_FaturamentoDetalhes fat_extras_upd = new T_FaturamentoDetalhes(this);

                                fat_extras_upd.ExclusiveAccess();

                                fat_extras_upd.selectIdentity(fat_extras.get_identity());
                                fat_extras_upd.set_fk_fatura(fat.get_identity());

                                fat_extras_upd.synchronize_T_FaturamentoDetalhes();
                                fat_extras_upd.ReleaseExclusive();
                            }
                        }

                        #endregion

                        if (vr_total_fat < loj.get_int_vr_minimo())
                        {
                            vr_total_fat = loj.get_int_vr_minimo();
                        }

                        fat_upd.ExclusiveAccess();
                        fat_upd.selectIdentity(fat.get_identity());

                        fat_upd.set_vr_cobranca(vr_total_fat.ToString());

                        fat_upd.synchronize_T_Faturamento();
                        fat_upd.ReleaseExclusive();

                        Trace("[M]");
                    }
                }
            }

            /// USER [ execute ] END

            Registry("execute done schedule_faturamento ");

            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);
        }
示例#29
0
        public override bool finish( )
        {
            if (base.finish() == false)
            {
                return(false);
            }

            Registry("finish exec_depotEduImediato ");

            /// USER [ finish ]

            // ## Se falhou o authenticate (senha) não faz nada

            if (IsFail)
            {
                return(true);
            }

            // ## Busca empresa conveniada

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                return(false);
            }

            if (!emp.fetch())
            {
                return(false);
            }

            if (Convert.ToInt64(input_vr_valor) > 0)
            {
                // ## Atualiza valor atual do FUNDO EDUCACIONAL

                cart.set_vr_educacional((cart.get_int_vr_educacional()
                                         + Convert.ToInt64(input_vr_valor)).ToString());

                #region - obtem nsu -

                LOG_NSU l_nsu = new LOG_NSU(this);

                l_nsu.set_dt_log(GetDataBaseTime());

                if (!l_nsu.create_LOG_NSU())
                {
                    return(false);
                }

                #endregion

                string var_nu_nsuAtual = l_nsu.get_identity();

                // ## Cria transação representando este depósito

                LOG_Transacoes l_tr = new LOG_Transacoes(this);

                l_tr.set_fk_terminal("0");
                l_tr.set_fk_empresa(emp.get_identity());
                l_tr.set_fk_cartao(cart.get_identity());

                l_tr.set_vr_total((Convert.ToInt64(input_vr_valor)).ToString());

                l_tr.set_nu_parcelas("1");
                l_tr.set_nu_nsu(var_nu_nsuAtual);
                l_tr.set_dt_transacao(GetDataBaseTime());
                l_tr.set_nu_cod_erro("0");
                l_tr.set_tg_confirmada(TipoConfirmacao.Confirmada);
                l_tr.set_nu_nsuOrig("0");
                l_tr.set_en_operacao(OperacaoCartao.EDU_DEP_FUNDO);
                l_tr.set_st_msg_transacao("");
                l_tr.set_tg_contabil(Context.TRUE);
                l_tr.set_fk_loja("0");

                l_tr.set_vr_saldo_disp(cart.get_vr_disp_educacional());
                l_tr.set_vr_saldo_disp_tot(cart.get_vr_educacional());

                if (!l_tr.create_LOG_Transacoes())
                {
                    return(false);
                }
            }

            if (Convert.ToInt64(input_st_valor_imediato) > 0)
            {
                // ## Atualiza valor atual do DISPONIVEL IMEDIATO

                cart.set_vr_disp_educacional((cart.get_int_vr_disp_educacional() +
                                              Convert.ToInt64(input_st_valor_imediato)).ToString());

                #region - obtem nsu -

                LOG_NSU l_nsu = new LOG_NSU(this);

                l_nsu.set_dt_log(GetDataBaseTime());

                if (!l_nsu.create_LOG_NSU())
                {
                    return(false);
                }

                #endregion

                string var_nu_nsuAtual = l_nsu.get_identity();

                // ## Cria transação representando este depósito

                LOG_Transacoes l_tr = new LOG_Transacoes(this);

                l_tr.set_fk_terminal("0");
                l_tr.set_fk_empresa(emp.get_identity());
                l_tr.set_fk_cartao(cart.get_identity());

                l_tr.set_vr_total((Convert.ToInt64(input_st_valor_imediato)).ToString());

                l_tr.set_nu_parcelas("1");
                l_tr.set_nu_nsu(var_nu_nsuAtual);
                l_tr.set_dt_transacao(GetDataBaseTime());
                l_tr.set_nu_cod_erro("0");
                l_tr.set_tg_confirmada(TipoConfirmacao.Confirmada);
                l_tr.set_nu_nsuOrig("0");
                l_tr.set_en_operacao(OperacaoCartao.EDU_DEP_IMEDIATO);
                l_tr.set_st_msg_transacao("");
                l_tr.set_tg_contabil(Context.TRUE);
                l_tr.set_fk_loja("0");
                l_tr.set_vr_saldo_disp(cart.get_vr_disp_educacional());
                l_tr.set_vr_saldo_disp_tot(cart.get_vr_educacional());

                if (!l_tr.create_LOG_Transacoes())
                {
                    return(false);
                }
            }

            // ## Atualiza tabela

            if (!cart.synchronize_T_Cartao())
            {
                return(false);
            }

            PublishNote("Carga efetuada com sucesso");

            /// USER [ finish ] END

            Registry("finish done exec_depotEduImediato ");

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