/// <summary> /// Saves the settings. /// </summary> /// <returns></returns> bool SaveSettings() { if (CurrentEnvironment.IsConnected) { if (CurrentEnvironment.AuthorizationService.IsAuthorized(AuthorizationContext.Administrator, null)) { Tracker.TrackEvent(TrackerEventGroup.Settings, TrackerEventName.SaveClicked); // Need to reset sub view models so that selecting something in them fires our OnIsDirtyPropertyChanged() ClearErrors(); if (SecurityViewModel.HasDuplicateResourcePermissions()) { IsSaved = false; IsDirty = true; ShowError(StringResources.SaveSettingErrorPrefix, StringResources.SaveSettingsDuplicateResourcePermissions); return(false); } if (SecurityViewModel.HasDuplicateServerPermissions()) { IsSaved = false; IsDirty = true; ShowError(StringResources.SaveSettingErrorPrefix, StringResources.SaveSettingsDuplicateServerPermissions); return(false); } SecurityViewModel.Save(Settings.Security); if (LogSettingsViewModel.IsDirty) { LogSettingsViewModel.Save(Settings.Logging); } if (PerfmonViewModel.IsDirty) { PerfmonViewModel.Save(Settings.PerfCounters); } var isWritten = WriteSettings(); if (isWritten) { ResetIsDirtyForChildren(); IsSaved = true; IsDirty = false; ClearErrors(); } else { IsSaved = false; IsDirty = true; } return(IsSaved); } ShowError(StringResources.SaveSettingErrorPrefix, StringResources.SaveSettingsPermissionsErrorMsg); return(false); } ShowError(StringResources.SaveSettingErrorPrefix, StringResources.SaveSettingsNotReachableErrorMsg); return(false); }
bool ValidateDuplicateResourcePermissions() { if (SecurityViewModel.HasDuplicateResourcePermissions()) { IsSaved = false; IsDirty = true; ShowError(StringResources.SaveErrorPrefix, StringResources.SaveSettingsDuplicateResourcePermissions); _popupController.ShowHasDuplicateResourcePermissions(); return(false); } return(true); }