public override void Move()
        {
            this.Stop();
            if (CanMove())
            {
                if (lastBaggage != null)
                {
                    NextNode.PassBaggage(lastBaggage);
                }

                for (int index = conveyorBelt.Length - 1; index > 0; index--)
                {
                    conveyorBelt[index]     = conveyorBelt[index - 1];
                    conveyorBelt[index - 1] = null;
                }
            }
            else
            {
                NextNode.OnNodeStatusChangedToFree += Move;
                return;
            }

            NextNode.OnNodeStatusChangedToFree -= Move;
            Status = BaggageStatus.Free;
            this.Start();
        }
示例#2
0
 private void Move()
 {
     if (NextNode.NodeStatus == NodeStatus.Free)
     {
         NextNode.PassBaggage(currentBag);
         NextNode.OnNodeStatusChangedToFree -= Move;
         NodeStatus = NodeStatus.Free;
     }
     else
     {
         NextNode.OnNodeStatusChangedToFree -= Move;
         NextNode.OnNodeStatusChangedToFree += Move;
     }
 }
示例#3
0
 public override void ProcessBaggage()
 {
     if (NextNode.Status == BaggageStatus.Free)
     {
         NextNode.PassBaggage(baggage);
         Status = BaggageStatus.Free;
         if (baggageInCheckIn == 1)
         {
             startOfBaggageTransfer = DateTime.Now;
         }
         NextNode.OnNodeStatusChangedToFree -= ProcessBaggage;
     }
     else
     {
         NextNode.OnNodeStatusChangedToFree += ProcessBaggage;
     }
 }
 public override void ProcessBaggage()
 {
     if (NextNode.Status == BaggageStatus.Free)
     {
         if (baggage.Secure == 2 || baggage.Secure == 7)
         {
             baggageAgainstSecurityPolicy.Enqueue(baggage);
             NextNode.OnNodeStatusChangedToFree -= ProcessBaggage;
         }
         else
         {
             NextNode.PassBaggage(baggage);
             NextNode.OnNodeStatusChangedToFree -= ProcessBaggage;
         }
     }
     else
     {
         NextNode.OnNodeStatusChangedToFree += ProcessBaggage;
     }
     Status = BaggageStatus.Free;
 }