示例#1
0
        private void adding(object sender, RoutedEventArgs e)
        {
            db = new STOEntities();
            int result;

            if (!Int32.TryParse(phone.Text, out result))
            {
                MessageBox.Show("Please enter numeric value in field 'Phone number' (even without symbols)", "Adding Client", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            cClient new_client = new cClient
            {
                Full_Name    = name.Text,
                Phone_Number = phone.Text,
            };

            db.cClient.Add(new_client);
            db.SaveChanges();
            MessageBox.Show("Client will be added. Please update table.", "Adding Client", 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;
                }
            }
        }