Exemplo n.º 1
0
        /// <summary>
        /// Save the settings.
        /// </summary>
        public void Save()
        {
            var dto = new PersistedSettingsDto
            {
                AudioSource         = AudioSource,
                CurrentProfileName  = CurrentProfile.Name,
                Profiles            = _profiles.Values,
                AudioSourceSettings = AudioSourceSettings,
            };

            _persistSettings.WriteSettings(dto);
        }
Exemplo n.º 2
0
        private void CheckAndLoadProfiles(PersistedSettingsDto dto)
        {
            // If there are no profiles, create new ones.
            // Note we are not creating the profiles directly into the persisted settings dto,
            // they will be saved later.
            if (dto.Profiles == null || !dto.Profiles.Any())
            {
                dto.CurrentProfileName = UserProfile.DefaultProfileName;
                _profiles = new Dictionary <string, UserProfile>
                {
                    { UserProfile.DefaultProfileName, UserProfile.CreateDefaultProfile(UserProfile.DefaultProfileName) },
                };

                return;
            }

            _profiles = dto.Profiles.ToDictionary(profile => profile.Name, profile => profile);

            if (dto.CurrentProfileName == null || !_profiles.ContainsKey(dto.CurrentProfileName))
            {
                dto.CurrentProfileName = _profiles.First().Key;
            }
        }