public override void Process(IBaggage b)
        {
            System.Diagnostics.Debug.WriteLine("psc" + b.Destination);

            _isFail = _randomGen.Next(0, 101) < _psSettings.PercentageFailedBags;

            b.AddLog(TimerService.GetTimeSinceSimulationStart(), TimerService.ConvertMillisecondsToTimeSpan(_psSettings.ProcessingSpeed),
                     $"Primary security check ID-{NodeId} processing - { (_isFail ? LoggingConstants.PrimarySecurityCheckFailed : LoggingConstants.PrimarySecurityCheckSucceeded)}");
        }
        public override void PassBaggage(IBaggage b)
        {
            AddBagTransportationLog(b);

            SortBaggageToTransporterNode(b);

            b.AddLog(TimerService.GetTimeSinceSimulationStart(), TimerService.ConvertMillisecondsToTimeSpan(1000), "Mda processing. Sorted to dropoff " + b.Destination);

            _transporterQueues[b.Destination].Enqueue(b);
        }
 public void AddBagTransportationLog(IBaggage b)
 {
     if (b.TransportationStartTime != null)
     {
         var transportationStart     = b.TransportationStartTime ?? 0;
         var transportingTimeElapsed = TimerService.GetTicksSinceSimulationStart() - transportationStart;
         b.AddLog(TimerService.GetTimeSinceSimulationStart(),
                  new TimeSpan(transportingTimeElapsed),
                  string.Format(LoggingConstants.BagReceivedInTemplate, Destination, b.TransporterId));
         b.TransportationStartTime = null;
     }
 }
示例#4
0
        public override void Process(IBaggage b)
        {
            System.Diagnostics.Debug.WriteLine("psc" + b.Destination);

            var isFail = _rand.Next(0, 101) < _psSettings.PercentageFailedBags;

            b.AddLog(TimerService.GetTimeSinceSimulationStart(), TimerService.ConvertMillisecondsToTimeSpan(_psSettings.ProcessingSpeed),
                     $"Final security check ID-{NodeId} processing - { (isFail ? LoggingConstants.FinalSecurityCheckFailed: LoggingConstants.FinalSecurityCheckSucceeded)}");
            if (!isFail)
            {
                b.Destination = typeof(Mda).Name;
                return;
            }

            bagsTaken.Enqueue(b);
            currentBag = null;
            this._dangerousBaggage.Add(b);
        }
示例#5
0
 public override void PassBaggage(IBaggage b)
 {
     NodeStatus = NodeStatus.Busy;
     currentBag = b;
     if (b == null)
     {
         NodeStatus = NodeStatus.Free;
         return;
     }
     if (b.TransportationStartTime != null)
     {
         var transportationStart     = b.TransportationStartTime ?? 0;
         var transportingTimeElapsed = TimerService.GetTicksSinceSimulationStart() - transportationStart;
         b.AddLog(TimerService.GetTimeSinceSimulationStart(),
                  new TimeSpan(transportingTimeElapsed),
                  string.Format(LoggingConstants.BagReceivedInTemplate, Destination, b.TransporterId));
         b.TransportationStartTime = null;
     }
     ProcessInternal(currentBag);
 }
 public override void PassBaggage(IBaggage b)
 {
     b.Destination = Destination;
     _pickedUpBags.Add(b);
     b.AddLog(TimerService.GetTimeSinceSimulationStart() + new TimeSpan(ProcessingSpeed), TimerService.ConvertMillisecondsToTimeSpan(ProcessingSpeed), "drop off processing");
 }
 public override void Process(IBaggage b)
 {
     System.Diagnostics.Debug.WriteLine("checkin" + b.Destination);
     b.AddLog(TimerService.GetTimeSinceSimulationStart(), TimerService.ConvertMillisecondsToTimeSpan(1000), $"Checkin processing");
     b.Destination = typeof(PrimarySecurity).Name;
 }