private void OnSignalGroupsChanged(FasenChangedMessage obj) { if (_fasenChanging) { return; } _fasenChanging = true; if (obj.RemovedFasen?.Any() == true) { foreach (var sg in obj.RemovedFasen) { var vm = AllSignalGroups.FirstOrDefault(x => x.Naam == sg.Naam); if (vm == null) { continue; } AllSignalGroups.Remove(vm); AllSignalGroupStrings.Remove(vm.Naam); } } if (obj.AddedFasen?.Any() == true) { foreach (var sg in obj.AddedFasen) { AllSignalGroups.Add(new FaseCyclusViewModel(sg)); AllSignalGroupStrings.Add(sg.Naam); } } AllSignalGroups.BubbleSort(); AllSignalGroupStrings.BubbleSort(); _fasenChanging = false; }
private void OnControllerLoaded(ControllerLoadedMessage obj) { AllIngangen.Clear(); AllSignalGroups.Clear(); AllSignalGroupStrings.Clear(); AllDetectors.Clear(); AllDetectorStrings.Clear(); AllSelectiveDetectors.Clear(); AllSelectiveDetectorStrings.Clear(); AllVecomDetectors.Clear(); AllVecomDetectorStrings.Clear(); Controller = obj.Controller; if (obj.Controller == null) { return; } foreach (var sg in obj.Controller.Fasen) { AllSignalGroups.Add(new FaseCyclusViewModel(sg)); AllSignalGroupStrings.Add(sg.Naam); foreach (var d in sg.Detectoren) { AllDetectors.Add(new DetectorViewModel(d) { FaseCyclus = sg.Naam }); AllDetectorStrings.Add(d.Naam); } } foreach (var d in obj.Controller.Detectoren) { AllDetectors.Add(new DetectorViewModel(d)); AllDetectorStrings.Add(d.Naam); } foreach (var seld in obj.Controller.SelectieveDetectoren) { AllSelectiveDetectors.Add(new SelectieveDetectorViewModel(seld)); AllSelectiveDetectorStrings.Add(seld.Naam); } foreach (var ingang in obj.Controller.Ingangen) { AllIngangen.Add(new IngangViewModel(ingang)); } }