public void btnAceptarCancel_Click(object sender, RoutedEventArgs e) { if ((sender as SimpleButton).Name == "btnAceptar") { if (todosMetodosCorrectos()) { try { USUARIOS user = new USUARIOS(uow); user.Nombre = nombre; user.Apellidos = apellidos; user.DNI = dni; user.TlfFijo = tlfFijo; user.TlfMovil = tlfMovil; user.Email = email; user.Username = username; user.Password = ComunClass.Encriptar(password); uow.CommitChanges(); ThemedMessageBox.Show("Nuevo registro", "Usuario creado correctamente.", MessageBoxButton.OK, MessageBoxImage.Information); ventana.Close(); } catch (Exception ex) { ThemedMessageBox.Show("Nuevo registro", "Ha ocurrido un error a la hora de crear el nuevo usuario. Por favor, vuelva a intentarlo.", MessageBoxButton.OK, MessageBoxImage.Error); } } } else { ventana.Close(); } }
public static void CalculateRoute(bool alle) { var start = DataContainer.MeineVersammlung; var end = DataContainer.Versammlungen.Where(x => x != start); if (!alle) { end = end.Where(x => x.Entfernung == 0); } var erfolgreich = 0; var fehler = 0; foreach (var ziel in end) { var km = GeoApi.GetDistance(start, ziel); if (km != null) { ziel.Entfernung = (int)km; erfolgreich++; } else { fehler++; } } ThemedMessageBox.Show("Entfernungsberechnung", $"Es wurden {erfolgreich} Entfernungen berechnet und eingetragen. {fehler} Berechnungen haben nicht geklappt, es wurde die Entfernung 0km eingetragen."); }
private static void UpdaterFinished(object sender, RunWorkerCompletedEventArgs e) { Log.Info(nameof(UpdaterFinished)); _updateWorker.DoWork -= new DoWorkEventHandler(UpdaterDoWork); _updateWorker.RunWorkerCompleted -= new RunWorkerCompletedEventHandler(UpdaterFinished); if (ServerDate == new DateTime(2000, 1, 1)) { return; } if (LocalDate >= ServerDate) { if (!_silent) { ThemedMessageBox.Show("Information", "Neueste Version ist bereits installiert", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Information); } return; } ServerVersions = (Ini)e.Result; var w = new UpdateDialog(); var data = (UpdateDialogViewModel)w.DataContext; data.LocalVersion = LocalDate; data.ServerVersion = ServerDate; data.ServerIni = ServerVersions; w.ShowDialog(); }
private static Ini ReadNewestVersion() { Log.Info(nameof(ReadNewestVersion)); var iniString = string.Empty; try { using (WebClient client = new WebClient()) { client.Encoding = Encoding.UTF8; client.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.Reload); iniString = client.DownloadString(Properties.Settings.Default.ChangelogPfad); } if (string.IsNullOrEmpty(iniString)) { if (!_silent) { ThemedMessageBox.Show(Properties.Resources.Achtung, "Fehler beim suchen nach der neuesten Version. Kein Zugriff auf Webseite", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); } return(null); } } catch (Exception ex) { if (!_silent) { ThemedMessageBox.Show(Properties.Resources.Achtung, "Fehler beim suchen nach der neuesten Version\n" + ex.Message, System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); } return(null); } var ServerVersions = new Ini(); ServerVersions.Load(iniString); var versionen = ServerVersions.GetSections(); ServerDate = new DateTime(2000, 1, 1); foreach (var version in versionen) { var v = DateTime.Parse(version, Helper.German); if (v > ServerDate) { ServerDate = v; } } return(ServerVersions); }
private void AnfrageSpeichern(bool annehmen) { //Dialog vorbereiten var w = new InfoAnRednerUndKoordinatorWindow(); var data = (InfoAnRednerUndKoordinatorViewModel)w.DataContext; var buchung = new Outside { Ältester = SelectedRedner, Versammlung = SelectedVersammlung, Kw = Kalenderwoche, Reason = OutsideReason.Talk, Vortrag = SelectedVortrag }; var doppelbuchung = DataContainer.ExternerPlan.Any(x => x.Ältester == SelectedRedner && x.Kw == Kalenderwoche) || DataContainer.MeinPlan.Where(x => x.Kw == Kalenderwoche && x.Status == EventStatus.Zugesagt).Cast <Invitation>().Any(x => x.Ältester == SelectedRedner); if (doppelbuchung) { if (ThemedMessageBox.Show("Warnung", "Für diesen Redner gibt es an dem Datum schon eine Buchung. Trotzdem Buchung speichern?", System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxImage.Warning) == System.Windows.MessageBoxResult.No) { return; } } //Anfrage akzeptieren if (annehmen) { data.Titel = "Buchung bestätigen"; data.MailTextKoordinator = Templates.GetMailTextAnnehmenKoordinator(buchung); data.MailTextRedner = Templates.GetMailTextAnnehmenRedner(buchung); w.ShowDialog(); if (data.Speichern) { DataContainer.ExternerPlan.Add(buchung); ActivityLog.AddActivity.Outside(buchung, data.MailTextKoordinator, data.MailTextRedner, true); } } //Anfrage ablehnen else { data.Titel = "Anfrage ablehnen"; data.MailTextKoordinator = Templates.GetMailTextAblehnenKoordinator(buchung); data.MailTextRedner = null; w.ShowDialog(); if (data.Speichern) { ActivityLog.AddActivity.Outside(buchung, data.MailTextKoordinator, null, false); } } }
private bool todosMetodosCorrectos() { Regex reg = new Regex(@"^[0-9]{8,8}[A-Za-z]$"); if (nombre?.Length > 2 && apellidos?.Length > 2 && username?.Length >= 5 && password?.Length >= 8 && email?.Length >= 0 && dni?.Length >= 0) { if (uow.FindObject <USUARIOS>(CriteriaOperator.Parse("Username == ?", username)) == null) { if (uow.FindObject <USUARIOS>(CriteriaOperator.Parse("Email == ?", email)) == null) { if (dni != null && reg.IsMatch(dni)) { reg = new Regex(@"^[a-zA-Z0-9._%-]{5,}@[a-zA-Z0-9.-]{2,}\.[a-zA-Z]{2,4}$"); if (reg.IsMatch(email)) { string encriptado = ComunClass.Encriptar(password); Console.WriteLine(encriptado); Console.WriteLine(ComunClass.DesEncriptar(encriptado)); return(true); } else { ThemedMessageBox.Show("Nuevo registro", "Por favor, rellene el email correctamente. Ej. [email protected].", MessageBoxButton.OK, MessageBoxImage.Information); return(false); } } else { ThemedMessageBox.Show("Nuevo registro", "Por favor, rellene el DNI correctamente. Ej. 1111111-A.", MessageBoxButton.OK, MessageBoxImage.Information); return(false); } } else { ThemedMessageBox.Show("Nuevo registro", "El email introducido ya está registrado. Por favor, introduzca otro.", MessageBoxButton.OK, MessageBoxImage.Information); return(false); } } else { ThemedMessageBox.Show("Nuevo registro", "El username ya está registrado. Por favor, introduzca otro.", MessageBoxButton.OK, MessageBoxImage.Information); return(false); } } else { ThemedMessageBox.Show("Nuevo registro", "Debes rellenar todos los campos obligatorios.", MessageBoxButton.OK, MessageBoxImage.Information); return(false); } }
public static int?GetDistance(string startAdress, string endAdress) { Log.Info(nameof(GetDistance), $"start={startAdress}, end={endAdress}"); if (string.IsNullOrWhiteSpace(startAdress)) { return(0); } if (string.IsNullOrWhiteSpace(endAdress)) { return(0); } startAdress = startAdress.Replace(" ", "+"); endAdress = endAdress.Replace(" ", "+"); var myUrl = url .Replace("{START}", startAdress) .Replace("{ZIEL}", endAdress) .Replace("{KEY}", Security.GoogleApiKey); var gString = string.Empty; using (WebClient client = new WebClient()) { gString = client.DownloadString(myUrl); } var json = JObject.Parse(gString); if (json["status"].Value <string>() == "OK") { var routes = json["routes"]; var legs = routes[0]["legs"]; var distance = legs[0]["distance"]; var value = distance["value"]; var km = ((int)value + 500) / 1000; return(km); } else { ThemedMessageBox.Show( "Fehler bei der Routenberechnung", "Es konnte keine Route berechnet werden. " + Environment.NewLine + $"von: {startAdress}" + Environment.NewLine + $"nach: {endAdress}" + Environment.NewLine + "Bitte später nochmal versuchen", MessageBoxButton.OK, MessageBoxImage.Warning); return(null); } }
public MainWindow() { Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("de-DE"); LanguageProperty.OverrideMetadata( typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag))); Log.Start(); AppDomain.CurrentDomain.FirstChanceException += (sender, eventArgs) => { Log.Error("FirstChanceException", eventArgs.Exception.Message); Log.Error("FirstChanceExceptionStackTrace", eventArgs.Exception.StackTrace); }; #if DEBUG Settings.Default.sqlite = "demo.sqlite3"; #endif if (Settings.Default.sqlite == "vortragsmanager.sqlite3" || Settings.Default.sqlite == "demo.sqlite3") { Settings.Default.sqlite = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\" + Settings.Default.sqlite; } var filename = Settings.Default.sqlite; if (File.Exists(filename)) { IoSqlite.ReadContainer(filename); } else { Initialize.NewDatabase(); } if (!DataContainer.IsInitialized) { ThemedMessageBox.Show("Fehler", "Vortragsmanager ist nicht initialisiert. Das Programm wird beendet", MessageBoxButton.OK, MessageBoxImage.Error); Close(); } InitializeComponent(); Helper.GlobalSettings = new MyGloabalSettings(); DataContext = Helper.GlobalSettings; Helper.GlobalSettings.RefreshTitle(); Updater.CheckForUpdates(); }
public static void insertarDatosAdmin() { try { UnitOfWork uow = getNewUnitOfWork(); USUARIOS admin = new USUARIOS(uow); admin.Nombre = "Administrador"; admin.Apellidos = "Admin"; admin.Email = "*****@*****.**"; admin.Username = "******"; admin.Password = ComunClass.Encriptar("1234"); uow.CommitChanges(); } catch (Exception ex) { ThemedMessageBox.Show("Datos del administrador", "No se han podido insertarlos datos del administrador.", MessageBoxButton.OK, MessageBoxImage.Error); } }
public void Zusagen() { Log.Info(nameof(Zusagen)); Sichtbar = false; var vortrag = _redner.Vorträge.FirstOrDefault(x => x.Vortrag.Nummer == _vortrag.Nummer); if (vortrag == null) { vortrag = _redner.Vorträge.First(); ThemedMessageBox.Show("Fehler", $"Der gewählte Vortrag ist für den Redner nicht mehr verfügbar!" + Environment.NewLine + $"Als gewählter Vortrag wurde statt dessen Vortrag #{vortrag.Vortrag.Nummer} ausgewählt." + Environment.NewLine + "Bitte Prüfen und ggfs. korrigieren", MessageBoxButton.OK, MessageBoxImage.Warning); } var i = new Invitation { Kw = _selectedKw, LetzteAktion = DateTime.Today, Status = EventStatus.Zugesagt, Vortrag = vortrag, Ältester = _redner }; DataContainer.MeinPlanAdd(i); _base.BaseAnfrage.RednerVortrag.Remove(_redner); _base.Wochen.Remove(SelectedDatum); bool anfrageGelöscht = false; if ((_base.BaseAnfrage.RednerVortrag.Count == 0) || _base.Wochen.Count == 0) { DataContainer.OffeneAnfragen.Remove(_base.BaseAnfrage); anfrageGelöscht = true; } ActivityLog.AddActivity.RednerAnfrageZugesagt(i, _base.BaseAnfrage.Mailtext, anfrageGelöscht); }
public static bool Versammlung(string filename, bool clear) { Log.Info(nameof(Versammlung), filename); var file = new FileInfo(filename); if (clear) { DataContainer.Versammlungen.Clear(); } try { using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (ExcelPackage package = new ExcelPackage(fs)) { ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; var row = 2; var id = 1; if (DataContainer.Versammlungen.Count > 0) { id = DataContainer.Versammlungen.Max(x => x.Id) + 1; } while (true) { var kreis = Helper.ConvertToString(worksheet.Cells[row, 1].Value); var vers = Helper.ConvertToString(worksheet.Cells[row, 2].Value); var strasse = Helper.ConvertToString(worksheet.Cells[row, 3].Value); var ort = Helper.ConvertToString(worksheet.Cells[row, 4].Value); var anreise = Helper.ConvertToString(worksheet.Cells[row, 5].Value); var tel = Helper.ConvertToString(worksheet.Cells[row, 6].Value); var zoom = Helper.ConvertToString(worksheet.Cells[row, 7].Value); var zeit = Helper.ConvertToString(worksheet.Cells[row, 8].Value); var koordName = Helper.ConvertToString(worksheet.Cells[row, 9].Value); var koordTel = Helper.ConvertToString(worksheet.Cells[row, 10].Value); var koordHandy = Helper.ConvertToString(worksheet.Cells[row, 11].Value); var koordMail = Helper.ConvertToString(worksheet.Cells[row, 12].Value); var koordJw = Helper.ConvertToString(worksheet.Cells[row, 13].Value); if (string.IsNullOrEmpty(kreis)) { kreis = "-1"; } if (string.IsNullOrEmpty(vers)) { break; } var v = new Conregation { Id = id, Kreis = int.Parse(kreis, Helper.German), Name = vers, Anschrift1 = strasse, Anschrift2 = ort, Anreise = anreise, Telefon = tel, Zoom = zoom, Koordinator = koordName, KoordinatorTelefon = koordTel, KoordinatorMobil = koordHandy, KoordinatorMail = koordMail, KoordinatorJw = koordJw, }; //Zusammenkunftszeit in Wochentag + Uhrzeit aufteilen var tag = DayOfWeeks.Sonntag; var uhrzeit = "Unbekannt"; foreach (DayOfWeeks d in (DayOfWeeks[])Enum.GetValues(typeof(DayOfWeeks))) { if (Helper.GetDayOfWeeks(ref zeit, d)) { tag = d; uhrzeit = zeit.Trim('.', ',', ' ', '-'); break; } } v.Zeit.Add(DateTime.Today.Year, tag, uhrzeit); DataContainer.Versammlungen.Add(v); row++; id++; } } } catch (Exception e) { ThemedMessageBox.Show("Fehler", $"Beim Einlesen der Excel-Datei ist es zu folgendem Fehler gekommen\n:{e.Message}", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); return(false); } return(true); }
public static void ShowMessage(string title, string text, MessageBoxImage image) { ThemedMessageBox.Show(title, text, MessageBoxButton.OK, image); }
public static void ShowMessage(Exception ex) { ThemedMessageBox.Show(Properties.Resources.ApplicationError, String.Format("{0}: {1}", ex.GetType(), ex.Message), MessageBoxButton.OK, MessageBoxImage.Error); }
void ShowMessage() { // MessageBoxService.Show("This is MainView!", "경고!!", System.Windows.MessageBoxButton.YesNo); ThemedMessageBox.Show(title: "경고!!", text: "테마 메시지 박스!!", messageBoxButtons: MessageBoxButton.OKCancel, icon: MessageBoxImage.Exclamation); // MessageBox.Show("기본 윈도우 메시지 박스!!", "경고!!", MessageBoxButton.OKCancel); }
public static bool Redner(string filename, bool clear) { Log.Info(nameof(Versammlung), filename); var file = new FileInfo(filename); if (clear) { DataContainer.Redner.Clear(); } try { using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (ExcelPackage package = new ExcelPackage(fs)) { ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; var row = 2; while (true) { var versammlung = Helper.ConvertToString(worksheet.Cells[row, 1].Value); var name = Helper.ConvertToString(worksheet.Cells[row, 2].Value); var vortrag = Helper.ConvertToString(worksheet.Cells[row, 3].Value); var ältester = Helper.ConvertToString(worksheet.Cells[row, 4].Value); var aktiv = Helper.ConvertToString(worksheet.Cells[row, 5].Value); var einladen = Helper.ConvertToString(worksheet.Cells[row, 6].Value); var mail = Helper.ConvertToString(worksheet.Cells[row, 7].Value); var jwpub = Helper.ConvertToString(worksheet.Cells[row, 8].Value); var telefon = Helper.ConvertToString(worksheet.Cells[row, 9].Value); var handy = Helper.ConvertToString(worksheet.Cells[row, 10].Value); var notizIntern = Helper.ConvertToString(worksheet.Cells[row, 11].Value); var notizExtern = Helper.ConvertToString(worksheet.Cells[row, 12].Value); row++; if (string.IsNullOrEmpty(versammlung) || versammlung.StartsWith("Name der Versammlung des Redners", true, Helper.German)) { break; } if (string.IsNullOrEmpty(name)) { break; } var con = DataContainer.ConregationFindOrAdd(versammlung); var red = DataContainer.SpeakerFindOrAdd(name, con); var negativliste = new string[] { "NEIN", "N", "NO", "FALSE", "0", "DIENSTAMTGEHILFE", "DAG" }; red.Ältester = Helper.CheckNegativListe(ältester, negativliste); red.Aktiv = Helper.CheckNegativListe(aktiv, negativliste); red.Einladen = Helper.CheckNegativListe(einladen, negativliste); red.Mail = mail; red.JwMail = jwpub; red.Telefon = telefon; red.Mobil = handy; red.InfoPrivate = notizIntern; red.InfoPublic = notizExtern; } } } catch (Exception e) { ThemedMessageBox.Show("Fehler", $"Beim Einlesen der Excel-Datei ist es zu folgendem Fehler gekommen\n:{e.Message}", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); return(false); } return(true); }
public static bool EigenePlanungen(string filename) { Log.Info(nameof(EigenePlanungen), filename); try { var file = new FileInfo(filename); using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (ExcelPackage package = new ExcelPackage(fs)) { ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; var row = 2; while (true) { var datum = Helper.ConvertToString(worksheet.Cells[row, 1].Value); var redner = Helper.ConvertToString(worksheet.Cells[row, 2].Value); var vortrag = Helper.ConvertToString(worksheet.Cells[row, 3].Value); var thema = Helper.ConvertToString(worksheet.Cells[row, 4].Value); var vers = Helper.ConvertToString(worksheet.Cells[row, 5].Value); var versAdresse = Helper.ConvertToString(worksheet.Cells[row, 6].Value); var rednerMail = Helper.ConvertToString(worksheet.Cells[row, 7].Value); var rednerJwpub = Helper.ConvertToString(worksheet.Cells[row, 8].Value); var rednerTelefon = Helper.ConvertToString(worksheet.Cells[row, 9].Value); row++; if (string.IsNullOrWhiteSpace(datum) || datum.StartsWith("Datum", true, Helper.German)) { break; } if (string.IsNullOrWhiteSpace(redner) && string.IsNullOrWhiteSpace(thema)) //Keine Planung eingetragen { continue; } var kw = Helper.CalculateWeek(DateTime.Parse(datum.ToString(), Helper.German)); if (string.IsNullOrWhiteSpace(redner)) //Special Event eintragen { var se = new SpecialEvent { Kw = kw, Typ = SpecialEventTyp.Sonstiges, }; if (thema.Contains("Weltzentrale")) { se.Typ = SpecialEventTyp.Streaming; se.Name = thema; } else if (thema.Contains("Kreiskongress")) { se.Typ = SpecialEventTyp.Kreiskongress; } else if (thema.Contains("Sondervortrag") || thema.Contains("Streaming")) { se.Typ = SpecialEventTyp.Streaming; se.Name = thema; } else if (thema.Contains("Regionaler Kongress")) { se.Typ = SpecialEventTyp.RegionalerKongress; } else if (thema.Contains("Dienstwoche")) { se.Typ = SpecialEventTyp.Dienstwoche; } else if (thema.Contains("Dienstwoche")) { se.Typ = SpecialEventTyp.Dienstwoche; } DataContainer.MeinPlanAdd(se); continue; } var i = new Invitation { Kw = kw }; //Versammlung if (string.IsNullOrWhiteSpace(vers)) { vers = "Unbekannt"; } if (string.IsNullOrWhiteSpace(redner)) { redner = "Unbekannt"; } var v = DataContainer.ConregationFindOrAdd(vers); var r = DataContainer.SpeakerFindOrAdd(redner, v); i.Ältester = r; if (string.IsNullOrEmpty(i.Ältester.Versammlung.Anschrift1) && !string.IsNullOrEmpty(versAdresse)) { i.Ältester.Versammlung.Anschrift1 = versAdresse; } if (string.IsNullOrEmpty(i.Ältester.Telefon) && !string.IsNullOrEmpty(rednerTelefon)) { i.Ältester.Telefon = rednerTelefon; } if (string.IsNullOrEmpty(i.Ältester.Mail) && !string.IsNullOrEmpty(rednerMail)) { i.Ältester.Mail = rednerMail; } if (string.IsNullOrEmpty(i.Ältester.JwMail) && !string.IsNullOrEmpty(rednerJwpub)) { i.Ältester.JwMail = rednerJwpub; } //Vortrag var vn = int.Parse(vortrag.ToString(), Helper.German); var t = TalkList.Find(vn); i.Vortrag = new TalkSong(t); if (!i.Ältester.Vorträge.Select(y => y.Vortrag).Contains(t)) { i.Ältester.Vorträge.Add(i.Vortrag); } DataContainer.MeinPlanAdd(i); } } } catch (Exception e) { Log.Error(nameof(EigenePlanungen), e.Message); ThemedMessageBox.Show("Fehler", $"Beim Einlesen der Excel-Datei ist es zu folgendem Fehler gekommen\n:{e.Message}", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); DataContainer.MeinPlan.Clear(); return(false); } return(true); }
public static bool ExternePlanungen(string filename) { Log.Info(nameof(ExternePlanungen), filename); try { var file = new FileInfo(filename); using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (ExcelPackage package = new ExcelPackage(fs)) { ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; var row = 2; while (true) { var datum = Helper.ConvertToString(worksheet.Cells[row, 1].Value); var redner = Helper.ConvertToString(worksheet.Cells[row, 2].Value); var vortrag = Helper.ConvertToString(worksheet.Cells[row, 3].Value); var vers = Helper.ConvertToString(worksheet.Cells[row, 4].Value); var versAdresse = Helper.ConvertToString(worksheet.Cells[row, 5].Value); row++; if (string.IsNullOrWhiteSpace(datum)) { break; } if (datum.StartsWith("Datum", true, Helper.German)) { continue; } if (string.IsNullOrWhiteSpace(redner)) { continue; } if (string.IsNullOrWhiteSpace(vers)) { vers = "Unbekannt"; } var kw = Helper.CalculateWeek(DateTime.Parse(datum, Helper.German)); var i = new Outside { Kw = kw }; //Redner var r = DataContainer.SpeakerFindOrAdd(redner.ToString(), DataContainer.MeineVersammlung); if (r == null) { continue; } i.Ältester = r; //Gast-Versammlung if (vers == "Urlaub") { DataContainer.Abwesenheiten.Add(new Busy(r, kw)); continue; } var v = DataContainer.ConregationFindOrAdd(vers); i.Versammlung = v; if (string.IsNullOrEmpty(i.Ältester.Versammlung.Anschrift1) && !string.IsNullOrEmpty(versAdresse)) { i.Ältester.Versammlung.Anschrift1 = versAdresse; } var vn = int.Parse(vortrag.ToString(), Helper.German); //Vortrag var t = TalkList.Find(vn); i.Vortrag = new TalkSong(t); if (!i.Ältester.Vorträge.Select(y => y.Vortrag).Contains(t)) { i.Ältester.Vorträge.Add(i.Vortrag); } if (!DataContainer.ExternerPlan.Any(x => x.Kw == i.Kw && x.Ältester == i.Ältester)) { DataContainer.ExternerPlan.Add(i); } } } } catch (Exception e) { Log.Error(nameof(ExternePlanungen), e.Message); ThemedMessageBox.Show("Fehler", $"Beim Einlesen der Excel-Datei ist es zu folgendem Fehler gekommen\n:{e.Message}", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); DataContainer.ExternerPlan.Clear(); return(false); } return(true); }