public ResourceSettingsManagerConfirmation(ResourceSettingsModel resourceSettings)
 {
     if (resourceSettings == null)
     {
         throw new ArgumentNullException(nameof(resourceSettings));
     }
     DefaultUnitCost = resourceSettings.DefaultUnitCost;
     AreDisabled     = resourceSettings.AreDisabled;
     Resources       = new ObservableCollection <IManagedResourceViewModel>();
     SetManagedResources(resourceSettings.Resources);
 }
예제 #2
0
        public void UpdateResourceSettings(ResourceSettingsModel resourceSettings)
        {
            if (resourceSettings == null)
            {
                throw new ArgumentNullException(nameof(resourceSettings));
            }

            lock (m_Lock)
            {
                ResourceSettings = resourceSettings;

                foreach (IManagedActivityViewModel activity in Activities)
                {
                    activity.SetTargetResources(ResourceSettings.Resources.Select(x => x.CloneObject()));
                }

                RecordCoreState();
            }
        }
예제 #3
0
        private void SetCoreState(CoreStateModel coreState)
        {
            if (coreState is null)
            {
                return;
            }

            lock (m_Lock)
            {
                try
                {
                    IsBusy = true;

                    ClearManagedActivities();

                    m_ArrowGraphSettingsModel = coreState.ArrowGraphSettings;
                    m_ResourceSettingsModel   = coreState.ResourceSettings;

                    m_ProjectStart    = coreState.ProjectStart;
                    m_UseBusinessDays = coreState.UseBusinessDays;
                    m_ShowDates       = coreState.ShowDates;
                    RaisePropertyChanged(nameof(ProjectStart));
                    RaisePropertyChanged(nameof(UseBusinessDays));
                    RaisePropertyChanged(nameof(ShowDates));

                    AddManagedActivities(new HashSet <DependentActivityModel>(coreState.DependentActivities));

                    RunAutoCompile();

                    RecordCoreState();
                }
                finally
                {
                    IsBusy = false;
                }
            }
        }