//Aleksi //kutsutaan updateCustomer funktiota ja virkistetään customers ja reservations näkymät private void btnSaveCustomerChanges_Click(object sender, RoutedEventArgs e) { try { int rowcount = DBStudio.UpdateCustomer(dtCustomers); MessageBox.Show(rowcount + " riviä muokattu."); RefreshCustomers(); RefreshReservations(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
//Aleksi //Asiakkaan poisto. Tarkistetaan onko asiakas valittu, jos ei, promptataan. Kysytään varmennus, kutsutaan tietokantakerrosta poistolla ja kutsutaan datagridien virkistystä. private void btnCDeleteCustomer_Click(object sender, RoutedEventArgs e) { if (dgCustomerList.SelectedIndex == -1) { MessageBox.Show("Valitse asiakas ensin."); return; } if (MessageBox.Show("Haluatko varmasti poistaa valitun asiakkaan?", "Varmistus", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { dvCustomers.Delete(dgCustomerList.SelectedIndex); int rows = DBStudio.UpdateCustomer(dtCustomers); RefreshCustomers(); RefreshReservations(); MessageBox.Show(rows + " asiakas poistettu."); } }
//Aleksi //tehdään asiakkaan tallennus tietokantaan, ensin tarkistaen syötteet(pituus, tyhjyys, tyyppi) //parsitaan päiväformaatti datepicker-elementistä tietokannalle sopivaksi //tehdään tallennnus kantaan, tyhjätään kentät, virkistetään näkymät private void btnSaveCustomer_Click(object sender, RoutedEventArgs e) { if (txtCFname.Text.Any(char.IsDigit) || txtCLname.Text.Any(char.IsDigit)) { MessageBox.Show("Nimi kentissä ei voi olla numeroita."); return; } if (txtCPhone.Text.Any(char.IsLetter)) { MessageBox.Show("Puhelinnumero kentässä ei voi olla kirjaimia."); return; } if (txtCFname.Text.Length > 20 || txtCLname.Text.Length > 20 || txtCPhone.Text.Length > 13 || txtCPrivilege.Text.Length > 50 || dpCustomerBD.Text.Length > 10) { MessageBox.Show("Kenttä on liian pitkä..\n" + "Etunimi voi olla 20 merkkiä.\n" + "Sukunimi voi olla 20 merkkiä.\n" + "Puhelinnumero voi olla 13 merkkiä.\n" + "Etu voi olla 50 merkkiä.\n" + "Syntymäaika voi olla 10 merkkiä."); return; } if (txtCFname.Text == "" || txtCLname.Text == "" || txtCFname.Text == "" || txtCPhone.Text == "" || txtCPrivilege.Text == "" || dpCustomerBD.SelectedDate == null) { MessageBox.Show("Kaikkien kenttien täytyy olla täytetty."); return; } if (!Studio.IsValidPhone(txtCPhone.Text)) { MessageBox.Show("Puhelinnumeron formaatti väärä.\nOikeat formaatit ovat\n0401234567\ntai\n+358401234567"); return; } try { if (MessageBox.Show("Haluatko varmasti lisätä tämän Asiakkaan?\n" + "Nimi: " + txtCFname.Text + " " + txtCLname.Text + "\n" + "Puhelinnumero: " + txtCPhone.Text + "\n" + "Etuus: " + txtCPrivilege.Text + "\n" + "Syntymäaika:" + dpCustomerBD.Text, "Varmistus", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { string zeroMonth = ""; string zeroDay = ""; if (dpCustomerBD.SelectedDate.Value.Month < 10) { zeroMonth = "0"; } if (dpCustomerBD.SelectedDate.Value.Day < 10) { zeroDay = "0"; } dr = dtCustomers.NewRow(); dr["fname"] = txtCFname.Text; dr["lname"] = txtCLname.Text; dr["phone"] = txtCPhone.Text; dr["Birthdate"] = dpCustomerBD.SelectedDate.Value.Year + "-" + zeroMonth + dpCustomerBD.SelectedDate.Value.Month + "-" + zeroDay + dpCustomerBD.SelectedDate.Value.Day; dr["Privilege"] = txtCPrivilege.Text; zeroDay = ""; zeroMonth = ""; if (DateTime.Now.Month < 10) { zeroMonth = "0"; } if (DateTime.Now.Day < 10) { zeroDay = "0"; } dr["regdate"] = DateTime.Now.Year + "-" + zeroMonth + DateTime.Now.Month + "-" + zeroDay + DateTime.Now.Day; dtCustomers.Rows.Add(dr); spAddCustomer.Visibility = Visibility.Collapsed; txtCFname.Text = ""; txtCLname.Text = ""; txtCPhone.Text = ""; dpCustomerBD.Text = ""; txtCPrivilege.Text = ""; DBStudio.UpdateCustomer(dtCustomers); btnCShowSavePanel.IsEnabled = true; RefreshCustomers(); RefreshReservations(); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }