private bool isValid(Einsatz newJob, Einsatz oldJob, bool isEdit) // oldJob only use when editing job { // check for invalidation bool valid = true; // Check if Mitarbeiter already has a job today int daydiff = newJob.Ende.DayOfYear - newJob.Start.DayOfYear; for (int i = 0; i <= daydiff; i++) { if (isEdit == true) { if (oldJob.Start.DayOfYear <= newJob.Start.AddDays(i).DayOfYear&& oldJob.Ende.DayOfYear >= newJob.Start.AddDays(i).DayOfYear) { // Only run when in edit mode // Day already in original job so no need to check - skip to next day continue; } } List <Einsatz> jobList = Bibliothek.Einsaetz_an_Datum(newJob.Start.AddDays(i)); for (var k = 0; k < jobList.Count(); k++) { if (jobList[k].Mitarbeiter.ID == newJob.Mitarbeiter.ID) { valid = false; this.success.Text = "Doppeleinsatz für Mitarbeiter. Das ist Nicht Erlaubt!"; this.success.Background = Brushes.Red; this.success.Visibility = Visibility.Visible; } } } // Check if job out of project bounds if (newJob.Projekt.EndDatum.DayOfYear < newJob.Ende.DayOfYear || newJob.Projekt.StartDatum.DayOfYear > newJob.Start.DayOfYear) { // Display Error this.success.Text = "Einsatz Zeitspanne ausserhalb Projekt Zeitspanne!"; this.success.Background = Brushes.Red; this.success.Visibility = Visibility.Visible; valid = false; } return(valid); }
private void Button_Suchen_Click(object sender, RoutedEventArgs e) { try { DateTime searchDate = Convert.ToDateTime(Textbox_Suchen.Text); if (Bibliothek.Einsaetz_an_Datum(searchDate).Count() == 0) { MessageBox.Show("An diesem Datum findet kein Einsatz statt."); } else { InhaltsAnzeige.Children.Clear(); InhaltsAnzeige.Children.Add(new Einzelansicht(Bibliothek.Einsaetz_an_Datum(searchDate)[0].ID, this)); } } catch (Exception exception) { MessageBox.Show(this, "Die Eingabe ist kein gültiges Zeitformat"); } }
private void fillCalendar() { List <List <Einsatz> > kalenderListe = new List <List <Einsatz> >(); switch (today.DayOfWeek.ToString()) { case "Monday": Label_Datum.Content = today.Date.ToString("dd/MM") + " - " + today.AddDays(6).Date.ToString("dd/MM/yyyy"); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today)); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(2))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(3))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(4))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(5))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(6))); break; case "Tuesday": Label_Datum.Content = today.Date.AddDays(-1).ToString("dd/MM") + " - " + today.AddDays(5).Date.ToString("dd/MM/yyyy"); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today)); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(2))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(3))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(4))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(5))); break; case "Wednesday": Label_Datum.Content = today.Date.AddDays(-2).ToString("dd/MM") + " - " + today.AddDays(4).Date.ToString("dd/MM/yyyy"); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-2))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today)); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(2))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(3))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(4))); break; case "Thursday": Label_Datum.Content = today.Date.AddDays(-3).ToString("dd/MM") + " - " + today.AddDays(3).Date.ToString("dd/MM/yyyy"); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-3))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-2))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today)); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(2))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(3))); break; case "Friday": Label_Datum.Content = today.Date.AddDays(-4).ToString("dd/MM") + " - " + today.AddDays(2).Date.ToString("dd/MM/yyyy"); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-4))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-3))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-2))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today)); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(2))); break; case "Saturday": Label_Datum.Content = today.Date.AddDays(-5).ToString("dd/MM") + " - " + today.AddDays(2).Date.ToString("dd/MM/yyyy"); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-5))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-4))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-3))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-2))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today)); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(1))); break; case "Sunday": Label_Datum.Content = today.Date.ToString("dd/MM") + " - " + today.AddDays(1).Date.ToString("dd/MM/yyyy"); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-6))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-5))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-4))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-3))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-2))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today.AddDays(-1))); kalenderListe.Add(Bibliothek.Einsaetz_an_Datum(today)); break; default: break; } for (int x = 1; x < 6; x++) { if (kalenderListe[x - 1].Count() != 0) { kalenderListe[x - 1].ForEach(delegate(Einsatz einsatzZuPrüfen) { for (int y = 0; y < 24; y++) { if (einsatzZuPrüfen.Start.Hour < y && einsatzZuPrüfen.Ende.Hour > y - 1) { Label inhaltLabel = new Label(); inhaltLabel.Content = einsatzZuPrüfen.ID; Grid.SetRow(inhaltLabel, y); Grid.SetColumn(inhaltLabel, x); kalenderInhalt.Children.Add(inhaltLabel); } } }); } } }