private void RefreshListView() { int temp = VM.ReadingListSource.IndexOf(ReadingList.SelectedItem as ReadingListAdapter); int Index = -1; if (temp >= 0) { Index = VM.ReadingListSource[temp].Reading.Index; } ObservableCollection <ReadingListAdapter> newadapter = new ObservableCollection <ReadingListAdapter>(); DataStorage.ListOfReadings.Sort(); for (int x = 0; x < DataStorage.ListOfReadings.Count; x++) { if ((Convert.ToInt32(SettingsManagerInterface.GetString("Min", "-100")) == 0 && Convert.ToInt32(SettingsManagerInterface.GetString("Max", "100")) == 0) || (Convert.ToInt32(SettingsManagerInterface.GetString("Min", "-100")) == -100 && Convert.ToInt32(SettingsManagerInterface.GetString("Max", "100")) == 100)) { DataStorage.ListOfReadings[x].ColorEnabled = false; } else { DataStorage.ListOfReadings[x].ColorEnabled = true; var measurement = Convert.ToSingle(DataStorage.ListOfReadings[x].Measurement); DataStorage.ListOfReadings[x].PassFail = measurement >= Convert.ToInt32(SettingsManagerInterface.GetString("Min", "-100")) && measurement <= Convert.ToInt32(SettingsManagerInterface.GetString("Max", "100")); } newadapter.Add(new ReadingListAdapter(DataStorage.ListOfReadings[x]) { Selected = DataStorage.ListOfReadings[x].Index == Index }); } VM.ReadingListSource = newadapter; VM.RefreshListView(); }
protected override void OnAppearing() { base.OnAppearing(); DataStorage.DictionaryOfOptions.TryGetValue("Color Code", out string SelectedColorCode); if (SelectedColorCode == null) { SelectedColorCode = "None"; } foreach (KeyValuePair <string, ColorCode> entry in DataStorage.DictionaryOfColorCodes) { VM.ColorCodePickerSource.Add(entry.Key); } ColorCodePicker.SelectedItem = SelectedColorCode; if (Convert.ToInt32(SettingsManagerInterface.GetString("Min", "-100")) != -100) { MinEntry.Text = SettingsManagerInterface.GetString("Min", "-100"); } else { MinEntry.Text = ""; } if (Convert.ToInt32(SettingsManagerInterface.GetString("Max", "100")) != 100) { MaxEntry.Text = SettingsManagerInterface.GetString("max", "100"); } else { MaxEntry.Text = ""; } }
private void SaveReading(int index, bool overwriteExisting) { //Convert our strings into a "Reading" and add it to the list SelectedColorCode.Index = index; var readingDouble = Convert.ToDouble(PowerMeter.CurrentMeasurement); bool PassOrFail; bool colorEnabled; if (Convert.ToInt32(SettingsManagerInterface.GetString("Min", "-100")) == -100 || Convert.ToInt32(SettingsManagerInterface.GetString("Max", "100")) == 100) { PassOrFail = false; colorEnabled = false; } else if (readingDouble >= Convert.ToInt32(SettingsManagerInterface.GetString("Min", "-100")) && readingDouble <= Convert.ToInt32(SettingsManagerInterface.GetString("Max", "100"))) { PassOrFail = true; colorEnabled = true; } else { PassOrFail = false; colorEnabled = true; } //create reading and add 1 to its index (since it is a new one) Reading reading; if (SelectedColorCode.Index < SelectedColorCode.Count - 1) { reading = new Reading(PowerMeter.CurrentMeasurement, PassOrFail, PowerMeter.CurrentMode, PowerMeter.CurrentWavelength, SelectedColorCode.CurrentSector + "_" + SelectedColorCode.CurrentGroupingColor + "_" + SelectedColorCode.CurrentIndividualColor + "_" + SelectedColorCode.CurrentCore, DateTime.Now, index, PowerMeter.CurrentReference, PowerMeter.CurrentTone) { ColorEnabled = colorEnabled }; if (overwriteExisting) { for (int x = 0; x < DataStorage.ListOfReadings.Count; x++) { if (DataStorage.ListOfReadings[x].Index == index) { DataStorage.ListOfReadings.RemoveAt(x); x--; } } } DataStorage.ListOfReadings.Add(reading); } else { reading = new Reading(PowerMeter.CurrentMeasurement, PassOrFail, PowerMeter.CurrentMode, PowerMeter.CurrentWavelength, (index + 1).ToString(), DateTime.Now, index, PowerMeter.CurrentReference, PowerMeter.CurrentTone) { ColorEnabled = colorEnabled }; if (overwriteExisting) { for (int x = 0; x < DataStorage.ListOfReadings.Count; x++) { if (DataStorage.ListOfReadings[x].Index == index) { DataStorage.ListOfReadings.RemoveAt(x); x--; } } } DataStorage.ListOfReadings.Add(reading); } RefreshListView(); DataStorage.Update(); }