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);
        }
示例#2
0
        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");
            }
        }
示例#3
0
        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);
                            }
                        }
                    });
                }
            }
        }