//Speichern Button protected void OnBtnSaveMClicked(object sender, EventArgs e) { //Prüfen, ob es sich um einen Angestellten oder Arbeiter handelt if (arb == null) { //Angestellter --- //erstellen einer Variable gehalt double gehalt; //Vorname und Nachname, wie angegeben abspeichern, im Angestelltenobjekt, dass übergeben wurde ang.Set_Vorname(txt_vn_m.Text); ang.Set_Nachname(txt_nn_m.Text); //Prüfen, ob das Gehalt geparst werden kann, oder nicht //Hier werden Strings abgefangen if (!double.TryParse(txt_g_m.Text, out gehalt)) { //Wenn es nicht geparst werden kann, wird das Gehalt, wieder auf den alten WErt gesetzt gehalt = ang.Get_Brutto(); } //Ändern des Gehalts im übergebenen Objekt ang.Set_Brutto(gehalt); } else { //Arbeiter --- //Variable für die Zeit und den Lohn double zeit; double lohn; //Speichern des Vor- und Nachnames im Objekt arb.Set_Vorname(txt_vn_m.Text); arb.Set_Nachname(txt_nn_m.Text); //Prüfen, ob Valide Werte übergeben werden if (!double.TryParse(txt_lohn_m.Text, out lohn)) { //falls nicht geparst werden kann, wird der alte Wert genommen lohn = arb.Get_Lohn(); } if (!double.TryParse(txt_zeit_m.Text, out zeit)) { //falls nicht geparst werden kann, wird der alte Wert genommen zeit = arb.Get_Stunden(); } //Setzen des Lohns und der Zeit arb.Set_Lohn(lohn); arb.Set_zahl(zeit); } //Vor dem Schließen wird noch die Anzeige im Hauptfenster angepasst parent.fill_table(); //Schließen des Fensters this.Destroy(); }
//Konstruktor, bei Übergabe eines Angestellten public WMitarbeiter(CAngestellter Angestellter, MainWindow n_parent) : base(Gtk.WindowType.Toplevel) { //Anzeige erstellen, wie sie als LAyout erstellt wurde Build(); //Die übergebene Anzeige abspeichern parent = n_parent; //Nicht genutzte Lables und Textfelder ausblenden lbl_lohn.Hide(); lbl_zeit.Hide(); txt_lohn_m.Hide(); txt_zeit_m.Hide(); //Übergebenen Angestellten abspeichern ang = Angestellter; //Werte des Angestellten abfragen und eintragen txt_g_m.Text = ang.Get_Brutto().ToString(); txt_nn_m.Text = ang.Get_Nachname(); txt_vn_m.Text = ang.Get_Vorname(); //Da der Arbeiter nicht genutzt wird, wird er auf Null gesetzt arb = null; }