示例#1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            db = new STOEntities();
            cCar new_car = new cCar
            {
                Number      = number.Text,
                Brand_Model = brand.Text,
                IDOwner     = ((cClient)client_cb.SelectedItem).ID,
            };

            db.cCar.Add(new_car);
            db.SaveChanges();
            MessageBox.Show("Car will be added. Please update table.", "Adding Car", MessageBoxButton.OK, MessageBoxImage.Information);
            this.Close();
        }
示例#2
0
        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;
                }
            }
        }