示例#1
0
        public static IList recibeMensajeQ2(byte[] byteRec)
        {
            Array.Resize(ref byteRec, 29);
            Error err = new Error();

            err.CodError = (uint)Conversiones.AgregaDigito16(byteRec, 2); //Cod. de error

            IList objsQ2 = new List <object>();

            objsQ2.Add(err);

            byte tipoTrans = (byte)Conversiones.AgregaDigito(byteRec, 1);


            TransacQuinielaH transaccRta = new TransacQuinielaH();                  // En esta clase se llenan campos que no se llenaron al enviarla.

            Conversiones.AgregaCadena(byteRec, 0, 1);                               //Letra "Q"
            transaccRta.TipoTransacc = (byte)Conversiones.AgregaDigito(byteRec, 1); //Tipo de transacción


            transaccRta.id_transacc = Convert.ToUInt32(Conversiones.AgregaCadena(byteRec, 4, 18));     //Id ticket

            transaccRta.id_ticket = Transformar.GenerateTicketIdst((transaccRta.id_transacc));

            transaccRta.Timehost = new DateTime(Conversiones.AgregaDigito16(byteRec, 24), Conversiones.AgregaDigito(byteRec, 23),
                                                Conversiones.AgregaDigito(byteRec, 22), Conversiones.AgregaDigito(byteRec, 26), Conversiones.AgregaDigito(byteRec, 27),
                                                Conversiones.AgregaDigito(byteRec, 28));

            //Certificado ft = new Certificado();

            transaccRta.Protocolo = TransacManager.ProtoConfig.PROTOCOLO;
            //Si se le pasa con CDs y TARJETA no funciona, aunque pasemos la longitud del protocolo sin contar los CDs y
            //TARJETA, da la misma excepcion de incompatibilidad de longitudes.
            //ft.CertificadoQuiniela(Comunicacion.PROTOCOLO, Comunicacion.CLAVE_TARJETA, Comunicacion, ref transaccRta.Certificado, (int)EnumCertificado.TIPOCHECK,
            //    new QuinielaCheck());

            objsQ2.Add(transaccRta);


            return(objsQ2);
        }