Ejemplo n.º 1
0
        public override bool Run(string client_msg, ref Transaction trans, ref bool IsTerm, ref string buffer_response)
        {
            if (client_msg.Length < 27)
            {
                return(false);
            }

            exec_pf_consultaAutorizacao tr = new exec_pf_consultaAutorizacao(trans);

            tr.input_st_tel_lojista = client_msg.Substring(6, 10);
            tr.input_st_telefone    = client_msg.Substring(16, 10);

            string FecharConexao = client_msg.Substring(26, 1);

            tr.RunOnline();

            buffer_response = tr.output_st_codResp + tr.output_st_msg.PadLeft(20, ' ');

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

                buffer_response += new StringBuilder().Append(tmp.get_vr_valor().PadLeft(12, '0'))
                                   .Append(tmp.get_st_nsu().PadLeft(6, '0'))
                                   .Append(tmp.get_tg_sit().PadLeft(1, '0'))
                                   .Append(tmp.get_dt_ocorr().PadLeft(10, '0')).ToString();
            }

            if (FecharConexao == Context.TRUE)
            {
                IsTerm = true;
            }

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

            Registry("execute exec_pf_consultaAutorizacao ");

            /// USER [ execute ]

            // ## Busca telefone de lojista

            pf_lojista = new T_PayFone(this);

            if (!pf_lojista.select_rows_telefone(input_st_tel_lojista))
            {
                output_st_codResp = "98";
                output_st_msg     = "Telefone invalido";
                return(false);
            }

            if (!pf_lojista.fetch())
            {
                output_st_codResp = "80";
                output_st_msg     = "Erro de aplicativo";
                return(false);
            }

            // ## busca pendência pelo cartão e terminal

            T_PendPayFone pendPayFone = new T_PendPayFone(this);

            if (pendPayFone.select_rows_cart_term(cart.get_identity(),
                                                  pf_lojista.get_fk_terminal()))
            {
                // ## Pega do mais novo ao mais antigo

                pendPayFone.SetReversedFetch();

                // ## Somente primeiros três registros

                while (pendPayFone.fetch() && output_array_generic_lst.Count < 3)
                {
                    PF_DadosConsultaAutorizacao tmp = new PF_DadosConsultaAutorizacao();

                    tmp.set_vr_valor(pendPayFone.get_vr_valor());
                    tmp.set_st_nsu(pendPayFone.get_nu_nsu());
                    tmp.set_tg_sit(pendPayFone.get_en_situacao());

                    DateTime dt_data = Convert.ToDateTime(pendPayFone.get_dt_inclusao());

                    tmp.set_dt_ocorr(new StringBuilder().Append(dt_data.Day.ToString().PadLeft(2, '0'))
                                     .Append(@"/")
                                     .Append(dt_data.Month.ToString().PadLeft(2, '0'))
                                     .Append(@"/")
                                     .Append(dt_data.Year.ToString()).ToString());

                    output_array_generic_lst.Add(tmp);
                }
            }

            while (output_array_generic_lst.Count < 3)
            {
                output_array_generic_lst.Add(new PF_DadosConsultaAutorizacao());
            }

            /// USER [ execute ] END

            Registry("execute done exec_pf_consultaAutorizacao ");

            return(true);
        }