public static async void SaveEditPreference(SetCategoriesViewModel vm, INavigation Nav) { if (vm.PreferenceName.Contains(",")) { await Application.Current.MainPage.DisplayAlert("Error with name", "Please don't use punctuation marks in a preference name.", "Okay"); } else { string default_key = "name=Default,id=0,12,17,7,17,5,5,12,2,4,2;name=Second,id=1,14,15,7,17,5,5,12,2,4,2"; string keyVal = Preferences.Get("pref_keys", default_key); string newKey = "name=" + vm.PreferenceName + ",id=" + vm.Preference.Id + ","; Presets lastP = vm.PresetsData[vm.PresetsData.Count - 1]; foreach (Presets p in vm.PresetsData) { if (p != lastP) { newKey += p.Percent + ","; } else { newKey += p.Percent; } } string finalKeyVal = keyVal.Replace(vm.OldKey, newKey); Preferences.Set("pref_keys", finalKeyVal); MessagingCenter.Send(vm, "UpdatePresets"); await Nav.PopModalAsync(); } }
public static void ClearContents(SetCategoriesViewModel vm) { ObservableCollection <Presets> vcm = new ObservableCollection <Presets>(); foreach (Presets c in vm.PresetsData) { Presets c2 = new Presets(); c2.Name = c.Name; if (c.Equals(vm.PresetsData[0])) { c2.Percent = 100; } else { c2.Percent = 0; } vcm.Add(c2); } vm.PresetsData = vcm; vm.CalculateTotal(); }
public static async void SaveNewPreference(SetCategoriesViewModel vm, INavigation Nav, SetCategories sc) { if (vm.TotalAvailable != 0) { await sc.DisplayAlert("Distribution Error", "Please distribute the points such that the total available is 0", "Okay"); } else { if (vm.PreferenceName.Contains(",")) { await Application.Current.MainPage.DisplayAlert("Error with name", "Please don't use punctuation marks in a preference name.", "Okay"); } else { string default_key = "name=Default,id=0,12,17,7,17,5,5,12,2,4,2;name=Second,id=1,14,15,7,17,5,5,12,2,4,2"; string keyVal = Preferences.Get("pref_keys", default_key); string newKey = "name=" + vm.PreferenceName + ",id=" + vm.Preference.Id + ","; Presets lastP = vm.PresetsData[vm.PresetsData.Count - 1]; foreach (Presets p in vm.PresetsData) { if (p != lastP) { newKey += p.Percent + ","; } else { newKey += p.Percent; } } vm.Preference.PresetData = newKey; keyVal = keyVal + ";" + newKey; Preferences.Set("pref_keys", keyVal); MessagingCenter.Send(vm, "UpdatePresets"); await Nav.PopModalAsync(); } } }