internal void Save() { if (!DataService.Key.Equals(_DataServiceStrategy)) { Bootstrapper.SetDataStrategy(DataService.Key); Settings.DataService = _DataService; Tasks.DataService = _DataService; Paths.DataService = _DataService; Mimes.DataService = _DataService; Content.DataService = _DataService; Credentials.DataService = _DataService; Indexer.DataService = _DataService; Chronos.DataService = _DataService; Mimes.DataService = _DataService; Schema.DataService = _DataService; Mimes.SaveWorkspace(); } if (Content.CanSaveWorkspace()) { Content.SetPreferences(); Content.SaveWorkspace(); } if (Schema.CanSaveWorkspace()) { Schema.SetPreferences(); Schema.SaveWorkspace(); } if (Indexer.CanSaveWorkspace()) { Indexer.SaveWorkspace(); } if (Tasks.CanSaveWorkspace()) { Tasks.SetPreferences(); Tasks.SaveWorkspace(); } if (_Chronos != null && _Chronos.CanSaveWorkspace()) { _Chronos.SaveWorkspace(); } if (Styx != null && Styx.CanSaveWorkspace()) { Styx.SaveWorkspace(); } // must be last so that preferences are persisted if (Settings.CanSaveWorkspace()) { Settings.SaveWorkspace(); } }