public void MailtextAnzeigen() { var w = new InfoAnRednerUndKoordinatorWindow(); var data = (InfoAnRednerUndKoordinatorViewModel)w.DataContext; data.Titel = $"Original Mailtext vom {AnfrageDatum}"; data.MailTextKoordinator = string.IsNullOrWhiteSpace(BaseAnfrage.Mailtext) ? "kein Mailtext vorhanden!" + Environment.NewLine + BaseAnfrage.Kommentar : BaseAnfrage.Mailtext; data.DisableCancelButton(); w.ShowDialog(); }
public void Save(ICloseable window) { var startKw = StartEvent.Kw; var startDatum = Core.Helper.CalculateWeek(StartEvent.Kw); var zielKw = Helper.CalculateWeek(ZielDatum); StartEvent.Kw = zielKw; var sendMail = false; var mails = new InfoAnRednerUndKoordinatorWindow(); var mailsData = (InfoAnRednerUndKoordinatorViewModel)mails.DataContext; mailsData.DisableCancelButton(); //MAIL WEGEN STARTBUCHUNG if (StartEvent.Status == EventStatus.Zugesagt) { var ev = (StartEvent as Invitation); if (ev.Ältester.Versammlung == DataContainer.MeineVersammlung) { mailsData.InfoAnKoordinatorTitel = "Info an Redner"; mailsData.MailTextKoordinator = Templates.GetMailTextEreignisTauschenAnRedner(ev.Ältester, startDatum, ZielDatum, ev.Vortrag.Vortrag.ToString(), ev.Ältester.Versammlung.Name); } else { mailsData.InfoAnKoordinatorTitel = "Info an Koordinator"; mailsData.MailTextKoordinator = Templates.GetMailTextEreignisTauschenAnKoordinator(ev.Ältester.Versammlung, startDatum, ZielDatum, ev.Ältester.Name, ev.Vortrag.Vortrag.ToString(), ev.Ältester.Versammlung.Name); } sendMail = true; } string startBuchungInfo = string.Empty; //MAIL & TODO WEGEN ZIELBUCHUNG if (ZielBuchungBelegt) { var headerText = string.Empty; if (ZielbuchungTauschenChecked) { if (ZielEvent.Status == EventStatus.Anfrage) { var ev = (ZielEvent as Inquiry); ev.Kws.Remove(zielKw); ev.Kws.Add(startKw); } else if (ZielEvent.Status == EventStatus.Ereignis) { ZielEvent.Kw = startKw; } else { ZielEvent.Kw = startKw; var ev = (ZielEvent as Invitation); if (ev.Ältester.Versammlung == DataContainer.MeineVersammlung) { mailsData.InfoAnRednerTitel = "Info an Redner"; mailsData.MailTextRedner = Templates.GetMailTextEreignisTauschenAnRedner(ev.Ältester, ZielDatum, startDatum, ev.Vortrag.Vortrag.ToString(), ev.Ältester.Versammlung.Name); } else { mailsData.InfoAnRednerTitel = "Info an Koordinator"; mailsData.MailTextRedner = Templates.GetMailTextEreignisTauschenAnKoordinator(ev.Ältester.Versammlung, ZielDatum, startDatum, ev.Ältester.Name, ev.Vortrag.Vortrag.ToString(), ev.Ältester.Versammlung.Name); } sendMail = true; } startBuchungInfo = "Die Buchung am neuen Datum wurde mit dem bisherigen Datum getauscht."; headerText = "Diese Buchung wurde verschoben"; } else if (ZielbuchungLöschenChecked) { switch (ZielEvent.Status) { case EventStatus.Anfrage: var ev = (ZielEvent as Inquiry); ev.Kws.Remove(zielKw); if (ev.Kws.Count == 0) { DataContainer.OffeneAnfragen.Remove(ev); } //ToDo: Info an Versammlung über doppelbuchung der Anfrage?? break; case EventStatus.Zugesagt: var inv = (ZielEvent as Invitation); if (inv.Ältester.Versammlung == DataContainer.MeineVersammlung) { mailsData.InfoAnRednerTitel = "Info an Redner"; mailsData.MailTextRedner = Templates.GetMailTextAblehnenRedner(inv); } else { mailsData.InfoAnRednerTitel = "Info an Koordinator"; mailsData.MailTextRedner = Templates.GetMailTextAblehnenKoordinator(inv); } DataContainer.Absagen.Add(new Cancelation(zielKw, inv.Ältester, EventStatus.Zugesagt)); DataContainer.MeinPlanRemove(inv); sendMail = true; break; case EventStatus.Ereignis: DataContainer.MeinPlanRemove(ZielEvent); break; default: break; } startBuchungInfo = "Die Buchung am neuen Datum wurde gelöscht."; headerText = "Diese Buchung wurde gelöscht"; } ActivityLog.AddActivity.BuchungVerschieben(ZielEvent, mailsData.MailTextRedner, ZielDatum, "Eine andere Buchung wurde auf das bisherige Datum verschoben.", headerText); } else { startBuchungInfo = "Das neue Datum war in der Planung offen."; } if (sendMail) { mails.ShowDialog(); } DataContainer.UpdateTalkDate(StartEvent?.Vortrag?.Vortrag); DataContainer.UpdateTalkDate(ZielEvent?.Vortrag?.Vortrag); ActivityLog.AddActivity.BuchungVerschieben(StartEvent, mailsData.MailTextKoordinator, startDatum, startBuchungInfo, "Buchung wurde verschoben"); // Event1 //Event2 Speichern = true; window?.Close(); }