Example #1
0
        public void Entity_TicketPrinted_G2H()
        {
            FFMsg_G2H msg = FreeformEntityFactory.CreateEntity <FFMsg_G2H>(FF_FlowDirection.G2H,
                                                                           new FFCreateEntityRequest_G2H()
            {
                MessageType   = FF_AppId_G2H_MessageTypes.FreeForm,
                Command       = FF_AppId_G2H_Commands.ResponseRequest,
                SessionID     = FF_AppId_SessionIds.Tickets,
                TransactionID = 1,
            });

            FFTgt_B2B_TicketInfo tgt = new FFTgt_B2B_TicketInfo();

            msg.AddTarget(tgt);

            FFTgt_G2H_Ticket_Printed_Request tgt2 = new FFTgt_G2H_Ticket_Printed_Request();

            tgt.AddTarget(tgt2);

            tgt2.BarCode = "100000000078789098";
            tgt2.Amount  = 9976;
            tgt2.Type    = FF_AppId_TicketTypes.Cashable;

            byte[] buffer  = FreeformEntityFactory.CreateBuffer(FF_FlowDirection.G2H, msg);
            string sBuffer = buffer.GetConvertBytesToHexString(string.Empty);

            Assert.AreEqual(sBuffer,
                            "[05][A2][BC][8A][01][00][01][00][01][00][11][0A][0F][01][10][00][00][00][00][78][78][90][98][00][00][99][76][00][AE]");
        }
        protected override bool OnProcessMessageG2HExternal_GMU(FFTgtExecutionContext context, IFreeformEntity_MsgTgt target)
        {
            FFTgt_G2H_Ticket_Printed_Request tgtSrc = target as FFTgt_G2H_Ticket_Printed_Request;

            using (TicketIDInfo idInfo = new TicketIDInfo(tgtSrc.BarCode))
            {
                tgtSrc.SequenceNo = idInfo.SequenceNumber;
            }
            return(base.OnProcessMessageG2HExternal_GMU(context, target));
        }
        protected override IMonitorEntity_MsgTgt CreateMonitorTarget(IMonitorEntity parent, IFreeformEntity_MsgTgt request)
        {
            FFTgt_G2H_Ticket_Printed_Request tgtSrc = request as FFTgt_G2H_Ticket_Printed_Request;

            if (tgtSrc != null)
            {
                MonTgt_G2H_Ticket_Printed_Request tgtDest = new MonTgt_G2H_Ticket_Printed_Request()
                {
                    BarCode    = tgtSrc.BarCode,
                    Amount     = tgtSrc.Amount,
                    Type       = tgtSrc.Type,
                    SequenceNo = tgtSrc.SequenceNo,
                };
                return(tgtDest);
            }
            return(null);
        }