private void ButtonAdd(object sender, RoutedEventArgs e) { int Start = 0; int Ende = 0; if (int.TryParse(this.tbStart.Text.Trim(), out Start) && int.TryParse(this.tbEnde.Text.Trim(), out Ende)) { try { FromTo FT = new FromTo(Start, Ende); List <int> ÜberschneidungenNummern = new List <int>(); IEnumerable <int> VorhandeNummern = this.m_Current.Select(Current => Current.Nummer); foreach (int Current in FT.Generate()) { if (VorhandeNummern.Contains(Current)) { ÜberschneidungenNummern.Add(Current); } } if (ÜberschneidungenNummern.Count > 0) { // Einige Einträge vorhanden switch (MessageBox.Show(string.Format("Ja: Füge vorhande Einträge auch hinzu ({0})\nNein: Nur nicht vorhande Folgen hinzufügen\nAbbrechen: Vorgang Abbrechen", string.Join(", ", ÜberschneidungenNummern)), "", MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.Cancel) ) { case MessageBoxResult.Yes: this.m_Current.AddRange(FT.Generate()); this.DialogResult = true; this.Close(); break; case MessageBoxResult.No: this.m_Current.AddRange(FT.Generate().Where(Current => !ÜberschneidungenNummern.Contains(Current))); this.DialogResult = true; this.Close(); break; case MessageBoxResult.Cancel: break; } } else { this.m_Current.AddRange(FT.Generate()); this.DialogResult = true; this.Close(); } } catch (Exception ex) { MessageBox.Show("Die Ende-Zahl muss größer als die Start Zahl sein\n" + ex.Message); } } else { MessageBox.Show("Bitte nur Zahlen eintragen"); } }
private void SearchFolgenVerpasst(object sender, RoutedEventArgs e) { Staffel CurrentStaffel = (Staffel)cbStaffeln.SelectedItem; int NummerNeu = CurrentStaffel.Folgen.NummerNeueFolge(); IEnumerable <int> Lücken = new int[0]; if (NummerNeu > 1) { FromTo FT = new FromTo(1, NummerNeu - 1); Lücken = FT.Generate().Where(Current => !CurrentStaffel.Folgen.Select(InnerCurrent => InnerCurrent.Nummer).Contains(Current)); } if (Lücken.Count() > 0) { MessageBox.Show(string.Join(", ", Lücken), "Verpasste Folgen", MessageBoxButton.OK, MessageBoxImage.Warning); } else { MessageBox.Show("Keine verpassten Folgen!", string.Empty, MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK); } }