public BurningViewModel GetViewModel(int CellKindId, int ModificationId, IValidationContext ValidationContext, IProjectAssembler projectAssembler) { BlockKind cellKind = _indexHelper.GetCell(CellKindId); ModificationKind modification = _indexHelper.GetModification(cellKind, ModificationId); List<BurningOptionViewModel> burningOptions = Enumerable.Range(1, cellKind.ChannelsCount) .Select(i => new BurningOptionViewModel(String.Format("Канал {0}", i), i, _burningStatus)) .ToList(); List<BurningMethodViewModel> burningMethods = _burningService.GetBurningMethods(modification.DeviceName) .Select( burningMethod => new BurningMethodViewModel(burningMethod.Name, burningMethod.Receipt)) .ToList(); var viewModel = new BurningViewModel(burningOptions, burningMethods, _burningStatus); var controller = new BurningViewModelController(viewModel, CellKindId, _eventAggregator, _settingsService, ValidationContext, projectAssembler, _burningService); return viewModel; }
public BurningViewModelController(BurningViewModel ViewModel, int CellKindId, IEventAggregator EventAggregator, ISettingsService SettingsService, IValidationContext ValidationContext, IProjectAssembler ProjectAssembler, IBurningService BurningService) { _viewModel = ViewModel; _settingsService = SettingsService; _validationContext = ValidationContext; _projectAssembler = ProjectAssembler; _burningService = BurningService; _cellKindId = CellKindId; _viewModel.SelectedBurningMethodChanged += ViewModelOnSelectedBurningMethodChanged; foreach (BurningOptionViewModel burningOption in _viewModel.BurningOptions) burningOption.Activated += BurningOptionOnActivated; string preferredBurningMethod = _settingsService.GetPreferredBurningMethod(CellKindId); _viewModel.SelectedBurningMethod = _viewModel.BurningMethods.FirstOrDefault(m => m.Name == preferredBurningMethod) ?? _viewModel.BurningMethods.FirstOrDefault(); EventAggregator.GetEvent<ProjectChangedEvent>().Subscribe(OnProjectChanged); }
public ProjectManagerViewModel(ProjectViewModel Project, BurningViewModel Burning) { this.Project = Project; this.Burning = Burning; }