예제 #1
0
        public static int ExchangePaper(PaperExchangeItem item, int replacementAudit)
        {
            var msg = new ExchangePaperMessage(item.Serial, item.Audit, replacementAudit, item.ReceiptID);

            try
            {
                msg.Send();
            }
            catch (Exception)
            {
            }
            return(msg.ReturnCode);
        }
예제 #2
0
        /// <summary>
        /// Parses the response received from the server.
        /// </summary>
        protected override void UnpackResponse()
        {
            //// Reset the values.
            base.UnpackResponse();

            // Create the streams we will be reading from.
            MemoryStream responseStream = new MemoryStream(m_responsePayload);
            BinaryReader responseReader = new BinaryReader(responseStream, Encoding.Unicode);

            // Try to unpack the data.
            try
            {
                // Seek past return code.
                responseReader.BaseStream.Seek(sizeof(int), SeekOrigin.Begin);

                //receipt ID
                var receiptId = responseReader.ReadInt32();

                //Machine ID
                var machineId = responseReader.ReadInt32();

                //Audit #
                var audit = responseReader.ReadInt32();

                //Serial #
                var serial = ReadString(responseReader);

                //Product Name
                var productName = ReadString(responseReader);

                //Staff first name
                var staffFirstName = ReadString(responseReader);

                //Staff last name
                var staffLastName = ReadString(responseReader);

                //staff full name
                var staffName = string.Format("{0} {1}", staffFirstName, staffLastName);

                // Transaction Number
                var transNum = responseReader.ReadInt32();

                // Gaming Session
                var session = responseReader.ReadInt32();

                // Gaming Date
                var bingoDay = ReadDateTime(responseReader) ?? DateTime.Now.Date;

                Item = new PaperExchangeItem
                {
                    Name              = productName,
                    Serial            = serial,
                    Audit             = audit,
                    Cashier           = staffName,
                    ReceiptID         = receiptId,
                    Machine           = machineId,
                    TransactionNumber = transNum,
                    SoldSession       = session,
                    GamingDate        = bingoDay,
                };
            }
            catch (EndOfStreamException e)
            {
                Item = null;
                throw new MessageWrongSizeException(m_strMessageName, e);
            }
            catch (Exception e)
            {
                Item = null;
                throw new ServerException(m_strMessageName, e);
            }

            //Close the streams.
            responseReader.Close();
        }
예제 #3
0
        public static GetPaperExchangeDataMessage GetPaperExchangeData(string serial, int audit, out PaperExchangeItem item)
        {
            var msg = new GetPaperExchangeDataMessage(serial, audit);

            try
            {
                msg.Send();
            }
            catch (Exception)
            {
                // ignored
            }

            item = msg.Item;
            return(msg);
        }