Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 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;
                }
            }
        }