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 OnIngangenChanged(IngangenChangedMessage obj) { if (obj.RemovedIngangen?.Any() == true) { foreach (var sg in obj.RemovedIngangen) { var vm = AllIngangen.FirstOrDefault(x => x.Naam == sg.Naam); if (vm == null) { continue; } AllIngangen.Remove(vm); } } if (obj.AddedIngangen?.Any() == true) { foreach (var sg in obj.AddedIngangen) { AllIngangen.Add(new IngangViewModel(sg)); } } AllIngangen.BubbleSort(); }