private void OnDeviceInitialized() { try { DispatchService.Invoke(() => { StarterViewModels.Clear(); for (int i = 1; i <= 3; i++) { if ((_model as IRuntimeDevice).StartersOnDevice.Any((starter => starter.StarterNumber == i))) { StarterViewModels.Add(_starterViewModelFactory.CreateStarterViewModel( (_model as IRuntimeDevice).StartersOnDevice.First( (starter => starter.StarterNumber == i)))); } else { StarterViewModels.Add(new StarterViewModel()); } } _outgoingLinesViewModel = _outgoingLinesViewModelFactory.CreateOutgoingLinesViewModel(Model); RaisePropertyChanged(nameof(OutgoingLinesViewModel)); _customItemsViewModel = _customItemsViewModelFactory.CreateCustomItemsViewModel((_model as IRuntimeDevice).DeviceCustomItems); }); } catch (Exception e) { Console.WriteLine(e); throw; } }
public ICustomItemsViewModel CreateCustomItemsViewModel(object deviceCustomItems) { IDeviceCustomItems deviceCustomItemsModel = deviceCustomItems as IDeviceCustomItems; ICustomItemsViewModel customItemsViewModel = _container.Resolve <ICustomItemsViewModel>(); if (deviceCustomItemsModel.IsCascadeEnabled) { customItemsViewModel.IsCascadeEnabled = true; List <ICascadeViewModel> cascadeViewModels = new List <ICascadeViewModel>(); deviceCustomItemsModel.Cascades.ForEach((cascade => { ICascadeViewModel cascadeViewModel = _container.Resolve <ICascadeViewModel>(); cascadeViewModel.Model = cascade; cascadeViewModels.Add(cascadeViewModel); })); customItemsViewModel.CascadeViewModels = cascadeViewModels; } if (deviceCustomItemsModel.IsSignalsEnabled) { customItemsViewModel.IsSignalsEnabled = true; List <ISignalViewModel> signalViewModels = new List <ISignalViewModel>(); deviceCustomItemsModel.Signals.ForEach((signal => { ISignalViewModel signalViewModel = _container.Resolve <ISignalViewModel>(); signalViewModel.Model = signal; signalViewModels.Add(signalViewModel); })); customItemsViewModel.SignalViewModels = signalViewModels; } if (deviceCustomItemsModel.IsIndicatorsEnabled) { customItemsViewModel.IsIndicatorsEnabled = true; List <IIndicatorViewModel> indicatorViewModels = new List <IIndicatorViewModel>(); deviceCustomItemsModel.Indicators.ForEach((indicator => { IIndicatorViewModel indicatorViewModel = _container.Resolve <IIndicatorViewModel>(); indicatorViewModel.Model = indicator; indicatorViewModels.Add(indicatorViewModel); })); customItemsViewModel.IndicatorViewModels = indicatorViewModels; } return(customItemsViewModel); }
/// <summary> /// /// </summary> public RuntimeDeviceViewModel(IStarterViewModelFactory starterViewModelFactory, IDefectStateViewModel defectStateViewModel, IDeviceCommandService deviceCommandService, IAnalogDataViewModel analogDataViewModel, IOutgoingLinesViewModelFactory outgoingLinesViewModelFactory, ICustomItemsViewModelFactory customItemsViewModelFactory, ICustomItemsViewModel customItemsViewModel, IQueryIndicatorViewModel queryIndicatorViewModel) { _starterViewModelFactory = starterViewModelFactory; StarterViewModels = new ObservableCollection <IStarterViewModel>(); _defectStateViewModel = defectStateViewModel; _deviceCommandService = deviceCommandService; _outgoingLinesViewModelFactory = outgoingLinesViewModelFactory; _customItemsViewModelFactory = customItemsViewModelFactory; AnalogDataViewModel = analogDataViewModel; NavigateToSchemeCommand = new DelegateCommand(OnNavigateToSchemeExecute); StateWidget = WidgetState.NoConnection; _customItemsViewModel = customItemsViewModel; QueryIndicatorViewModel = queryIndicatorViewModel; }