Пример #1
0
        // TODO: Wipe out local settings if the PC has changed.
        private SettingsService(SettingsTemplate data, string persistentStorage)
        {
            _data = data;

            if (_data.Local.MachineName != Environment.MachineName)
            {
                Logger.Warn($"Local settings are for {_data.Local.MachineName}, expected {Environment.MachineName}. Discarding local settings.");
                _data.Local = new LocalSettings {
                    MachineName = Environment.MachineName
                };
            }

            _persistentStorage         = persistentStorage;
            _data.Local.OnMutate      += (sender, args) => Persist();
            _data.Persistent.OnMutate += (sender, args) => Persist();
        }
Пример #2
0
        /// <summary>
        /// SetUp Settings in this Project - needs Type of Setting to Set Up
        /// </summary>
        /// <typeparam name="T">Setting to set up</typeparam>
        public static void SetUp <T>() where T : SettingsTemplate
        {
            //Create a Setting instance, apply default settings, look for user settings. if they exist, load them.
            //Save everything to be safe & Set up QuickAccess Properties
            _settings = Activator.CreateInstance <T>();

            _settings.SetDefaultSettings();

            if (_settings.CheckForUserSettings())
            {
                _settings.LoadUserSettings();
            }

            _settings.SaveUserSettings();

            _isSetUp = true;

            _settings.SetQuickAccessProperties();
        }