//Janne //Varmistaa että poistettava tietue on valittu ja kysyy haluaako käyttäjä varmasti poistaa sen ennen kuin kutsuu poistavaa funktiota private void btnRemoveWorker_Click(object sender, RoutedEventArgs e) { try { if (dgWorkerList.SelectedIndex == -1) { MessageBox.Show("Valitse työntekijä ensin."); return; } if (MessageBox.Show("Haluatko varmasti poistaa valitun työntekijän?", "Varmistus", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { // poistetaan datatablesta dvWorkers.Delete(dgWorkerList.SelectedIndex); // kutsutaan poistavaa funktiota jolle annetaan muokattu datatable int result = DBStudio.UpdateWorker(dtWorkers); MessageBox.Show(result + " työntekijä poistettu."); // päivittää näkymät RefreshWorkers(); RefreshReservations(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
//Janne // Tutkii syötteet ja kutsuu alemman kerroksen työntekijäntallennusfunktiota jos syötteet kunnossa. private void btnSaveWorker_Click(object sender, RoutedEventArgs e) { try { if (txtFname.Text == "" || txtLname.Text == "" || txtAddress.Text == "" || txtPhone.Text == "") { MessageBox.Show("Tarpeellisia tietoja jätetty pois!"); return; } if (!Studio.IsValidPhone(txtPhone.Text)) { MessageBox.Show("Puhelinnumeron formaatti väärä.\nOikeat formaatit ovat\n0401234567\ntai\n+358401234567"); return; } //varmistus käyttäjältä if (MessageBox.Show("Haluatko varmasti lisätä tämän käyttäjän?\n" + "Nimi: " + txtFname.Text + " " + txtLname.Text + "\n" + "Osoite: " + txtAddress.Text + "\n" + "Puhelinnumero: " + txtPhone.Text + "\n" + "Muu tieto: " + txtOther.Text, "Varmistus", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { // lisätään datarow datatableen ja syötetään siihen uudet tiedot dr = dtWorkers.NewRow(); dr["fname"] = txtFname.Text; dr["lname"] = txtLname.Text; dr["addr"] = txtAddress.Text; dr["phone"] = txtPhone.Text; dr["regdate"] = DateTime.Now.Day + "." + DateTime.Now.Month + "." + DateTime.Now.Year; dr["other"] = txtOther.Text; dtWorkers.Rows.Add(dr); spAddWorker.Visibility = Visibility.Collapsed; btnShowWorkerSavePanel.IsEnabled = true; txtFname.Text = ""; txtLname.Text = ""; txtAddress.Text = ""; txtPhone.Text = ""; txtOther.Text = ""; //annetaan datatable päivittävälle funktiolle DBStudio.UpdateWorker(dtWorkers); //päivitetään näkymät RefreshWorkers(); RefreshReservations(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
//Janne // Tutkii syötteet ja tallentaa muutokset jos syötteet kunnossa public static int UpdateWorkers(DataTable dtWorkers) { try { foreach (DataRow row in dtWorkers.Rows) { if (row.RowState == DataRowState.Modified) { if (!IsValidPhone(row["Phone"].ToString())) { // väärä puhelinformaatti return(-101); } if (row["Fname"].ToString().Length == 0 || row["Fname"].ToString().Length > 20) { // Liikaa tai liian vähän merkkejä etunimessä return(-200); } if (row["Lname"].ToString().Length == 0 || row["Lname"].ToString().Length > 30) { // Liikaa tai liian vähän merkkejä sukunimessä return(-201); } if (row["Addr"].ToString().Length == 0 || row["Addr"].ToString().Length > 50) { // Liikaa tai liian vähän merkkejä Osoitteessa return(-300); } if (row["Other"].ToString().Length > 100) { // liikaa merkkejä otherissa return(-400); } } } // tekee tallennukset ja palauttaa muutettujen rivien määrän return(DBStudio.UpdateWorker(dtWorkers)); } catch (Exception ex) { throw ex; } }