diff --git a/ResultWindow.axaml.cs b/ResultWindow.axaml.cs index 096c98a..4d71059 100644 --- a/ResultWindow.axaml.cs +++ b/ResultWindow.axaml.cs @@ -28,16 +28,25 @@ public partial class ResultWindow : Window private void GenerateView(List result) { - // Filter to only show persons with errors - var result_with_errors = result.Where(p => p.PersonError != null).ToList(); - LblResultCount.Content = $"{result_with_errors.Count}/{ur_result.Count} Ergebnisse"; + try + { - // TbResults.Text = ""; - // foreach (var person in result_with_errors) TbResults.Text += person.PersonError.GetString()+"\n"; - LbResults.Items.Clear(); - foreach (var person in result_with_errors) LbResults.Items.Add(person.PersonError.ToString(person)); - // StkResults.Children.Clear(); - // foreach (var person in result_with_errors) StkResults.Children.Add(CreatePersonGrid(person)); + + // Filter to only show persons with errors + var result_with_errors = result.Where(p => p.PersonError != null).ToList(); + LblResultCount.Content = $"{result_with_errors.Count}/{ur_result.Count} Ergebnisse"; + + // TbResults.Text = ""; + // foreach (var person in result_with_errors) TbResults.Text += person.PersonError.GetString()+"\n"; + LbResults.Items.Clear(); + foreach (var person in result_with_errors) LbResults.Items.Add(person.PersonError.ToString(person)); + // StkResults.Children.Clear(); + // foreach (var person in result_with_errors) StkResults.Children.Add(CreatePersonGrid(person)); + } + catch (Exception ex) + { + Logger.Log("Error while generating result view: " + ex.Message, Logger.LogType.Warning); + } } private Grid CreatePersonGrid(KasPerson person) @@ -106,44 +115,52 @@ public partial class ResultWindow : Window private void Load(List result) { - var knownErrors = new List(); - var knownWarnings = new List(); - - foreach (var person in result) + try { - if (person.PersonError == null) continue; + var knownErrors = new List(); + var knownWarnings = new List(); - foreach (var errtyp in person.PersonError.errors) - if (!knownErrors.Contains(errtyp)) - knownErrors.Add(errtyp); + foreach (var person in result) + { + if (person.PersonError == null) continue; - foreach (var wartyp in person.PersonError.warnings) - if (!knownWarnings.Contains(wartyp)) - knownWarnings.Add(wartyp); + foreach (var errtyp in person.PersonError.errors) + if (!knownErrors.Contains(errtyp)) + knownErrors.Add(errtyp); + + foreach (var wartyp in person.PersonError.warnings) + if (!knownWarnings.Contains(wartyp)) + knownWarnings.Add(wartyp); + } + + + foreach (var errtype in knownErrors) + { + var cb = new CheckBox(); + cb.IsChecked = true; + cb.Content = errtype.ToString(); + //cb.Click += (sender, e) => UpdateFilter(); + errortypecheckboxes.Add(cb); + StpFilterOptions.Children.Add(cb); + } + + foreach (var wartype in knownWarnings) + { + var cb = new CheckBox(); + cb.IsChecked = true; + cb.Content = wartype.ToString(); + //cb.Click += (sender, e) => UpdateFilter(); + warningtypecheckboxes.Add(cb); + StpFilterOptions.Children.Add(cb); + } + + GenerateView(result); } - - - foreach (var errtype in knownErrors) + catch (Exception ex) { - var cb = new CheckBox(); - cb.IsChecked = true; - cb.Content = errtype.ToString(); - //cb.Click += (sender, e) => UpdateFilter(); - errortypecheckboxes.Add(cb); - StpFilterOptions.Children.Add(cb); + Logger.Log("Error while showing naming window: " + ex.Message, Logger.LogType.Warning); } - - foreach (var wartype in knownWarnings) - { - var cb = new CheckBox(); - cb.IsChecked = true; - cb.Content = wartype.ToString(); - //cb.Click += (sender, e) => UpdateFilter(); - warningtypecheckboxes.Add(cb); - StpFilterOptions.Children.Add(cb); - } - - GenerateView(result); + } private void BtnUpdateFilter_OnClick(object? sender, RoutedEventArgs e) @@ -152,7 +169,9 @@ public partial class ResultWindow : Window private void UpdateFilter() { - var temp_result = new List(); + try + { + var temp_result = new List(); var checkedErrors = new HashSet(); var checkedWarnings = new HashSet(); @@ -211,6 +230,11 @@ public partial class ResultWindow : Window // foreach (var person in temp_result) TbResults.Text += person.PersonError.GetString() +"\n"; // StkResults.Children.Clear(); // foreach (var person in temp_result) StkResults.Children.Add(CreatePersonGrid(person)); + } catch (Exception ex) + { + Logger.Log("Error while updating filter: " + ex.Message, Logger.LogType.Warning); + } + }