public EarnedValueChartManagerViewModel( ICoreViewModel coreViewModel, IFileDialogService fileDialogService, IProjectSettingService projectSettingService, IDateTimeCalculator dateTimeCalculator, IEventAggregator eventService) : base(eventService) { m_Lock = new object(); m_CoreViewModel = coreViewModel ?? throw new ArgumentNullException(nameof(coreViewModel)); m_FileDialogService = fileDialogService ?? throw new ArgumentNullException(nameof(fileDialogService)); m_ProjectSettingService = projectSettingService ?? throw new ArgumentNullException(nameof(projectSettingService)); m_DateTimeCalculator = dateTimeCalculator ?? throw new ArgumentNullException(nameof(dateTimeCalculator)); m_EventService = eventService ?? throw new ArgumentNullException(nameof(eventService)); m_NotificationInteractionRequest = new InteractionRequest <Notification>(); m_EarnedValueChartPointSet = new List <EarnedValuePoint>(); EarnedValueChartPlotModel = null; EarnedValueChartOutputWidth = 1000; EarnedValueChartOutputHeight = 500; InitializeCommands(); SubscribeToEvents(); SubscribePropertyChanged(m_CoreViewModel, nameof(m_CoreViewModel.IsBusy), nameof(IsBusy), ThreadOption.BackgroundThread); SubscribePropertyChanged(m_CoreViewModel, nameof(m_CoreViewModel.HasStaleOutputs), nameof(HasStaleOutputs), ThreadOption.BackgroundThread); }
public ArrowGraphManagerView( IArrowGraphManagerViewModel viewModel, IFileDialogService fileDialogService, IProjectSettingService projectSettingService, IEventAggregator eventService) { m_FileDialogService = fileDialogService ?? throw new ArgumentNullException(nameof(fileDialogService)); m_ProjectSettingService = projectSettingService ?? throw new ArgumentNullException(nameof(projectSettingService)); m_EventService = eventService ?? throw new ArgumentNullException(nameof(eventService)); InitializeComponent(); ViewModel = viewModel ?? throw new ArgumentNullException(nameof(viewModel)); ArrowGraphAreaCtrl.ShowAllEdgesLabels(); ArrowGraphAreaCtrl.SetVerticesDrag(true); SubscribeToEvents(); }
public MainViewModel( ICoreViewModel coreViewModel, IFileDialogService fileDialogService, IProjectSettingService projectSettingService, IEventAggregator eventService) : base(eventService) { m_Lock = new object(); m_CoreViewModel = coreViewModel ?? throw new ArgumentNullException(nameof(coreViewModel)); m_FileDialogService = fileDialogService ?? throw new ArgumentNullException(nameof(fileDialogService)); m_ProjectSettingService = projectSettingService ?? throw new ArgumentNullException(nameof(projectSettingService)); m_EventService = eventService ?? throw new ArgumentNullException(nameof(eventService)); m_NotificationInteractionRequest = new InteractionRequest <Notification>(); m_ConfirmationInteractionRequest = new InteractionRequest <Confirmation>(); m_ResourceSettingsManagerInteractionRequest = new InteractionRequest <ResourceSettingsManagerConfirmation>(); m_ArrowGraphSettingsManagerInteractionRequest = new InteractionRequest <ArrowGraphSettingsManagerConfirmation>(); m_AboutInteractionRequest = new InteractionRequest <Notification>(); ResetProject(); ShowDates = false; UseBusinessDaysWithoutPublishing = true; AutoCompile = true; InitializeCommands(); SubscribeToEvents(); SubscribePropertyChanged(m_CoreViewModel, nameof(m_CoreViewModel.IsBusy), nameof(IsBusy), ThreadOption.BackgroundThread); SubscribePropertyChanged(m_CoreViewModel, nameof(m_CoreViewModel.ProjectStart), nameof(ProjectStart), ThreadOption.BackgroundThread); SubscribePropertyChanged(m_CoreViewModel, nameof(m_CoreViewModel.IsProjectUpdated), nameof(IsProjectUpdated), ThreadOption.BackgroundThread); SubscribePropertyChanged(m_CoreViewModel, nameof(m_CoreViewModel.IsProjectUpdated), nameof(Title), ThreadOption.BackgroundThread); SubscribePropertyChanged(m_CoreViewModel, nameof(m_CoreViewModel.ShowDates), nameof(ShowDates), ThreadOption.BackgroundThread); SubscribePropertyChanged(m_CoreViewModel, nameof(m_CoreViewModel.UseBusinessDays), nameof(UseBusinessDays), ThreadOption.BackgroundThread); PropertyChanged += (sender, args) => { if (string.CompareOrdinal(args.PropertyName, nameof(IsProjectUpdated)) == 0) { RaiseCanExecuteChangedAllCommands(); } }; }