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