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; }
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(); } }