示例#1
0
        public void call_ins_cartaoProprietario(string st_csv_deps, ref DadosCartao dc, ref DadosProprietario dp, ref DadosAdicionais da, ref CNetHeader header)
        {
            m_Comm.Clear();

            DataPortable send_dp = new DataPortable();

            send_dp.MapTagValue(COMM_IN_INS_CARTAOPROPRIETARIO.st_csv_deps, st_csv_deps);

            m_Comm.AddEntryPortable(ref send_dp);

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

            send_dp_cont_0.MapTagContainer(COMM_IN_INS_CARTAOPROPRIETARIO.dc, dc as DataPortable);
            send_dp_cont_1.MapTagContainer(COMM_IN_INS_CARTAOPROPRIETARIO.dp, dp as DataPortable);
            send_dp_cont_2.MapTagContainer(COMM_IN_INS_CARTAOPROPRIETARIO.da, da as DataPortable);
            send_dp_cont_3.MapTagContainer(COMM_IN_INS_CARTAOPROPRIETARIO.header, header as DataPortable);

            m_Comm.AddEntryPortable(ref send_dp_cont_0);
            m_Comm.AddEntryPortable(ref send_dp_cont_1);
            m_Comm.AddEntryPortable(ref send_dp_cont_2);
            m_Comm.AddEntryPortable(ref send_dp_cont_3);
        }
/// USER [ custom_functions ]
/// USER [ custom_functions ] END

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

            transaction.MemoryClean();

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

            transaction.ut_abort = 0;

            DadosCartao dc     = new DadosCartao();
            CNetHeader  header = new CNetHeader();

            #endregion

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

            #region - MAPPING TRANSACTION -

            call_exec_alteraCartao(ref dc, 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);
        }
        public void call_exec_alteraCartao(ref DadosCartao dc, ref CNetHeader header)
        {
            m_Comm.Clear();

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

            send_dp_cont_0.MapTagContainer(COMM_IN_EXEC_ALTERACARTAO.dc, dc as DataPortable);
            send_dp_cont_1.MapTagContainer(COMM_IN_EXEC_ALTERACARTAO.header, header as DataPortable);

            m_Comm.AddEntryPortable(ref send_dp_cont_0);
            m_Comm.AddEntryPortable(ref send_dp_cont_1);
        }
示例#4
0
        public override bool Run(string client_msg, ref Transaction trans, ref bool IsTerm, ref string buffer_response)
        {
            if (client_msg.Length < 26)
            {
                return(false);
            }

            exec_pos_buscaCartao tr = new exec_pos_buscaCartao(trans);

            tr.input_st_empresa   = client_msg.Substring(6, 6);
            tr.input_st_matricula = client_msg.Substring(12, 6);
            tr.input_st_terminal  = client_msg.Substring(18, 8);

            tr.RunOnline();

            buffer_response = "00";

            if (tr.IsFail)
            {
                buffer_response += "9999";

                for (int y = 0; y < 10; ++y)
                {
                    buffer_response += "99" + " ".PadRight(20, ' ');
                }
            }
            else
            {
                buffer_response += "0000";

                int max = tr.output_array_generic_lst.Count;

                for (int t = 0; t < tr.output_array_generic_lst.Count; ++t)
                {
                    DadosCartao dc = new DadosCartao(tr.output_array_generic_lst[t] as DataPortable);

                    buffer_response += dc.get_st_titularidade().PadLeft(2, '0');
                    buffer_response += dc.get_st_proprietario().PadRight(20, ' ');
                }

                for (int y = max; y < 10; ++y)
                {
                    buffer_response += "99" + " ".PadRight(20, ' ');
                }
            }

            IsTerm = true;

            return(true);
        }
示例#5
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_listaCartoes ");

            /// USER [ execute ]

            T_Cartao       cart = new T_Cartao(this);
            T_Proprietario prot = new T_Proprietario(this);

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

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

                DadosCartao dc = new DadosCartao();

                dc.set_st_proprietario(prot.get_st_nome());

                dc.set_st_empresa(cart.get_st_empresa());
                dc.set_st_matricula(cart.get_st_matricula());
                dc.set_tg_status(cart.get_tg_status());
                dc.set_st_vencimento(cart.get_st_venctoCartao());

                dc.set_vr_limiteTotal(cart.get_vr_limiteTotal());
                dc.set_vr_limiteMensal(cart.get_vr_limiteMensal());
                dc.set_vr_limiteRotativo(cart.get_vr_limiteRotativo());
                dc.set_vr_extraCota(cart.get_vr_extraCota());

                output_array_generic_lst.Add(dc);
            }

            /// USER [ execute ] END

            Registry("execute done fetch_listaCartoes ");

            return(true);
        }
