示例#1
0
        public override bool Run(string client_msg, ref Transaction trans, ref bool IsTerm, ref string buffer_response)
        {
            if (client_msg.Length < 71)
            {
                return(false);
            }

            POS_Entrada pe = new POS_Entrada();

            pe.set_st_terminal(client_msg.Substring(6, 8));

            string trilha = client_msg.Substring(14, 27);

            pe.set_st_empresa(trilha.Substring(6, 6));
            pe.set_st_matricula(trilha.Substring(12, 6));
            pe.set_st_titularidade(trilha.Substring(18, 2));

            pe.set_st_senha(client_msg.Substring(41, 16));
            pe.set_vr_valor(client_msg.Substring(57, 12));
            pe.set_nu_parcelas(client_msg.Substring(69, 2));
            pe.set_st_valores(client_msg.Substring(71));

            if (client_msg.Length > 200)
            {
                pe.set_st_terminalSITEF(client_msg.Substring(200, 8));  // veio do sitef
                pe.set_st_nsuOrigemSITEF(client_msg.Substring(208, 6)); // veio do sitef
            }

            // ajustado
            if (pe.get_st_terminal().StartsWith("1"))
            {
                exec_pos_vendaEmpresarialSITEF tr = new exec_pos_vendaEmpresarialSITEF(trans);

                tr.input_cont_pe = pe;
                tr.RunOnline();

                IsTerm = tr.IsFail;

                buffer_response = util.Get_POS_Buffer(tr.output_cont_pr, tr.output_st_msg);

                return(true);
            }
            else
            {
                exec_pos_vendaEmpresarial tr = new exec_pos_vendaEmpresarial(trans);

                tr.input_cont_pe = pe;
                tr.RunOnline();

                IsTerm          = tr.IsFail;
                buffer_response = util.Get_POS_Buffer(tr.output_cont_pr, tr.output_st_msg);

                return(true);
            }
        }
        public override bool Run(string client_msg, ref Transaction trans, ref bool IsTerm, ref string buffer_response)
        {
            if (client_msg.Length < 71)
            {
                return(false);
            }

            POS_Entrada pe = new POS_Entrada();

            pe.set_st_terminal(client_msg.Substring(6, 8));

            string trilha = client_msg.Substring(14, 27);

            pe.set_st_empresa(trilha.Substring(6, 6));
            pe.set_st_matricula(trilha.Substring(12, 6));
            pe.set_st_titularidade(trilha.Substring(18, 2));

            pe.set_st_senha(client_msg.Substring(41, 16));
            pe.set_vr_valor(client_msg.Substring(57, 12));
            pe.set_nu_parcelas(client_msg.Substring(69, 2));
            pe.set_st_valores(client_msg.Substring(71));

            pe.set_st_senha(pe.get_st_senha().Substring(12, 4));

            exec_pos_vendaEmpresarial tr = new exec_pos_vendaEmpresarial(trans);

            tr.input_cont_pe = pe;
            tr.IsDigitado    = true;

            tr.RunOnline();

            if (tr.IsFail)
            {
                IsTerm = true;
            }
            else
            {
                IsTerm = false;
            }

            buffer_response = util.Get_POS_Buffer(tr.output_cont_pr, tr.output_st_msg);

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

            Registry("execute exec_venda_pend_lojista ");

            /// USER [ execute ]

            T_Cartao cart = 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("Cartão inválido");
                return(false);
            }

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

            POS_Entrada pe = new POS_Entrada();

            pe.set_st_senha(cart.get_st_senha());
            pe.set_st_empresa(input_st_cartao.Substring(0, 6));
            pe.set_st_matricula(input_st_cartao.Substring(6, 6));
            pe.set_st_titularidade(input_st_cartao.Substring(12, 2));
            pe.set_vr_valor(input_vr_valor.PadLeft(12, '0'));
            pe.set_st_terminal(input_cont_header.get_nu_terminal());
            pe.set_nu_parcelas("1");
            pe.set_st_valores(input_vr_valor.PadLeft(12, '0'));

            exec_pos_vendaEmpresarial epv = new exec_pos_vendaEmpresarial(this);

            epv.input_cont_pe = pe;

            if (!epv.RunOnline())
            {
                PublishError(epv.output_st_msg);
                return(false);
            }

            exec_pos_confirmaVendaEmpresarial epcve = new exec_pos_confirmaVendaEmpresarial(this);

            epcve.input_cont_pe = pe;
            epcve.input_st_nsu  = epv.output_cont_pr.get_st_nsuRcb();

            if (!epcve.RunOnline())
            {
                PublishError(epcve.output_st_msg);
                return(false);
            }

            PublishNote("Venda offline confirmada");

            /// USER [ execute ] END

            Registry("execute done exec_venda_pend_lojista ");

            return(true);
        }