예제 #1
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_termLoja ");

            /// USER [ execute ]

            T_Terminal term = new T_Terminal(this);

            if (!term.select_fk_loja(loj.get_identity()))
            {
                PublishError("Nenhum terminal cadastrado para a loja");
                return(false);
            }

            while (term.fetch())
            {
                DadosTerminal dt = new DadosTerminal();

                dt.set_st_terminal(term.get_nu_terminal());
                dt.set_st_localizacao(term.get_st_localizacao());

                output_array_generic_lst.Add(dt);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_termLoja ");

            return(true);
        }
예제 #2
0
/// USER [ custom_functions ]
/// USER [ custom_functions ] END

        public bool Item1()
        {
            #region - INPUT VARS -

            transaction.MemoryClean();

            tst_unit.LogTest("ins_terminal Item1", ref m_Log);

            transaction.ut_abort = 0;

            string st_loja_cnpj = "";

            DadosTerminal dt     = new DadosTerminal();
            CNetHeader    header = new CNetHeader();

            #endregion

/// USER [ setup_test_1 ]
/// USER [ setup_test_1 ] END

            #region - MAPPING TRANSACTION -

            call_ins_terminal(st_loja_cnpj, ref dt, ref header);

            if (transaction.setup() == false)
            {
                return(false);
            }

            try
            {
                #endregion

/// USER [ execute_1 ]
/// USER [ execute_1 ] END

                #region - OUTPUT VARS -
            }
            catch (System.Exception se)
            {
                if (se.Message != "ABORT")
                {
                    MessageBox.Show(se.ToString());
                }
            }

            if (transaction.finish() == false)
            {
                return(false);
            }

            transaction.sendObjections(ref my_objections);

            #endregion

/// USER [ validate_1 ]
/// USER [ validate_1 ] END

            return(true);
        }
예제 #3
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_terminalLoja ");

            /// USER [ execute ]

            while (term.fetch())
            {
                if (term.get_fk_loja() == Context.NOT_SET)
                {
                    continue;
                }

                DadosTerminal dt = new DadosTerminal();

                dt.set_st_terminal(term.get_nu_terminal());
                dt.set_st_localizacao(term.get_st_localizacao());

                output_array_generic_lst.Add(dt);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_terminalLoja ");

            return(true);
        }
예제 #4
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_terminais ");

            /// USER [ execute ]

            T_Terminal m_term = new T_Terminal(this);

            for (int t = 0; t < var_util.indexCSV(input_st_csvId); ++t)
            {
                if (!m_term.selectIdentity(var_util.getCSV(t)))
                {
                    return(false);
                }

                DadosTerminal dt = new DadosTerminal();

                dt.set_st_terminal(m_term.get_nu_terminal());
                dt.set_st_localizacao(m_term.get_st_localizacao());

                output_array_generic_lst.Add(dt);
            }
            /// USER [ execute ] END

            Registry("execute done fetch_terminais ");

            return(true);
        }
예제 #5
0
        public void call_ins_terminal(string st_loja_cnpj, ref DadosTerminal dt, ref CNetHeader header)
        {
            m_Comm.Clear();

            DataPortable send_dp = new DataPortable();

            send_dp.MapTagValue(COMM_IN_INS_TERMINAL.st_loja_cnpj, st_loja_cnpj);

            m_Comm.AddEntryPortable(ref send_dp);

            DataPortable send_dp_cont_0 = new DataPortable();
            DataPortable send_dp_cont_1 = new DataPortable();

            send_dp_cont_0.MapTagContainer(COMM_IN_INS_TERMINAL.dt, dt as DataPortable);
            send_dp_cont_1.MapTagContainer(COMM_IN_INS_TERMINAL.header, header as DataPortable);

            m_Comm.AddEntryPortable(ref send_dp_cont_0);
            m_Comm.AddEntryPortable(ref send_dp_cont_1);
        }