示例#6
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_rel_residuo_gift ");

            /// 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_Cartao       cart = new T_Cartao(this);
            T_Proprietario prot = new T_Proprietario(this);
            T_Parcelas     parc = new T_Parcelas(this);

            StringBuilder sb = new StringBuilder();

            LOG_VendaCartaoGift lvc = new LOG_VendaCartaoGift(this);

            if (cart.select_rows_emp_valor(input_st_empresa))
            {
                while (cart.fetch())
                {
                    if (cart.get_tg_tipoCartao() != TipoCartao.presente)
                    {
                        continue;
                    }

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

                    if (cart.get_int_vr_limiteTotal() == 0)
                    {
                        continue;
                    }

                    if (cart.get_tg_status() == CartaoStatus.Bloqueado)
                    {
                        continue;
                    }

                    DadosCartao dc = new DadosCartao();

                    dc.set_st_matricula(cart.get_st_matricula());
                    dc.set_st_proprietario(prot.get_st_nome());
                    dc.set_vr_limiteTotal(cart.get_vr_limiteTotal());

                    parc.SetReversedFetch();

                    if (parc.select_rows_ult_compra(cart.get_identity()))
                    {
                        if (!parc.fetch())
                        {
                            continue;
                        }

                        dc.set_dt_ultUso(parc.get_dt_inclusao());
                    }

                    lvc.SetReversedFetch();

                    if (lvc.select_fk_cart(cart.get_identity()))
                    {
                        if (!lvc.fetch())
                        {
                            continue;
                        }

                        dc.set_dt_ultCarga(lvc.get_dt_compra());
                        dc.set_vr_extraCota(lvc.get_vr_carga());
                    }
                    else
                    {
                        dc.set_vr_extraCota("0");
                    }

                    DataPortable port = dc as DataPortable;

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

            DataPortable port_ids = new DataPortable();

            port_ids.setValue("ids", sb.ToString().TrimEnd(','));

            output_st_block = MemorySave(ref port_ids);

            /// USER [ execute ] END

            Registry("execute done fetch_rel_residuo_gift ");

            return(true);
        }
        public override bool execute( )
        {
            Registry("execute exec_pos_buscaCartao ");

            /// USER [ execute ]

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

            if (!term.select_rows_terminal(input_st_terminal))
            {
                return(false);
            }

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

            if (!emp.select_rows_empresa(input_st_empresa))
            {
                return(false);
            }

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

            if (emp.get_tg_blocked() == Context.TRUE)
            {
                return(false);
            }

            if (!cart.select_rows_empresa_matricula(input_st_empresa, input_st_matricula))
            {
                return(false);
            }

            while (cart.fetch())
            {
                DadosCartao dc = new DadosCartao();

                dc.set_st_titularidade(cart.get_st_titularidade());

                if (cart.get_st_titularidade() != "01")
                {
                    // dependente

                    T_Dependente dep = new T_Dependente(this);

                    if (dep.select_rows_prop_tit(cart.get_fk_dadosProprietario(),
                                                 cart.get_st_titularidade()))
                    {
                        if (dep.fetch())
                        {
                            string nome = dep.get_st_nome().Trim();

                            if (nome.Length > 20)
                            {
                                nome = nome.Substring(0, 20);
                            }

                            dc.set_st_proprietario(nome);
                        }
                    }
                }
                else
                {
                    // proprietario

                    T_Proprietario prop = new T_Proprietario(this);

                    if (prop.selectIdentity(cart.get_fk_dadosProprietario()))
                    {
                        string nome = prop.get_st_nome().Trim();

                        if (nome.Length > 20)
                        {
                            nome = nome.Substring(0, 20);
                        }

                        dc.set_st_proprietario(nome);
                    }
                }

                output_array_generic_lst.Add(dc);
            }

            /// USER [ execute ] END

            Registry("execute done exec_pos_buscaCartao ");

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

            Registry("execute fetch_cotaExtra_carts ");

            /// USER [ execute ]

            T_Empresa emp = new T_Empresa(this);

            if (!emp.select_rows_empresa(input_emp.PadLeft(6, '0')))
            {
                return(false);
            }

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

            T_Cartao cart = new T_Cartao(this);

            StringBuilder sb = new StringBuilder();

            if (cart.select_rows_empresa(input_emp.PadLeft(6, '0')))
            {
                T_Proprietario prot = new T_Proprietario(this);

                while (cart.fetch())
                {
                    if (cart.get_tg_status() != CartaoStatus.Habilitado)
                    {
                        continue;
                    }

                    if (cart.get_st_titularidade() != "01")
                    {
                        continue;
                    }

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

                    DadosCartao dc = new DadosCartao();

                    dc.set_st_matricula(cart.get_st_matricula());
                    dc.set_st_proprietario(prot.get_st_nome().ToUpper());

                    DataPortable mem_rtc_parc = dc as DataPortable;

                    // ## obtem indice

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            // ## obtem indice geral

            output_csv = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_cotaExtra_carts ");

            return(true);
        }
示例#9
0
        public override bool execute( )
        {
            if (base.execute() == false)
            {
                return(false);
            }

            Registry("execute fetch_consultaCartao ");

            /// USER [ execute ]

            // ## Filtro para busca de cartões

            StringBuilder sb = new StringBuilder();

            T_Cartao       cart = new T_Cartao(this);
            T_Proprietario prot = new T_Proprietario(this);
            T_Parcelas     parc = new T_Parcelas(this);

            ApplicationUtil util = new ApplicationUtil();

            string st_cart = input_cont_dcc.get_st_cartao();
            string st_cpf  = input_cont_dcc.get_st_cpf();

            // ## Se for cartão especifico

            if (st_cart.Length > 0)
            {
                // admin ou oper
                if (input_cont_dcc.get_st_empresa().Length > 0)
                {
                    if (!cart.select_rows_empresa_matricula(input_cont_dcc.get_st_empresa(),
                                                            st_cart.PadLeft(6, '0')))
                    {
                        return(true);
                    }
                }
                else                 // root
                {
                    if (!cart.select_rows_mat(st_cart.PadLeft(6, '0')))
                    {
                        return(true);
                    }
                }
            }

            // ## Se cpf ou cnpj for informado

            else if (st_cpf.Length > 0)
            {
                if (prot.select_rows_cpf(st_cpf))
                {
                    prot.fetch();

                    if (!cart.select_rows_prop(prot.get_identity()))
                    {
                        return(true);
                    }
                }
            }

            // ## Se for de código de empresa específica

            else if (input_cont_dcc.get_st_empresa().Length > 0)
            {
                if (!cart.select_rows_empresa(input_cont_dcc.get_st_empresa()))
                {
                    return(true);
                }
            }

            // ## Busca todos registros

            else
            {
                if (!cart.selectAll())
                {
                    return(true);
                }
            }

            bool nome      = false,
                 total     = false,
                 mensal    = false,
                 cotaExtra = false,
                 cidade    = false,
                 estado    = false;

            string st_nome   = input_cont_dcc.get_st_nome().ToUpper(),
                   st_cidade = input_cont_dcc.get_st_cidade(),
                   st_estado = input_cont_dcc.get_st_estado(),
                   expedido  = input_cont_dcc.get_tg_expedido();

            int i_total  = 0,
                i_mensal = 0,
                i_cota   = 0;

            // ## Prepara flags de filtro

            if (st_nome.Length > 0)
            {
                nome = true;
            }
            if (input_cont_dcc.get_vr_limTotal().Length > 0)
            {
                total = true;
            }
            if (input_cont_dcc.get_vr_limMensal().Length > 0)
            {
                mensal = true;
            }
            if (input_cont_dcc.get_vr_cotaExtra().Length > 0)
            {
                cotaExtra = true;
            }
            if (st_cidade.Length > 0)
            {
                cidade = true;
            }
            if (st_estado.Length > 0)
            {
                estado = true;
            }

            // ## Obtem valores rápidos para comparação

            if (total)
            {
                i_total = Convert.ToInt32(input_cont_dcc.get_vr_limTotal());
            }
            if (mensal)
            {
                i_mensal = Convert.ToInt32(input_cont_dcc.get_vr_limMensal());
            }
            if (cotaExtra)
            {
                i_cota = Convert.ToInt32(input_cont_dcc.get_vr_cotaExtra());
            }

            // ## Busca todos os registros selecionados

            bool todos     = false;
            bool hab       = false;
            bool bloq      = false;
            bool canc      = false;
            bool adminGift = false;

            if (input_cont_dcc.get_tg_bloqueado() == "3")               // todos
            {
                todos = true;
            }
            else
            {
                if (input_cont_dcc.get_tg_bloqueado() == Context.FALSE)                   // 0
                {
                    hab = true;
                }
                else if (input_cont_dcc.get_tg_bloqueado() == Context.TRUE)                   // 1
                {
                    bloq = true;
                }
                else
                {
                    canc = true;                     // 2
                }
            }

            if (input_cont_header.get_tg_user_type() == TipoUsuario.AdminGift)
            {
                adminGift = false;
            }

            T_Dependente dep_f     = new T_Dependente(this);
            T_Cartao     cart_prop = new T_Cartao(this);

            while (cart.fetch())
            {
                string dep = "";

                if (cart.get_tg_emitido() != expedido)
                {
                    continue;
                }

                if (adminGift)
                {
                    if (cart.get_fk_dadosProprietario() == "0")
                    {
                        continue;
                    }
                }

                if (!todos)
                {
                    if (bloq)
                    {
                        if (cart.get_tg_status() != CartaoStatus.Bloqueado)
                        {
                            continue;
                        }
                    }
                    else if (canc)
                    {
                        if (cart.get_tg_status() != CartaoStatus.Bloqueado)
                        {
                            continue;
                        }

                        if (cart.get_tg_status() == CartaoStatus.Bloqueado &&
                            cart.get_tg_motivoBloqueio() != MotivoBloqueio.CANCELAMENTO)
                        {
                            continue;
                        }
                    }
                    else if (hab)
                    {
                        if (cart.get_tg_status() != CartaoStatus.Habilitado)
                        {
                            continue;
                        }
                    }
                }

                if (total)
                {
                    if (cart.get_int_vr_limiteTotal() < i_total)
                    {
                        continue;
                    }
                }

                if (mensal)
                {
                    if (cart.get_int_vr_limiteMensal() < i_mensal)
                    {
                        continue;
                    }
                }

                if (cotaExtra)
                {
                    if (cart.get_int_vr_extraCota() < i_cota)
                    {
                        continue;
                    }
                }

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

                if (cidade)
                {
                    if (!prot.get_st_cidade().Contains(st_cidade))
                    {
                        continue;
                    }
                }

                if (estado)
                {
                    if (!prot.get_st_UF().Contains(st_estado))
                    {
                        continue;
                    }
                }

                if (cart.get_st_titularidade() != "01")
                {
                    if (!dep_f.select_rows_prop_tit(cart.get_fk_dadosProprietario(), cart.get_st_titularidade()))
                    {
                        continue;
                    }

                    if (!dep_f.fetch())
                    {
                        continue;
                    }

                    dep = dep_f.get_st_nome().ToUpper();

                    // Dependente
                    if (nome)
                    {
                        if (!dep.Contains(st_nome))
                        {
                            continue;
                        }
                    }
                }
                else
                {
                    if (nome)
                    {
                        if (!prot.get_st_nome().ToUpper().Contains(st_nome))
                        {
                            continue;
                        }
                    }
                }

                DadosCartao dc = new DadosCartao();

                dc.set_st_empresa(cart.get_st_empresa());
                dc.set_st_matricula(cart.get_st_matricula());

                dc.set_st_titularidade(cart.get_st_titularidade() + ":" +
                                       cart.get_nu_viaCartao());

                if (cart.get_fk_dadosProprietario() != Context.NONE)
                {
                    if (dep.Length > 0)
                    {
                        dc.set_st_proprietario(dep);
                    }
                    else
                    {
                        dc.set_st_proprietario(prot.get_st_nome());
                    }

                    dc.set_st_cpf(prot.get_st_cpf());
                }

                dc.set_tg_status(cart.get_tg_status());

                if (cart.get_tg_tipoCartao() == TipoCartao.presente)
                {
                    dc.set_vr_limiteTotal("0");
                    dc.set_vr_limiteMensal("0");
                    dc.set_vr_extraCota("0");
                    dc.set_vr_dispMes("0");
                    dc.set_vr_dispTotal(cart.get_vr_limiteTotal());
                }
                else
                {
                    long dispMensal = 0,
                         dispTotal  = 0;

                    if (cart.get_st_titularidade() != "01")
                    {
                        if (!cart_prop.select_rows_tudo(cart.get_st_empresa(),
                                                        cart.get_st_matricula(),
                                                        "01"))
                        {
                            continue;
                        }

                        if (!cart_prop.fetch())
                        {
                            continue;
                        }

                        dc.set_vr_limiteTotal(cart_prop.get_vr_limiteTotal());
                        dc.set_vr_limiteMensal(cart_prop.get_vr_limiteMensal());
                        dc.set_vr_extraCota(cart_prop.get_vr_extraCota());

                        dispMensal = cart_prop.get_int_vr_limiteMensal() + cart_prop.get_int_vr_extraCota();
                        dispTotal  = cart_prop.get_int_vr_limiteTotal() + cart_prop.get_int_vr_extraCota();
                    }
                    else
                    {
                        dc.set_vr_limiteTotal(cart.get_vr_limiteTotal());
                        dc.set_vr_limiteMensal(cart.get_vr_limiteMensal());
                        dc.set_vr_extraCota(cart.get_vr_extraCota());

                        dispMensal = cart.get_int_vr_limiteMensal() + cart.get_int_vr_extraCota();
                        dispTotal  = cart.get_int_vr_limiteTotal() + cart.get_int_vr_extraCota();
                    }

                    // ## Obtem saldo disponível

                    util.GetSaldoDisponivel(ref cart, ref dispMensal, ref dispTotal);

                    dc.set_vr_dispMes(dispMensal.ToString());
                    dc.set_vr_dispTotal(dispTotal.ToString());
                }

                DataPortable tmp = dc as DataPortable;

                // ## obtem identificador

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

            // ## Copia para saida um identificador de bloco

            output_st_csv_cartao = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_consultaCartao ");

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

            Registry("execute fetch_limitesCartao ");

            /// USER [ execute ]

            T_Cartao cart = new T_Cartao(this);

            if (!cart.select_rows_prop(prot.get_identity()))
            {
                PublishError("Nenhum cartão registrado para o cpf");
                return(false);
            }

            StringBuilder sb = new StringBuilder();

            bool verificaEmpresa = true;

            string empresa = user.get_st_empresa();

            if (input_cont_header.get_tg_user_type() == TipoUsuario.SuperUser)
            {
                verificaEmpresa = false;
            }

            while (cart.fetch())
            {
                // ## Somente cartões da empresa (administradores)

                if (verificaEmpresa)
                {
                    if (cart.get_st_empresa() != empresa)
                    {
                        continue;
                    }
                }

                // ## Somente cartões do tipo empresarial

                if (cart.get_tg_tipoCartao() != TipoCartao.empresarial)
                {
                    continue;
                }

                if (cart.get_st_titularidade() != "01")
                {
                    continue;
                }

                // ## Copia dados para memória

                DadosCartao dc = new DadosCartao();

                dc.set_st_empresa(cart.get_st_empresa());
                dc.set_st_matricula(cart.get_st_matricula());
                dc.set_tg_status(cart.get_tg_status());
                dc.set_st_vencimento(cart.get_st_venctoCartao());
                dc.set_vr_limiteTotal(cart.get_vr_limiteTotal());
                dc.set_vr_limiteMensal(cart.get_vr_limiteMensal());
                dc.set_vr_extraCota(cart.get_vr_extraCota());
                dc.set_vr_limiteRotativo(cart.get_vr_limiteRotativo());
                dc.set_st_proprietario(prot.get_st_nome());

                DataPortable mem = dc as DataPortable;

                // ## obtem indexador

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

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

            DataPortable dp = new DataPortable();

            dp.setValue("ids", list_ids);

            output_st_csv_cartoes = MemorySave(ref dp);

            /// USER [ execute ] END

            Registry("execute done fetch_limitesCartao ");

            return(true);
        }