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

            Registry("execute fetch_rel_fechCaixa ");

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

            output_st_nome_empresa = emp.get_st_fantasia();

            T_Quiosque qui = new T_Quiosque(this);

            if (!qui.select_fk_empresa(emp.get_identity()))
            {
                PublishError("Nenhum quiosque disponível");
                return(false);
            }

            while (qui.fetch())
            {
                DadosQuiosque dq = new DadosQuiosque();

                dq.set_st_nome(qui.get_st_nome());

                output_array_generic_lstQuiosques.Add(dq);
            }

            T_Usuario usrQuiosque = new T_Usuario(this);

            if (!usrQuiosque.select_rows_empresa(input_st_empresa))
            {
                PublishError("Nenhum vendedor disponível");
                return(false);
            }

            StringBuilder sb_content = new StringBuilder();

            T_Cartao cart = new T_Cartao(this);

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

            while (usrQuiosque.fetch())
            {
                if (usrQuiosque.get_tg_nivel() != TipoUsuario.VendedorGift &&
                    usrQuiosque.get_tg_nivel() != TipoUsuario.AdminGift)
                {
                    continue;
                }

                if (!lvc.select_rows_vendedor(usrQuiosque.get_identity(),
                                              input_dt_ini,
                                              input_dt_fim))
                {
                    continue;
                }

                qui.selectIdentity(usrQuiosque.get_fk_quiosque());

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

                    DadosFechCaixa rel_line = new DadosFechCaixa();

                    rel_line.set_st_quiosque(qui.get_st_nome());
                    rel_line.set_st_vendedor(usrQuiosque.get_st_nome());

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

                    rel_line.set_vr_credito(lvc.get_vr_carga());

                    long tot_prods = 0;
                    long tot       = lvc.get_int_vr_carga();

                    if (lvp.select_fk_venda(lvc.get_identity()))
                    {
                        // primeira sempre é carga ou recarga
                        if (lvp.fetch())
                        {
                            rel_line.set_vr_tarifa(lvp.get_vr_valor());
                        }

                        while (lvp.fetch())
                        {
                            tot_prods += lvp.get_int_vr_valor();
                        }
                    }

                    tot += tot_prods;

                    rel_line.set_vr_prods(tot_prods.ToString());
                    rel_line.set_st_extra(lvc.get_st_cheque());
                    rel_line.set_tg_pagto(lvc.get_tg_tipoPag());
                    rel_line.set_dt_venda(lvc.get_dt_compra());

                    if (cart.get_tg_status() == CartaoStatus.Bloqueado)
                    {
                        if (cart.get_tg_motivoBloqueio() == MotivoBloqueio.CANCELAMENTO)
                        {
                            rel_line.set_st_extra("Cancelado");
                            rel_line.set_tg_pagto("4");
                        }
                    }

                    rel_line.set_vr_total(tot.ToString());

                    // index em memoria, retrieve depois
                    {
                        DataPortable port = rel_line;

                        sb_content.Append(MemorySave(ref port));
                        sb_content.Append(",");
                    }
                }
            }

            // indexa todos os items
            {
                string list_ids = sb_content.ToString().TrimEnd(',');

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

                DataPortable dp = new DataPortable();

                dp.setValue("ids", list_ids);

                // ## Guarda indexador de grupo

                output_st_csv_contents = MemorySave(ref dp);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_rel_fechCaixa ");

            return(true);
        }