Ejemplo n.º 1
0
 private void UpdateLostTrain()
 {
     foreach (var item in LoseTrain.Keys)
     {
         string TrainSection = (Convert.ToInt16(LoseTrain[item][1]) * 256 + Convert.ToInt16(LoseTrain[item][0])).ToString();
         string RailSwitch   = (Convert.ToInt16(LoseTrain[item][2])).ToString();
         if (TraverseSection(TrainSection) != null)
         {
             Section section = TraverseSection(TrainSection);
             if (!section.HasNonComTrain.Contains(item))
             {
                 section.HasNonComTrain.Add(item);
             }
             System.Windows.Application.Current.Dispatcher.Invoke(
                 new Action(
                     delegate
             {
                 section.InvalidateVisual();
             }));
         }
         else if (TraverseRailSwitch(TrainSection, RailSwitch) != null)
         {
             RailSwitch railswitch = TraverseRailSwitch(TrainSection, RailSwitch);
             if (railswitch.HasNonComTrain.Contains(item))
             {
                 railswitch.HasNonComTrain.Add(item);
             }
             System.Windows.Application.Current.Dispatcher.Invoke(new Action(delegate
             {
                 railswitch.InvalidateVisual();
             }));
         }
     }
 }