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

            Registry("execute fetch_consultaCartaoGift ");

            /// USER [ execute ]

            T_Cartao cart = new T_Cartao(this);

            if (!cart.select_rows_empresa_matricula(input_st_empresa.PadLeft(6, '0'),
                                                    input_st_matricula.PadLeft(6, '0')))
            {
                PublishError("Cartão não disponível");
                return(false);
            }

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

            if (cart.get_tg_status() == CartaoStatus.Bloqueado)
            {
                if (cart.get_tg_motivoBloqueio() == MotivoBloqueio.CANCELAMENTO)
                {
                    output_st_sit = "Cartão cancelado";
                }
                else
                {
                    output_st_sit = "Cartão bloqueado";
                }
            }
            else
            {
                output_st_sit = "Cartão habilitado";
            }

            T_Proprietario prot = new T_Proprietario(this);

            if (!prot.selectIdentity(cart.get_fk_dadosProprietario()))
            {
                PublishError("Cartão não disponível");
                return(false);
            }

            output_st_nome = prot.get_st_nome();
            output_vr_disp = cart.get_vr_limiteTotal();

            LOG_VendaCartaoGift  lvc = new LOG_VendaCartaoGift(this);
            LOG_VendaProdutoGift lvp = new LOG_VendaProdutoGift(this);

            if (lvc.select_fk_cart(cart.get_identity()))
            {
                while (lvc.fetch())
                {
                    DadosConsultaGift dcg     = new DadosConsultaGift();
                    DadosComprovGift  comprov = new DadosComprovGift();

                    comprov.set_id_venda(lvc.get_identity());
                    comprov.set_dt_venda(lvc.get_dt_compra());

                    if (lvc.get_tg_adesao() == Context.TRUE)
                    {
                        dcg.set_st_nome("Primeira Carga de Cartão");
                        comprov.set_st_tipo("CARGA");
                    }
                    else
                    {
                        dcg.set_st_nome("Recarga de Cartão");
                        comprov.set_st_tipo("RECARGA");
                    }

                    comprov.set_vr_valor(lvc.get_vr_carga());
                    dcg.set_vr_valor(lvc.get_vr_carga());

                    output_array_generic_lstProd.Add(dcg);
                    output_array_generic_lstComprov.Add(comprov);

                    if (lvp.select_fk_venda(lvc.get_identity()))
                    {
                        while (lvp.fetch())
                        {
                            DadosConsultaGift in_dcg = new DadosConsultaGift();

                            in_dcg.set_st_nome(lvp.get_st_produto());
                            in_dcg.set_vr_valor(lvp.get_vr_valor());

                            output_array_generic_lstProd.Add(in_dcg);
                        }
                    }
                }
            }

            T_ChequesGift cg = new T_ChequesGift(this);

            if (cg.select_rows_cart_comp(cart.get_identity(), Context.FALSE))
            {
                while (cg.fetch())
                {
                    DadosConsultaGift in_dcg = new DadosConsultaGift();

                    in_dcg.set_st_nome(cg.get_st_identificador());
                    in_dcg.set_dt_data(cg.get_dt_efetiva());
                    in_dcg.set_vr_valor(cg.get_vr_valor());

                    output_array_generic_lstCred.Add(in_dcg);
                }
            }

            /// USER [ execute ] END

            Registry("execute done fetch_consultaCartaoGift ");

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

            Registry("execute fetch_comprov_Gift ");

            /// USER [ execute ]

            ArrayList lstContent = new ArrayList();

            ApplicationUtil util = new ApplicationUtil();

            LOG_VendaCartaoGift lvc  = new LOG_VendaCartaoGift(this);
            T_Empresa           emp  = new T_Empresa(this);
            T_Cartao            cart = new T_Cartao(this);
            T_Proprietario      prot = new T_Proprietario(this);

            lvc.ExclusiveAccess();

            if (!lvc.selectIdentity(input_id_gift))
            {
                return(false);
            }

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

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

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

            if (input_tg_reimp == Context.TRUE)
            {
                lstContent.Add("Reimpressão de comprovante de venda giftcard");
                lstContent.Add("");

                DateTime tm = Convert.ToDateTime(lvc.get_dt_compra());

                string data = "Porto Alegre, " + tm.ToLongDateString() + " - " + tm.ToLongTimeString();

                lstContent.Add(data.PadLeft(80, ' '));
            }
            else
            {
                string data = "Porto Alegre, " + DateTime.Now.ToLongDateString() + " - " + DateTime.Now.ToLongTimeString();

                lstContent.Add(data.PadLeft(80, ' '));
            }

            lstContent.Add("");
            lstContent.Add(emp.get_st_social());
            lstContent.Add("GIFTCARD LINDÓIA");

            string num_cart = cart.get_st_empresa() + "." + cart.get_st_matricula() + ".";

            num_cart += util.calculaCodigoAcesso(cart.get_st_empresa(),
                                                 cart.get_st_matricula(),
                                                 cart.get_st_venctoCartao());

            num_cart += ".";
            num_cart += cart.get_st_venctoCartao().PadLeft(4, '0');

            lstContent.Add("Número do cartão: " + num_cart);

            string cod_trans = var_util.DESCript(cart.get_st_matricula() +
                                                 DateTime.Now.Second.ToString().PadLeft(2, '0'),
                                                 "66666666");

            lvc.set_st_codImpresso(cod_trans);

            if (!lvc.synchronize_LOG_VendaCartaoGift())
            {
                return(false);
            }

            lstContent.Add("Cod. Transação: " + cod_trans);
            lstContent.Add("Cpf do comprador: " + prot.get_st_cpf());
            lstContent.Add("--------------------------------------------");
            lstContent.Add("Valor da carga: R$ " + new money().formatToMoney(lvc.get_vr_carga()));
            lstContent.Add("--------------------------------------------");

            LOG_VendaProdutoGift lvp = new LOG_VendaProdutoGift(this);

            long extras       = 0;
            long total_extras = 0;

            if (lvp.select_fk_venda(input_id_gift))
            {
                extras = lvp.RowCount();
            }

            lstContent.Add("Extras: " + extras.ToString());

            while (lvp.fetch())
            {
                total_extras += lvp.get_int_vr_valor();

                lstContent.Add("-" +
                               lvp.get_st_produto().PadRight(25, ' ') +
                               " R$ " +
                               new money().formatToMoney(lvp.get_vr_valor()));
            }

            lstContent.Add("Total Extras: R$ " + new money().formatToMoney(total_extras.ToString()));

            total_extras += lvc.get_int_vr_carga();

            lstContent.Add("Valor Total: R$ " + new money().formatToMoney(total_extras.ToString()));

            string formPag = "dinheiro";

            if (lvc.get_tg_tipoPag() == TipoPagamento.Cheque)
            {
                formPag = "Cheque (" + lvc.get_st_cheque() + ")";
            }
            else if (lvc.get_tg_tipoPag() == TipoPagamento.Cartao)
            {
                formPag = "Cartão (" + lvc.get_nu_nsuCartao() + ")";
            }

            lstContent.Add("Forma de pagamento: " + formPag);
            lstContent.Add("");
            lstContent.Add("RECEBI O CARTAO GIFTCARD LINDOIA, COMPROMETO-ME A ORIENTAR O");
            lstContent.Add("PRESENTEADO QUANTO AO SEU USO E GUARDA.");
            lstContent.Add("");
            lstContent.Add("_________________________________");
            lstContent.Add(prot.get_st_nome());
            lstContent.Add("");
            lstContent.Add("**Caso o pagamento tenha sido efetuado em cheque, somente estará liberado o uso");
            lstContent.Add("do cartão após a compensação do mesmo");

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

            {
                DataPortable port = new DataPortable();
                port.setValue("linha", "");
                output_array_generic_lst.Add(port);
            }


            {
                DataPortable port = new DataPortable();
                port.setValue("linha", "---------------------------------------------------------------");
                output_array_generic_lst.Add(port);
            }


            {
                DataPortable port = new DataPortable();
                port.setValue("linha", "");
                output_array_generic_lst.Add(port);
            }


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

            return(true);
        }