Пример #1
0
        private void SavePreset()
        {
            PresetModel presetModel;

            if (PresetName == null)
            {
                presetModel = SelectedPresetModel;
            }
            else
            {
                var endpointModel = _settingsStorage
                                    .GetValue <string>(SettingsKeys.Endpoint)
                                    .FromJson <EndpointModel>(JsonConverter);

                presetModel = new PresetModel
                {
                    Name = PresetName,
                    Uri  = endpointModel.Uri
                };

                PresetModels.Add(presetModel);
                PresetModels = PresetModels.ToList();

                SelectedPresetModel = presetModel;
            }

            foreach (var quadCell in QuadCellViewModels.Select((vm, i) => new { vm, i }))
            {
                presetModel.ProfileTokens[quadCell.i] = quadCell.vm.SelectedProfileModel?.Token;
            }

            var presetModels = _settingsStorage
                               .GetValue <string>(SettingsKeys.Presets)?
                               .FromJson <ICollection <PresetModel> >(JsonConverter) ?? new List <PresetModel>();

            var savedPresetModel = presetModels.SingleOrDefault(pm => pm.Id == presetModel.Id);

            if (savedPresetModel != null)
            {
                savedPresetModel.Uri           = presetModel.Uri;
                savedPresetModel.Name          = presetModel.Name;
                savedPresetModel.ProfileTokens = presetModel.ProfileTokens;
            }
            else
            {
                presetModels.Add(presetModel);
            }

            _settingsStorage.AddOrUpdateValue(SettingsKeys.Presets, presetModels.ToJson(JsonConverter));

            var toastMesage = new ToastMessage(this, "Saved");

            Messenger.Publish(toastMesage);

            PresetName = null;
        }
Пример #2
0
        private void RestoreSettings()
        {
            var presetModels = _settingsStorage
                               .GetValue <string>(SettingsKeys.Presets)?
                               .FromJson <ICollection <PresetModel> >(JsonConverter) ?? new List <PresetModel>();

            var endpointModel = _settingsStorage
                                .GetValue <string>(SettingsKeys.Endpoint)
                                .FromJson <EndpointModel>(JsonConverter);

            PresetModels = presetModels.Where(pm => pm.Uri == endpointModel.Uri).ToList();
            if (PresetModels != null)
            {
                SelectedPresetModel = PresetModels.FirstOrDefault();
            }
        }