public static void Mitarbeiter_Neu(Mitarbeiter mitarbeiter)
 {
     if (Mitarbeiter == null)
     {
         Mitarbeiter = new List <Mitarbeiter>();
     }
     Mitarbeiter.Add(mitarbeiter);
 }
Beispiel #2
0
        /// <summary>
        /// Diese Methode überprüft, dass der aktuelle Einsatz ( ob neu oder geändert ist in diesem Falle egal ) keine Zeitüberschneidung mit einem existierenden Einsatz hat.
        /// </summary>
        /// <returns>Gibt False zurück wenn eine Zeitüberschneidung mit einem existierenden Einsatz besteht und True wenn nicht</returns>
        private bool ueberpruefeZeit()
        {
            /*
             * Es wird ein neuer Einsatz mit den gleichen werten wie der neue oder bearbeitete Einsatz.
             * Dies ist notwendig da wenn die Daten des aktuellen Einsatzes auf die Werte der eingaben gesezt werden,
             * müsste mann alle Werte auf die Werte bevor der änderung zurücksetzen wenn ein Wert nicht stimmt.
             * Mit einem testEinsatz aber ist es egal wie die Werte sind da er einfach gelöscht werden kann.
             */
            Einsatz testEinsatz = new Einsatz();

            // testEinsatz wird eine Kopie des aktuellen Einsatzes ohne dabei nur die Referenz zu kopieren.
            setzeEinsatz(testEinsatz);
            // Nun wird für jeden Einsatz ausser den aktuellen überprüft, ob eine Zeitüberschneidung besteht.
            bool        keineUeberschneidung = true;
            Mitarbeiter mitarbeiter          = Bibliothek.Mitarbeiter_nach_ID(this.mitarbeiter.SelectedIndex + 1);

            foreach (Einsatz e in Bibliothek.Einsatz_Alle())
            {
                if (testEinsatz.ID != e.ID)
                {
                    if (e.Mitarbeiter.ID == mitarbeiter.ID)
                    {
                        if (e.Start.Date == testEinsatz.Start.Date)
                        {
                            /*
                             * Falls der ausgelesene Einsatz nicht dem aktuellen Einsatz entspricht,
                             * der Mitarbeiter gleich ist wie der der in der ComboBox ausgewählt wurde und
                             * der Einsatz am gleichen Tag wie der aktuelle Einsatz statt findet,
                             * wird berprüft das Sie sich nicht überschreiben.
                             */
                            if (
                                // Das Startdatum ist gleich wie das Enddatum
                                (testEinsatz.Start != testEinsatz.Ende) ||
                                // Das Start oder Enddatum liegt auf dem zu überprüfenden Datum
                                (testEinsatz.Ende > testEinsatz.Start) ||
                                (testEinsatz.Start == e.Start || testEinsatz.Ende == e.Ende) ||
                                // Das Start und Enddatum liegt zwischen den zu überprüfenden Daten
                                (testEinsatz.Start > e.Start && testEinsatz.Ende < e.Ende) ||
                                // Das Startdatum liegt zwischen den zu überprüfenden Daten
                                (testEinsatz.Start > e.Start && testEinsatz.Start < e.Ende) ||
                                // Das Enddatum liegt zwischen den zu überprüfenden Daten
                                (testEinsatz.Ende > e.Start && testEinsatz.Ende < e.Ende) ||
                                // Das Start und das Enddatum  liegen ausserhalb der zu überprüfenden Daten.
                                (testEinsatz.Start < e.Start && testEinsatz.Ende > e.Ende) ||
                                // Das Start oder Enddatum liegt ausserhalb des Projekt Zeitraumes.
                                (testEinsatz.Start < testEinsatz.Projekt.StartDatum || testEinsatz.Ende > testEinsatz.Projekt.EndDatum)
                                )
                            {
                                // Wenn sie sich überschneiden wird ein entsprechender Fehler ausgegeben.
                                MessageBox.Show(Fehler_Zeit_ueberschneidung);
                                keineUeberschneidung = false;
                            }
                        }
                    }
                }
            }
            return(keineUeberschneidung);
        }
        private void btnMit_Handler(object sender, RoutedEventArgs e)
        {
            Button myButton = (Button)sender;

            // Create new Mitarbeiter
            if (myButton.Tag.ToString() == "new")
            {
                Mitarbeiter newMitarbeiter = new Mitarbeiter();
                int         id;
                var         bool4 = Int32.TryParse(Application.Current.Properties["mit_id"].ToString(), out id); // saved max id to increment
                newMitarbeiter.ID = id += 1;
                Application.Current.Properties["mit_id"] = (id += 1).ToString();
                newMitarbeiter.Name     = this.mitName.Text;
                newMitarbeiter.Vorname  = this.mitVorname.Text;
                newMitarbeiter.IstAktiv = this.mitAktiv.IsChecked.Value;
                Bibliothek.Mitarbeiter_Neu(newMitarbeiter);

                // Employee entry created - show success and reset form
                this.mitName.Text       = "";
                this.mitVorname.Text    = "";
                this.mitAktiv.IsChecked = false;

                this.success.Text       = "Mitarbeiter erfolgrichlich erstellt";
                this.success.Visibility = Visibility.Visible;
            }

            // Edit Mitarbeiter
            if (myButton.Tag.ToString() == "edit")
            {
                int         id;
                var         bool6 = Int32.TryParse(this.btnID.Tag.ToString(), out id);
                Mitarbeiter mit   = Bibliothek.Mitarbeiter_nach_ID(id);
                mit.Name       = this.mitName.Text;
                mit.Vorname    = this.mitVorname.Text;
                mit.IstAktiv   = this.mitAktiv.IsChecked.Value;
                this.btnID.Tag = ""; // reset edit employee id holder

                // Employee entry edited - show success and reset form
                this.mitName.Text       = "";
                this.mitVorname.Text    = "";
                this.mitAktiv.IsChecked = false;

                this.success.Text       = "Mitarbeiter erfolgrichlich gearbeitet";
                this.success.Visibility = Visibility.Visible;
            }
        }
Beispiel #4
0
        private void demoDatenMitarbeiter()
        {
            Mitarbeiter ma1 = new Mitarbeiter();
            ma1.ID = 1;
            ma1.Name = "Affolter";
            ma1.Vorname = "Anton";
            ma1.IstAktiv = true;
            ma1.Farbe = Colors.Aqua;
            Bibliothek.Mitarbeiter_Neu(ma1);

            Mitarbeiter ma2 = new Mitarbeiter();
            ma2.ID = 2;
            ma2.Name = "Bangerter";
            ma2.Vorname = "Beat";
            ma2.IstAktiv = true;
            ma2.Farbe = Colors.BlanchedAlmond;
            Bibliothek.Mitarbeiter_Neu(ma2);
        }
        public newEmployee()
        {
            InitializeComponent();

            // Edit Employee
            if (Application.Current.Properties["mit_edit_id"] != null)
            {
                int         mit_id;
                var         bool5 = Int32.TryParse(Application.Current.Properties["mit_edit_id"].ToString(), out mit_id);
                Mitarbeiter mit   = Bibliothek.Mitarbeiter_nach_ID(mit_id);
                this.mitName.Text       = mit.Name;
                this.mitVorname.Text    = mit.Vorname;
                this.mitAktiv.IsChecked = mit.IstAktiv;
                this.mitSubmit.Tag      = "edit";

                // Create hidden button to save employee id
                this.btnID.Tag = mit_id.ToString();

                // Edit window opened and loaded.. reset trigger property
                Application.Current.Properties["mit_edit_id"] = null;
            }
        }