コード例 #1
0
        public static SlotCabinetEvent BuildFor(SlotCabinetRegistration registration, Action <SlotCabinetEvent> customize = null)
        {
            var eventSequenceId = Guid.NewGuid();

            var slotCabinetEvent = new SlotCabinetEvent
            {
                EventSequenceId           = eventSequenceId,
                SlotCabinetRegistrationId = registration.SlotCabinetRegistrationId,
                ProcessSequenceId         = Guid.NewGuid(),
                EventDateTime             = SliceFixture.GetSystemDateTime(),
                EventTypeId = (int)SlotEventType.Unknown
            };

            customize?.Invoke(slotCabinetEvent);

            registration.SlotCabinetEvents.Add(slotCabinetEvent);

            return(slotCabinetEvent);
        }
        public static SlotCabinetEventTicketPrinted BuildFor(SlotCabinetEvent slotCabinetEvent, int ticketNumber,
                                                             Action <SlotCabinetEventTicketPrinted> customizeTicket = null)
        {
            var slotCabinetEventTicketPrinted = new SlotCabinetEventTicketPrinted
            {
                Amount             = (uint)Utils.GetRandomTicketAmount(),
                SystemId           = (byte)ticketNumber,
                ValidationNumber   = "100",
                TicketNumber       = (ushort)ticketNumber,
                TicketType         = (byte)ticketNumber,
                PoolId             = (ushort)ticketNumber,
                PrintedDateTime    = SliceFixture.GetSystemDateTime(),
                ExpirationDateTime = SliceFixture.GetSystemDateTime().AddDays(2),
                EventSequenceId    = slotCabinetEvent.EventSequenceId,
            };

            customizeTicket?.Invoke(slotCabinetEventTicketPrinted);
            //update ticket hash
            slotCabinetEventTicketPrinted.TicketHash = null;//slotCabinetEventTicketPrinted.GenerateTicketHashCode(slotCabinetEvent.SlotCabinetRegistrationId);
            return(slotCabinetEventTicketPrinted);
        }