public static SlotCabinetRegistration BuildFor(SlotCabinet slotCabinet, bool addRegisterEvent = true, Action <SlotCabinetRegistration> customize = null)
        {
            var slotCabinetRegistration = new SlotCabinetRegistration
            {
                MacAddress           = Utils.SampleMacAddress(),
                SasVersion           = "SasVersion",
                SlotCabinetId        = slotCabinet.SlotCabinetId,
                RegistrationDateTime = SliceFixture.GetSystemDateTime(),
            };

            customize?.Invoke(slotCabinetRegistration);

            slotCabinet.SlotCabinetRegistrations.Add(slotCabinetRegistration);

            if (addRegisterEvent)
            {
                //auto add a register cabinet event on new cabinet registration addition
                var slotCabinetEvent = SlotCabinetEventBuilderNew.BuildFor(slotCabinetRegistration, sce =>
                {
                    sce.EventTypeId = (int)SlotEventType.RegisterCabinet;
                });
                slotCabinetRegistration.SlotCabinetEvents.Add(slotCabinetEvent);
            }

            return(slotCabinetRegistration);
        }
        public static SlotCabinetPeriodicHealth BuildFor(SlotCabinetRegistration registration,
                                                         Action <SlotCabinetPeriodicHealth> customize = null)
        {
            var periodicHealth = new SlotCabinetPeriodicHealth
            {
                SlotCabinetRegistrationId = registration.SlotCabinetRegistrationId,
                RecordDateTime            = SliceFixture.GetSystemDateTime(),
            };

            customize?.Invoke(periodicHealth);

            return(periodicHealth);
        }
        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);
        }
Exemplo n.º 4
0
        public static TicketPrintedAuditHistory BuildFor(SlotCabinetEventTicketPrinted ticket,
                                                         Action <TicketPrintedAuditHistory> customize = null)
        {
            var nextNumber = Utils.GetNextNaturalNumber();

            var ticketPrintedAuditHistory = new TicketPrintedAuditHistory
            {
                EventSequenceId = ticket.EventSequenceId,
                TicketStatusId  = TicketPrintedStatusEnum.Valid,
                AuditActionId   = TicketPrintedAuditActionEnum.None,
                UserId          = Guid.NewGuid().ToString(), //TODO: Get UnitTest UserId?
                Comment         = $"Comment{nextNumber}",
                AuditDateTime   = SliceFixture.GetSystemDateTime()
            };

            customize?.Invoke(ticketPrintedAuditHistory);
            ticket.TicketsPrintedAuditHistory.Add(ticketPrintedAuditHistory);

            return(ticketPrintedAuditHistory);
        }
        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);
        }