public void ListeVersenden() { var w = new InfoAnRednerUndKoordinatorWindow(); var data = (InfoAnRednerUndKoordinatorViewModel)w.DataContext; data.Titel = "Liste der Vortragseinladungen versenden"; var listeRedner = new List <Speaker>(); foreach (var einladung in Talks) { if (!listeRedner.Contains(einladung.Ältester)) { listeRedner.Add(einladung.Ältester); } } data.MailTextRedner = Templates.GetRednerlisteMailText(listeRedner, Talks); data.DisableCancelButton(); w.ShowDialog(); var einRedner = listeRedner.Count == 1 ? listeRedner[0] : null; ActivityLog.AddActivity.OutsideSendList(einRedner, data.MailTextRedner); }
public void BuchungErinnern() { var mail = new InfoAnRednerUndKoordinatorWindow(); var data = (InfoAnRednerUndKoordinatorViewModel)mail.DataContext; data.MailTextKoordinator = Templates.GetMailTextRednerErinnerung(Zuteilung as Invitation); data.DisableCancelButton(); mail.ShowDialog(); ActivityLog.AddActivity.RednerErinnern(Zuteilung as Invitation, data.MailTextKoordinator); Einladung.ErinnerungsMailGesendet = true; RaisePropertyChanged(nameof(ErinnerungsMailSenden)); }
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); } } }
public void Absagen() { var w = new InfoAnRednerUndKoordinatorWindow(); var data = (InfoAnRednerUndKoordinatorViewModel)w.DataContext; data.Titel = "Vortrag absagen"; data.MailTextKoordinator = Templates.GetMailTextAblehnenKoordinator(SelectedTalk); data.MailTextRedner = Templates.GetMailTextAblehnenRedner(SelectedTalk); w.ShowDialog(); if (data.Speichern) { ActivityLog.AddActivity.Outside(SelectedTalk, data.MailTextKoordinator, data.MailTextRedner, false); DataContainer.ExternerPlan.Remove(SelectedTalk); Talks.Remove(SelectedTalk); } }
public void BuchungLöschen() { if (Zuteilung.Status == EventStatus.Ereignis) { DataContainer.MeinPlanRemove(Zuteilung); var ereignis = (Zuteilung as SpecialEvent); ActivityLog.AddActivity.EreignisBearbeiten(ereignis, ActivityLog.Types.EreignisLöschen); Monat.GetWeeks(Jahr); return; } var zuteilung = Zuteilung as Invitation; var w = new InfoAnRednerUndKoordinatorWindow(); var data = (InfoAnRednerUndKoordinatorViewModel)w.DataContext; string mailtext; if (zuteilung.Ältester.Versammlung == DataContainer.MeineVersammlung) { data.MailTextRedner = Templates.GetMailTextAblehnenRedner(zuteilung); mailtext = data.MailTextRedner; } else { data.MailTextKoordinator = Templates.GetMailTextAblehnenKoordinator(zuteilung); mailtext = data.MailTextKoordinator; } w.ShowDialog(); if (!data.Speichern) { return; } DataContainer.MeinPlanRemove(Zuteilung); DataContainer.Absagen.Add(new Cancelation(zuteilung.Kw, zuteilung.Ältester, zuteilung.Status)); ActivityLog.AddActivity.BuchungLöschen(zuteilung, mailtext); Monat.GetWeeks(Jahr); }