예제 #6
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_2_rlt ");

            /// USER [ execute ]

            if (input_cont_header.get_tg_user_type() != TipoUsuario.Lojista)
            {
                input_st_empresa = input_st_empresa.PadLeft(6, '0');

                T_Empresa emp = new T_Empresa(this);

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

            // ##
            // ## O seguinte trecho indexa as lojas possíveis
            // ## de retorno para uma determinada empresa.
            // ##
            // ## E, no caso de a empresa original ser administradora
            // ## de empresas, indexar todas as lojas de todas empresas
            // ## desta rede.
            // ##

            Hashtable hshLojas = new Hashtable();

            #region - filtro de lojas da empresa -

            if (user.get_tg_nivel() == TipoUsuario.Administrador)
            {
                T_Empresa emp_orig = new T_Empresa(this);

                // ## Busca empresa original

                if (!emp_orig.select_rows_empresa(user.get_st_empresa()))
                {
                    return(false);
                }

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

                LINK_LojaEmpresa lnk = new LINK_LojaEmpresa(this);

                // ## busca relacionamento das empresas com lojas

                if (lnk.select_fk_empresa_geral(emp_orig.get_identity()))
                {
                    while (lnk.fetch())
                    {
                        // ## indexa lojas

                        hshLojas [lnk.get_fk_loja()] = "*";
                    }
                }

                // ## busca empresas administradas

                T_Empresa emp_lnk_admin = new T_Empresa(this);

                if (emp_lnk_admin.select_fk_admin(emp_orig.get_identity()))
                {
                    while (emp_lnk_admin.fetch())
                    {
                        // ## busca lojas de cada empresa administrada

                        LINK_LojaEmpresa lnk_admin = new LINK_LojaEmpresa(this);

                        if (lnk_admin.select_fk_empresa_geral(emp_lnk_admin.get_identity()))
                        {
                            while (lnk_admin.fetch())
                            {
                                // ## indexa loja

                                hshLojas [lnk_admin.get_fk_loja()] = "*";
                            }
                        }
                    }
                }
            }

            #endregion

            StringBuilder sb = new StringBuilder();

            Hashtable hsh_term_confirmada = new Hashtable();
            Hashtable hsh_term_cancelada  = new Hashtable();
            Hashtable hsh_term            = new Hashtable();

            T_Terminal term = new T_Terminal(this);
            T_Cartao   cart = new T_Cartao(this);

            string term_ident = "";

            long vr_sub_confirmada = 0,
                 vr_sub_cancelada  = 0,
                 vr_tot_confirmada = 0,
                 vr_tot_cancelada  = 0;

            ArrayList tmp_Terms = new ArrayList();

            // ## Busca registros de transações

            while (l_tr.fetch())
            {
                if (hshLojas.Count > 0)
                {
                    if (hshLojas [l_tr.get_fk_loja()] == null)
                    {
                        continue;
                    }
                }

                // ## Busca terminal referente

                if (!term.selectIdentity(l_tr.get_fk_terminal()))
                {
                    continue;
                }

                term_ident = term.get_nu_terminal();

                // ## Captura terminais

                if (hsh_term [term_ident] == null)
                {
                    DadosTerminal dt = new DadosTerminal();

                    dt.set_st_terminal(term.get_nu_terminal());
                    dt.set_st_localizacao(term.get_st_localizacao());

                    output_array_generic_lstTerminais.Add(dt);

                    tmp_Terms.Add(term_ident);

                    hsh_term [term_ident] = 1;
                }

                // ## Busca cartão relacionado

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

                if (input_st_empresa.Length > 0)
                {
                    if (cart.get_st_empresa() != input_st_empresa)
                    {
                        continue;
                    }
                }

                // ## Se transação deve ser contabilizada

                if (l_tr.get_tg_contabil() == Context.TRUE)
                {
                    long cur_val = l_tr.get_int_vr_total();

                    if (l_tr.get_tg_confirmada() == TipoConfirmacao.Confirmada)
                    {
                        if (hsh_term_confirmada [term_ident] == null)
                        {
                            vr_sub_confirmada = (long)0;
                        }
                        else
                        {
                            vr_sub_confirmada = (long)hsh_term_confirmada [term_ident];
                        }

                        vr_tot_confirmada += cur_val;

                        hsh_term_confirmada [term_ident] = vr_sub_confirmada + cur_val;
                    }
                    else if (l_tr.get_tg_confirmada() == TipoConfirmacao.Cancelada)
                    {
                        if (hsh_term_cancelada [term_ident] == null)
                        {
                            vr_sub_cancelada = (long)0;
                        }
                        else
                        {
                            vr_sub_cancelada = (long)hsh_term_cancelada [term_ident];
                        }

                        vr_tot_cancelada += cur_val;

                        hsh_term_cancelada [term_ident] = vr_sub_cancelada + cur_val;
                    }
                }

                Rel_RLT rlt = new Rel_RLT();

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

                rlt.set_st_nsu(l_tr.get_nu_nsu());
                rlt.set_vr_total(l_tr.get_vr_total());
                rlt.set_nu_parc(l_tr.get_nu_parcelas());
                rlt.set_dt_trans(l_tr.get_dt_transacao());
                rlt.set_tg_status(l_tr.get_tg_confirmada());
                rlt.set_st_motivo(l_tr.get_st_msg_transacao());
                rlt.set_en_op_cartao(l_tr.get_en_operacao());
                rlt.set_st_terminal(term_ident);

                DataPortable mem_rlt = rlt as DataPortable;

                // ## Grava em memória

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

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## Gera identificador geral

            output_st_csv = MemorySave(ref dp);

            long value_sub = 0;

            // ## Percorre terminais

            for (int t = 0; t < tmp_Terms.Count; ++t)
            {
                term_ident = tmp_Terms[t].ToString();

                if (hsh_term_confirmada [term_ident] == null)
                {
                    hsh_term_confirmada [term_ident] = (long)0;
                }
                if (hsh_term_cancelada [term_ident] == null)
                {
                    hsh_term_cancelada  [term_ident] = (long)0;
                }

                // ## Contabiiza

                value_sub = (long)hsh_term_confirmada [term_ident];

                output_st_csv_subtotal += value_sub.ToString() + ",";

                value_sub = (long)hsh_term_cancelada [term_ident];

                output_st_csv_subtotal_cancelado += value_sub.ToString() + ",";
            }

            output_st_csv_subtotal           = output_st_csv_subtotal.TrimEnd(',');
            output_st_csv_subtotal_cancelado = output_st_csv_subtotal_cancelado.TrimEnd(',');
            output_st_total           = vr_tot_confirmada.ToString();
            output_st_total_cancelado = vr_tot_cancelada.ToString();

            /// USER [ execute ] END

            Registry("execute done fetch_rel_2_rlt ");

            return(true);
        }