示例#1
0
 private void buttonCheckliste_Click(object sender, EventArgs e)
 {
     if (textMitarbeiterID.Text == "")
     {
         textStammdatenLog.AppendText("Es muss ein Mitarbeiter ausgewählt sein, um die Checkliste anzuzeigen \r\n ");
     }
     else
     {
         // Checkliste zur Bearbeitung öffnen
         Stammdaten_Check check = new Stammdaten_Check();
         check.Show();
         int x;
         int.TryParse(textMitarbeiterID.Text, out x);
         check.fuellen(x);
         check.setBearbeitend(idBearbeitend);
     }
 }
示例#2
0
        private void MitarbeiterAdd()
        {
            var bestätigung = MessageBox.Show("Den Mitarbeiter wirklich neu hinzufügen?", "Hinzufügen bestätigen", MessageBoxButtons.YesNo);

            if (bestätigung == DialogResult.Yes)
            {
                //Zwischenspeicher neue ID
                int ID = 0;
                // Sicherheit gegen versehendliches Doppelspeichern
                if (textMitarbeiterID.Text != "")
                {
                    var warnung = MessageBox.Show("Es ist bereits ein Mitarbeiter geladen, /r/n ein neuer Mitarbeiter kann nicht gespeichert werden /r/n Sollte der Mitarbeiter geändert werden, bitte Änderungsknopf drücken", "Fehlermeldung");
                    return;
                }
                if (dateAusschied.Value.Date != new DateTime(2017, 1, 1))
                {
                    var bestätigungAusschied = MessageBox.Show("Das Ausschiedsdatum ist geändert. Mitarbeiter wirklich zum Datum ausscheiden lassen?", "Ausschied bestätigen", MessageBoxButtons.YesNo);
                    if (bestätigungAusschied == DialogResult.No)
                    {
                        return;
                    }
                }

                //String bauen
                //Vorlage zum Anhängen der Werte
                String insert = "INSERT INTO Mitarbeiter (Vorname, Nachname, StundenGehalt, Personalnummer, Straße, PLZOrt, Handynummer, Festnetznummer, Religion, Krankenkasse, " +
                                "Steuerklasse, Familienstand, Kinderzahl, Sozialversicherungsnummer, SteuerID, FuehrerscheinNummer, PersonalausweisNummer, " +
                                "Geburtsdatum, Geburtsort, Hauptarbeitgeber, StundenanteilMinuten, Staatsangehoerigkeit, IBAN, BIC, Kontoinhaber, Einstellungsdatum, Kategorie, UserChanged, Ausscheidedatum) VALUES (";
                insert += "'" + textVorname.Text + "', ";
                insert += "'" + textNachname.Text + "', ";
                insert += numericStundenlohn.Value.ToString().Replace(',', '.') + ", ";
                insert += "'" + textMitarbeiterNr.Text + "', ";
                insert += "'" + textStraße.Text + "', ";
                insert += "'" + textOrt.Text + "', ";
                insert += "'" + textHandy.Text + "', ";
                insert += "'" + textTelefon.Text + "', ";
                insert += "'" + textReligion.Text + "', ";
                insert += "'" + textKrankenkasse.Text + "', ";
                insert += numericSteuerklasse.Value.ToString().Replace(',', '.') + ", ";
                insert += "'" + textFamilienstand.Text + "', ";
                insert += numericKinder.Value.ToString().Replace(',', '.') + ", ";
                insert += "'" + textSozialversicherung.Text + "', ";
                insert += "'" + textSteuerID.Text + "', ";
                insert += "'" + textFuehrerscheinNr.Text + "', ";
                insert += "'" + textPersoNr.Text + "', ";
                insert += "'" + Program.DateMachine(dateGeburtstag.Value) + "', ";
                insert += "'" + textGeburtsort.Text + "', ";
                insert += "'" + textHauptarbeitgeber.Text + "', ";
                insert += +decimal.ToInt32(decimal.Round(numericStundenanteil.Value * 60)) + ", ";               //Stundenanteil immer pro Tag
                insert += "'" + textStaatsangehoerigkeit.Text + "', ";
                insert += "'" + textIBAN.Text + "', ";
                insert += "'" + textBIC.Text + "', ";
                insert += "'" + textKontoinhaber.Text + "', ";
                insert += "'" + Program.DateMachine(dateEinstellung.Value) + "',";
                insert += "'" + getKategorie() + "', ";
                insert += idBearbeitend + ", ";
                insert += "'" + Program.DateMachine(dateAusschied.Value) + "');";

                // String fertig, absenden
                MySqlCommand cmdAdd = new MySqlCommand(insert, Program.conn2);
                try
                {
                    cmdAdd.ExecuteNonQuery();
                    textStammdatenLog.AppendText("Mitarbeiter erfolgreich angelegt \r\n ");
                }
                catch (Exception sqlEx)
                {
                    textStammdatenLog.Text += sqlEx.ToString();
                    return;
                }


                // ErgebnisID rausziehen

                MySqlCommand    cmdRead = new MySqlCommand("SELECT idMitarbeiter FROM Mitarbeiter WHERE Nachname = '" + textNachname.Text + "' AND Vorname = '" + textVorname.Text + "';", Program.conn2);
                MySqlDataReader rdr;
                int             count = 0;
                try
                {
                    rdr = cmdRead.ExecuteReader();
                    while (rdr.Read())
                    {
                        count++;
                        textMitarbeiterID.Text = rdr[0].ToString();
                        ID = rdr.GetInt32(0);
                    }
                    rdr.Close();
                }
                catch (Exception sqlEx)
                {
                    textStammdatenLog.AppendText(sqlEx.ToString());
                    return;
                }

                // Erfolg prüfen
                if (count == 0)
                {
                    textStammdatenLog.AppendText("Fehler beim Hinzufügen, konnte keine MitarbeiterID finden \r\n ");
                }
                else if (count > 1)
                {
                    textStammdatenLog.AppendText("Hinzugefügter Mitarbeiter existiert doppelt (Vor/Nachname gleich). Bitte Prüfen! \r\n ");
                }


                // Mitarbeiter-Checkliste anlegen

                insert = "INSERT INTO MitarbeiterCheck (Mitarbeiter_idMitarbeiter) VALUES (" + ID + ");";
                MySqlCommand cmdcheck = new MySqlCommand(insert, Program.conn2);
                try
                {
                    cmdcheck.ExecuteNonQuery();
                    textStammdatenLog.AppendText("Mitarbeiter Checkliste erfolgreich angelegt \r\n ");
                }
                catch (Exception sqlEx)
                {
                    textStammdatenLog.Text += sqlEx.ToString();
                    return;
                }


                //Minuten für den Monat berechnen
                int min = 0;

                if (dateEinstellung.Value.Day <= 26)
                {
                    min = Program.toMinute(numericStundenanteil.Value) * Program.getWochentage(dateEinstellung.Value.Date, new DateTime(dateEinstellung.Value.Year, dateEinstellung.Value.Month, 26));
                }
                else
                {
                    min = Program.toMinute(numericStundenanteil.Value) * Program.getWochentage(dateEinstellung.Value.Date, new DateTime(dateEinstellung.Value.Year, dateEinstellung.Value.Month + 1, 26));
                }

                //DateTime StartMonat = new DateTime(2017, 7, 1);

                String stdKonto = "INSERT INTO Stundenkonto (Mitarbeiter_idMitarbeiter, Monat, SollMinuten) VALUES(" + ID + ", '" + Program.DateMachine(dateEinstellung.Value) + "', " + min + ");";

                // String fertig, absenden
                MySqlCommand cmdStd = new MySqlCommand(stdKonto, Program.conn2);
                try
                {
                    cmdStd.ExecuteNonQuery();
                    textStammdatenLog.AppendText("Stundenkonto erfolgreich angelegt \r\n ");
                }
                catch (Exception sqlEx)
                {
                    textStammdatenLog.Text += sqlEx.ToString();
                    return;
                }

                // Checkliste zur Bearbeitung öffnen
                Stammdaten_Check check = new Stammdaten_Check();
                check.Show();
                check.fuellen(ID);
                check.setBearbeitend(idBearbeitend);

                // MitarbeiterAuocomplete-Singleton updaten

                Program.refreshAutocompleteMitarbeiter();
            }
        }