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)); } }
private void OnDetectorenChanged(DetectorenChangedMessage dmsg) { if (_detChanging) { return; } _detChanging = true; if (dmsg.RemovedDetectoren?.Any() == true) { foreach (var d in dmsg.RemovedDetectoren) { var vm = AllDetectors.FirstOrDefault(x => x.Naam == d.Naam); if (vm == null) { continue; } AllDetectors.Remove(vm); AllDetectorStrings.Remove(vm.Naam); } } if (dmsg.AddedDetectoren?.Any() == true) { foreach (var d in dmsg.AddedDetectoren) { AllDetectors.Add(new DetectorViewModel(d)); AllDetectorStrings.Add(d.Naam); } } AllDetectors.BubbleSort(); AllDetectorStrings.BubbleSort <string>(TLCGenIntegrityChecker.CompareDetectors); foreach (var detectorsCollectionView in _detectorsCollectionViews) { detectorsCollectionView.Value.Refresh(); } RefreshVecomDetectors(); _detChanging = false; }