Exemplo n.º 1
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_quiosque ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

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

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

            T_Quiosque q = new T_Quiosque(this);

            if (!q.select_fk_empresa(emp.get_identity()))
            {
                PublishError("Nenhum quiosque encontrado");
                return(false);
            }

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

                dq.set_st_nome(q.get_st_nome());

                output_array_generic_lstQ.Add(dq);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_quiosque ");

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