private void Button_Click(object sender, RoutedEventArgs e) { db = new STOEntities(); int result; if (start_date.SelectedDate.Value > end_date.SelectedDate.Value || end_date.SelectedDate.Value > gua.SelectedDate.Value) { MessageBox.Show("Enter correct dates. ", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); return; } else if (!Int32.TryParse(price_tb.Text, out result)) { MessageBox.Show("Enter correct price, without letters and symbols. ", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); return; } else { if (Int32.Parse(price_tb.Text) < 0) { MessageBox.Show("Enter correct price. ", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); return; } } vRepair new_repair = new vRepair { Reason_of_problem = reason_tb.Text, Start_Date = start_date.SelectedDate.Value, End_Date = end_date.SelectedDate.Value, Guarantee = gua.SelectedDate.Value, Price = Int32.Parse(price_tb.Text), Car_ID = ((cCar)car_cb.SelectedItem).ID, Client_ID = ((cClient)client_cb.SelectedItem).ID }; db.vRepair.Add(new_repair); db.SaveChanges(); MessageBox.Show("Repair will be added. Please update table.", "Adding repair", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); }
private void deleteButton_Click(object sender, RoutedEventArgs e) {// в зависимости какая вкладка выбрана int Tab_open = tabs.SelectedIndex; switch (Tab_open) { case 0: //если строка выбрана if (repairGrid.SelectedItems.Count > 0) { for (int i = 0; i < repairGrid.SelectedItems.Count; i++) { vRepair repair = repairGrid.SelectedItems[i] as vRepair; if (repair != null) { db.vRepair.Remove(repair); // удаление элемента из таблицы базы данных } } } else { MessageBox.Show("Choose element to delete it.", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); } break; case 1: if (carGrid.SelectedItems.Count > 0) //если строка выбрана { for (int i = 0; i < carGrid.SelectedItems.Count; i++) { cCar car = carGrid.SelectedItems[i] as cCar; if (car != null) { db.cCar.Remove(car); // удаление элемента из таблицы базы данных } } } else { MessageBox.Show("Choose element to delete it.", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); } break; case 2: if (clientGrid.SelectedItems.Count > 0) //если строка выбрана { for (int i = 0; i < clientGrid.SelectedItems.Count; i++) { cClient client = clientGrid.SelectedItems[i] as cClient; if (client != null) { db.cClient.Remove(client); // удаление элемента из таблицы базы данных } } } else { MessageBox.Show("Choose element to delete it.", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); } break; case 3: if (detailGrid.SelectedItems.Count > 0) //если строка выбрана { for (int i = 0; i < detailGrid.SelectedItems.Count; i++) { cDetail detail = detailGrid.SelectedItems[i] as cDetail; if (detail != null) { db.cDetail.Remove(detail); // удаление элемента из таблицы базы данных } } } else { MessageBox.Show("Choose element to delete it.", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); } break; case 4: if (usedGrid.SelectedItems.Count > 0) // если элемент таблицы выбран { for (int i = 0; i < usedGrid.SelectedItems.Count; i++) { vUsed_Detail used = usedGrid.SelectedItems[i] as vUsed_Detail; if (used != null) { db.vUsed_Detail.Remove(used); // удаление элемента из таблицы базы данных } } } else { MessageBox.Show("Choose element to delete it.", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); } break; } try { db.SaveChanges(); } catch { int Tab = tabs.SelectedIndex; switch (Tab) { case 0: MessageBox.Show("You can not delete this repair, because it uses in Used Details!", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); db = new STOEntities(); db.vRepair.Load(); // загружаем данные repairGrid.ItemsSource = db.vRepair.Local.ToBindingList(); // устанавливаем привязку к кэшу break; case 1: MessageBox.Show("You can not delete this car, because it uses in Repairs!", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); db = new STOEntities(); db.cCar.Load(); // загружаем данные carGrid.ItemsSource = db.cCar.Local.ToBindingList(); // устанавливаем привязку к кэшу break; case 2: MessageBox.Show("You can not delete this client, because it uses in Repairs and Cars!", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); db = new STOEntities(); db.cClient.Load(); // загружаем данные clientGrid.ItemsSource = db.cClient.Local.ToBindingList(); // устанавливаем привязку к кэшу break; case 3: MessageBox.Show("You can not delete this detail, because it uses in Used Details!", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); db = new STOEntities(); db.cDetail.Load(); // загружаем данные detailGrid.ItemsSource = db.cDetail.Local.ToBindingList(); // устанавливаем привязку к кэшу break; } } }