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

            Registry("execute fetch_consultaEmpresa ");

            /// USER [ execute ]

            StringBuilder sb = new StringBuilder();

            string nome   = input_cont_dce.get_st_nome(),
                   cidade = input_cont_dce.get_st_cidade(),
                   estado = input_cont_dce.get_st_estado();

            long vr_min   = 0,
                 vr_max   = 0,
                 qtd_cart = 0,
                 qtd_parc = 0,
                 nu_lojas = 0,
                 val      = 0;

            // ## Prepara filtros

            if (input_cont_dce.get_nu_cartoes().Length > 0)
            {
                qtd_cart = Convert.ToInt32(input_cont_dce.get_nu_cartoes());
            }
            if (input_cont_dce.get_nu_parcelas().Length > 0)
            {
                qtd_parc = Convert.ToInt32(input_cont_dce.get_nu_parcelas());
            }
            if (input_cont_dce.get_nu_lojas().Length > 0)
            {
                nu_lojas = Convert.ToInt32(input_cont_dce.get_nu_lojas());
            }

            if (input_cont_dce.get_vr_taxa_min().Length > 0)
            {
                vr_min = Convert.ToInt32(input_cont_dce.get_vr_taxa_min());
            }
            if (input_cont_dce.get_vr_taxa_min().Length > 0)
            {
                vr_max = Convert.ToInt32(input_cont_dce.get_vr_taxa_max());
            }

            LINK_LojaEmpresa loj_emp = new LINK_LojaEmpresa(this);

            // ## Busca todos os registros

            nome = nome.ToUpper();

            while (emp.fetch())
            {
                val = emp.get_int_vr_mensalidade();

                if (vr_min > 0)
                {
                    if (val < vr_min)
                    {
                        continue;
                    }
                }

                if (vr_max > 0)
                {
                    if (val > vr_max)
                    {
                        continue;
                    }
                }

                if (vr_min > 0 && vr_max > 0)
                {
                    if (val < vr_min || val > vr_max)
                    {
                        continue;
                    }
                }

                if (qtd_cart > 0)
                {
                    if (emp.get_int_nu_cartoes() < qtd_cart)
                    {
                        continue;
                    }
                }

                if (qtd_parc > 0)
                {
                    if (emp.get_int_nu_parcelas() < qtd_parc)
                    {
                        continue;
                    }
                }

                if (nome.Length > 0)
                {
                    if (!emp.get_st_social().ToUpper().Contains(nome))
                    {
                        if (!emp.get_st_fantasia().ToUpper().Contains(nome))
                        {
                            continue;
                        }
                    }
                }

                if (cidade.Length > 0)
                {
                    if (!emp.get_st_cidade().Contains(cidade))
                    {
                        continue;
                    }
                }
                if (estado.Length > 0)
                {
                    if (!emp.get_st_estado().Contains(estado))
                    {
                        continue;
                    }
                }

                // ## Contabiliza numero de lojas

                loj_emp.SetCountMode();
                loj_emp.select_fk_empresa_geral(emp.get_identity());

                if (input_cont_dce.get_nu_lojas().Length > 0)
                {
                    if (loj_emp.GetCount() < nu_lojas)
                    {
                        continue;
                    }
                }

                // ## Copia dados para memória

                DadosEmpresa de = new DadosEmpresa();

                de.set_nu_lojas(loj_emp.GetCount().ToString());

                de.set_st_empresa(emp.get_st_empresa());
                de.set_st_fantasia(emp.get_st_fantasia().Trim() + " - " + emp.get_st_social().Trim());
                de.set_st_cidade(emp.get_st_cidade());
                de.set_st_estado(emp.get_st_estado());
                de.set_nu_cartoes(emp.get_nu_cartoes());
                de.set_nu_parcelas(emp.get_nu_parcelas());
                de.set_vr_mensalidade(emp.get_vr_mensalidade());
                de.set_nu_CNPJ(emp.get_nu_CNPJ());
                de.set_tg_bloq(emp.get_tg_bloq());

                DataPortable tmp = de as DataPortable;

                // ## indexa em CSV

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

            // ## Obtem identificador de bloco

            output_st_csv_empresas = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_consultaEmpresa ");

            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( )
        {
            Registry("execute exec_pos_vendaEmpresarialSITEF ");

            /// USER [ execute ]

            #region - atualizar senhas -

            cart.ExclusiveAccess();

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

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

            if (cart.get_st_titularidade() != "01")
            {
                T_Dependente dep = new T_Dependente(this);

                if (!dep.select_rows_prop_tit(cart.get_fk_dadosProprietario(), cart.get_st_titularidade()))
                {
                    output_st_msg = "Erro aplicativo";
                    return(false);
                }

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

                var_nomeCliente = dep.get_st_nome();
            }
            else
            {
                var_nomeCliente = prot.get_st_nome();
            }

            if (IsDigitado)
            {
                string cod_acesso = new ApplicationUtil().calculaCodigoAcesso(cart.get_st_empresa(),
                                                                              cart.get_st_matricula(),
                                                                              cart.get_st_titularidade(),
                                                                              cart.get_nu_viaCartao(),
                                                                              prot.get_st_cpf());

                Trace(cod_acesso);

                if (cod_acesso != input_cont_pe.get_st_senha())
                {
                    output_st_msg = "Senha inválida";
                    var_codResp   = "4343";
                    return(false);
                }
            }
            else
            {
                if (cart.get_st_senha() != input_cont_pe.get_st_senha())
                {
                    long senhasErradas = cart.get_int_nu_senhaErrada() + 1;

                    cart.set_nu_senhaErrada(senhasErradas.ToString());

                    if (senhasErradas > 4)
                    {
                        cart.set_tg_status(CartaoStatus.Bloqueado);
                        cart.set_tg_motivoBloqueio(MotivoBloqueio.SENHA_ERRADA);
                        cart.set_dt_bloqueio(GetDataBaseTime());
                    }

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

                    output_st_msg = "Senha inválida";
                    var_codResp   = "4343";
                    return(false);
                }
                else
                {
                    cart.set_nu_senhaErrada(Context.NONE);
                }
            }

            if (cart.get_tg_tipoCartao() == TipoCartao.presente)
            {
                cart.set_vr_limiteTotal(cart.get_int_vr_limiteTotal() - vr_valor);

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

            cart.ReleaseExclusive();

            #endregion

            #region - busca informações extras -

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

            #endregion

            #region - Faz efetivamente a venda -

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

            string tmp_variavel = input_cont_pe.get_st_valores();

            if (tmp_variavel.Length < tmp_nu_parc * 12)
            {
                output_st_msg = "formato incorreto";
                return(false);
            }

            if (cart.get_tg_tipoCartao() != TipoCartao.presente)
            {
                if (tmp_nu_parc > emp.get_int_nu_parcelas())
                {
                    output_st_msg = "excede max. parcelas";
                    var_codResp   = "1212";
                    return(false);
                }
            }

            #region - obtem nsu -

            l_nsu.set_dt_log(GetDataBaseTime());

            if (!l_nsu.create_LOG_NSU())
            {
                output_st_msg = "Erro aplicativo";
                return(false);
            }

            #endregion

            var_nu_nsuAtual    = l_nsu.get_identity();
            var_nu_nsuEntidade = var_nu_nsuAtual;

            var_dt_transacao = GetDataBaseTime();

            // ## Criar parcelas

            for (int t = 1; t <= tmp_nu_parc; ++t)
            {
                T_Parcelas parc = new T_Parcelas(this);

                string valor_unit_parc = tmp_variavel.Substring(index_pos, 12);

                index_pos += 12;

                #region - atribui valores e links à parcela -

                parc.set_nu_nsu(l_nsu.get_identity());
                parc.set_fk_empresa(emp.get_identity());
                parc.set_fk_cartao(cart.get_identity());
                parc.set_dt_inclusao(var_dt_transacao);
                parc.set_nu_parcela(t.ToString());
                parc.set_vr_valor(valor_unit_parc);
                parc.set_nu_indice(t.ToString());
                parc.set_tg_pago(TipoParcela.EM_ABERTO);
                parc.set_fk_loja(loj.get_identity());
                parc.set_nu_tot_parcelas(tmp_nu_parc.ToString());
                parc.set_fk_terminal(term.get_identity());

                #endregion

                if (!parc.create_T_Parcelas())
                {
                    output_st_msg = "erro aplicativo";
                    return(false);
                }

                lstParcs.Add(parc.get_identity());
            }

            #endregion

            var_codResp = "0000";

            /// USER [ execute ] END

            Registry("execute done exec_pos_vendaEmpresarialSITEF ");

            return(true);
        }