public ProjectViewModel([NotNull] Project project) { BusyIndicator = StorageState.Idle; Project = project; projectManipulationService = new ProjectManipulationService(project); var eventTreeViewModels = new ObservableCollection <EventTreeViewModel>(project.EventTrees.Select(te => { var eventTreeViewModel = new EventTreeViewModel(te, projectManipulationService) { EstimationSpecificationViewModelFactory = new EstimationSpecificationViewModelFactory(project) }; eventTreeViewModel.PropertyChanged += EventTreeViewModelPropertyChanged; return(eventTreeViewModel); })); EventTrees = eventTreeViewModels; addTreeEventCommand = new AddTreeEventCommand(this); removeTreeEventCommand = new RemoveTreeEventCommand(this); expertViewModels = new ObservableCollection <ExpertViewModel>(Project.Experts.Select(e => new ExpertViewModel(e))); expertViewModels.CollectionChanged += ExpertViewModelsCollectionChanged; hydraulicsViewModels = new ObservableCollection <HydraulicConditionViewModel>(Project.HydraulicConditions.Select(e => new HydraulicConditionViewModel(e))); hydraulicsViewModels.CollectionChanged += HydraulicsViewModelsCollectionChanged; project.EventTrees.CollectionChanged += EventTreesCollectionChanged; SelectedEventTreeFiltered = EventTrees.FirstOrDefault(); foreach (var eventTreeViewModel in EventTrees) { eventTreeViewModel.SelectedTreeEvent = eventTreeViewModel.MainTreeEventViewModel; } }
public void OnExportHandler() { Expert[] expertsToExport = Experts.Where(e => e.IsChecked).Select(e => e.Expert).ToArray(); EventTree[] eventTreesToExport = EventTrees.Where(e => e.IsChecked).Select(e => e.EventTree).ToArray(); string location = ExportLocation; string prefix = Prefix; if (OnExport == null) { Log.Error("Er is iets onverwachts misgegaan tijdens het exporteren"); return; } OnExport(location, prefix, expertsToExport, eventTreesToExport); }