Beispiel #1
0
        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);
        }
Beispiel #2
0
 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();
                }
            };
        }