123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- using static System.Collections.Specialized.BitVector32;
- namespace Control_DB_Railway.Views
- {
- /// <summary>
- /// Логика взаимодействия для MainWindow.xaml
- /// </summary>
- public partial class MainWindow : Window
- {
- Entities entities = new Entities();
- public MainWindow()
- {
- InitializeComponent();
- // Заполнение ListBox из таблицы "Станции"
- foreach (var row_Station in entities.Stations)
- listBox_Station.Items.Add(row_Station);
- // Заполнение ListBox из таблицы "Тип станции"
- foreach (var row_TypeStation in entities.TypeStation)
- listBox_TypeStation.Items.Add(row_TypeStation);
- // Заполнение ListBox из таблицы "Дороги"
- foreach (var row_Roads in entities.Roads)
- listBox_Road.Items.Add(row_Roads);
- // Заполнение comboBox_TypeStation из таблицы "Тип станции"
- foreach (var element_TypeStationID in entities.TypeStation)
- comboBox_TypeStation.Items.Add(element_TypeStationID);
- }
- /********************/
- /* ОБЪЕКТ "СТАНЦИЯ" */
- /********************/
- /* Отображение информации в поля "Станция" */
- private void listBox_Station_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- var selectStation = listBox_Station.SelectedItem as Stations;
- if (selectStation != null)
- {
- textBox_Station.Text = selectStation.nameStation;
- checkBox_overheadTransition.IsChecked = selectStation.overheadTransition;
- textBox_Location.Text = selectStation.location;
- comboBox_TypeStation.SelectedItem = (from type in entities.TypeStation
- where type.typeStationID == selectStation.typeStationID
- select type).Single<TypeStation>();
- }
- else
- {
- textBox_Station.Text = "";
- checkBox_overheadTransition.IsChecked = false;
- textBox_Location.Text = "";
- comboBox_TypeStation.SelectedIndex = -1;
- }
- }
- /* Нажатие по кнопке "Добавить/изменить станцию" */
- private void button_AddRecord_Station_Click(object sender, RoutedEventArgs e)
- {
- var station = listBox_Station.SelectedItem as Stations;
- if (textBox_Station.Text == "" ||
- comboBox_TypeStation.SelectedIndex == -1 ||
- textBox_Location.Text == "")
- MessageBox.Show("Заполните все поля!", "Ошибка!", MessageBoxButton.OK,
- MessageBoxImage.Error);
- else
- {
- if (station == null)
- {
- station = new Stations();
- entities.Stations.Add(station); // добавляем запись в БД
- listBox_Station.Items.Add(station); // добавляем запись в ListBox
- }
- station.nameStation = textBox_Station.Text;
- station.overheadTransition = (bool)checkBox_overheadTransition.IsChecked;
- station.location = textBox_Location.Text;
- station.typeStationID = (comboBox_TypeStation.SelectedItem as TypeStation).typeStationID;
- entities.SaveChanges();
- listBox_Station.Items.Refresh();
- MessageBox.Show("Успешное сохранение/добавление записи!", "Оповещение",
- MessageBoxButton.OK, MessageBoxImage.Information);
- }
- }
-
- /* Удаление записи "Станции" */
- private void button_DeleteRecord_Station_Click(object sender, RoutedEventArgs e)
- {
- var rezult = MessageBox.Show("Вы уверены, что хотите удалить запись?", "Удаление",
- MessageBoxButton.YesNo, MessageBoxImage.Question);
- if (rezult == MessageBoxResult.No)
- return;
- var delete_station = listBox_Station.SelectedItem as Stations;
- if (delete_station != null)
- {
- listBox_Station.Items.Remove(delete_station);
- checkBox_overheadTransition.IsChecked = false;
- textBox_Station.Clear();
- textBox_Location.Clear();
- entities.Stations.Remove(delete_station);
- entities.SaveChanges();
- }
- else
- MessageBox.Show("Нет удаляемых объектов!", "Ошибка", MessageBoxButton.OK,
- MessageBoxImage.Warning);
- }
- /* Очистка полей "Станции" */
- private void button_ClearStation_Click(object sender, RoutedEventArgs e)
- {
- textBox_Station.Text = "";
- checkBox_overheadTransition.IsChecked = false;
- comboBox_TypeStation.SelectedIndex = -1;
- listBox_Station.SelectedIndex = -1;
- textBox_Station.Focus();
- }
- /************************/
- /* ОБЪЕКТ "ТИП СТАНЦИИ" */
- /************************/
- /* Отображение информации в поля "Тип станции" */
- private void listBox_TypeStation_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- var selectTypeStation = listBox_TypeStation.SelectedItem as TypeStation;
- if (selectTypeStation != null)
- {
- textBox_TypeStation.Text = selectTypeStation.nameTypeStation;
- checkBox_passagerService.IsChecked = selectTypeStation.passagerService;
- }
- else
- {
- textBox_TypeStation.Text = "";
- checkBox_passagerService.IsChecked = false;
- }
- }
- /* Добавление/сохранение записи в "Типе станции" */
- private void button_AddRecord_TypeStation_Click(object sender, RoutedEventArgs e)
- {
- var typeStation = listBox_TypeStation.SelectedItem as TypeStation;
- if (textBox_TypeStation.Text == "")
- MessageBox.Show("Напишите название!", "Ошибка!", MessageBoxButton.OK,
- MessageBoxImage.Error);
- else
- {
- if (typeStation == null)
- {
- typeStation = new TypeStation();
- entities.TypeStation.Add(typeStation); // добавляем запись в БД
- listBox_TypeStation.Items.Add(typeStation); // добавляем запись в ListBox
- }
- typeStation.nameTypeStation = textBox_TypeStation.Text;
- typeStation.passagerService = (bool)checkBox_passagerService.IsChecked;
- entities.SaveChanges();
- listBox_TypeStation.Items.Refresh();
- MessageBox.Show("Успешное сохранение/добавление записи!", "Оповещение",
- MessageBoxButton.OK, MessageBoxImage.Information);
- MessageBox.Show("Для приминения изменений необходимо перезапустить ИС",
- "Оповещение", MessageBoxButton.OK, MessageBoxImage.Information);
- Authorization showAuthorization = new Authorization();
- showAuthorization.Show();
- this.Close();
- }
- }
- /* Удаление записи "Тип станции" */
- private void button_DeleteRecord_TypeStation_Click(object sender, RoutedEventArgs e)
- {
- var delete_typeStation = listBox_TypeStation.SelectedItem as TypeStation;
- try
- {
- // Проверка на наличие записи с дочерней таблице //
- var exist_ = (from structure in entities.Stations
- where structure.typeStationID == delete_typeStation.typeStationID
- select structure).First();
- // Если запись найдена, то: //
- MessageBox.Show("Запись удалить нельзя!\nСуществуют станции данного типа",
- "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- catch
- {
- var rezult = MessageBox.Show("Вы уверены, что хотите удалить запись?", "Удаление",
- MessageBoxButton.YesNo, MessageBoxImage.Question);
- if (rezult == MessageBoxResult.No)
- return;
- if (delete_typeStation != null)
- {
- listBox_TypeStation.Items.Remove(delete_typeStation);
- checkBox_passagerService.IsChecked = false;
- textBox_TypeStation.Clear();
- entities.TypeStation.Remove(delete_typeStation);
- entities.SaveChanges();
- MessageBox.Show("Для приминения изменений необходимо перезапустить ИС",
- "Оповещение", MessageBoxButton.OK, MessageBoxImage.Information);
- Authorization showAuthorization = new Authorization();
- showAuthorization.Show();
- this.Close();
- }
- else
- MessageBox.Show("Нет удаляемых объектов!", "Ошибка", MessageBoxButton.OK,
- MessageBoxImage.Warning);
- }
- }
- /* Очистка полей "Тип станции" */
- private void button_ClearTypeStation_Click(object sender, RoutedEventArgs e)
- {
- listBox_TypeStation.SelectedIndex = -1;
- textBox_TypeStation.Text = "";
- checkBox_passagerService.IsChecked = false;
- textBox_TypeStation.Focus();
- }
- /*******************/
- /* ОБЪЕКТ "ДОРОГА" */
- /*******************/
-
- /* Отображение данных в поля "Дороги" */
- private void listBox_Road_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- var selectRoad = listBox_Road.SelectedItem as Roads;
- if (selectRoad != null)
- {
- textBox_NameRoad.Text = selectRoad.nameRoad;
- textBox_TypeRoad.Text = selectRoad.typeRoad;
- textBox_CategoryQuality.Text = selectRoad.categoryQuality;
- }
- else
- {
- textBox_TypeStation.Text = "";
- textBox_TypeRoad.Text = "";
- textBox_CategoryQuality.Text = "";
- }
- }
- /* Добавление/сохранение записи в "Дорогу" */
- private void button_AddRecord_Road_Click(object sender, RoutedEventArgs e)
- {
- var Road = listBox_Road.SelectedItem as Roads;
- if (textBox_NameRoad.Text == "" ||
- textBox_CategoryQuality.Text == "" ||
- textBox_TypeRoad.Text == "")
- MessageBox.Show("Заполните все поля!", "Ошибка!", MessageBoxButton.OK,
- MessageBoxImage.Error);
- else
- {
- if (Road == null)
- {
- Road = new Roads();
- entities.Roads.Add(Road); // добавляем запись в БД
- listBox_Road.Items.Add(Road); // добавляем запись в ListBox
- }
- Road.nameRoad = textBox_NameRoad.Text;
- Road.categoryQuality = textBox_CategoryQuality.Text;
- Road.typeRoad = textBox_TypeRoad.Text;
- entities.SaveChanges();
- listBox_Road.Items.Refresh();
- MessageBox.Show("Успешное сохранение/добавление записи!", "Оповещение",
- MessageBoxButton.OK, MessageBoxImage.Information);
- }
- }
- /* Удаление записи в "Дороге" */
- private void button_DeleteRecord_Road_Click(object sender, RoutedEventArgs e)
- {
- var rezult = MessageBox.Show("Вы уверены, что хотите удалить запись?", "Удаление",
- MessageBoxButton.YesNo, MessageBoxImage.Question);
- if (rezult == MessageBoxResult.No)
- return;
- var delete_road = listBox_Road.SelectedItem as Roads;
- if (delete_road != null)
- {
- textBox_Station.Clear();
- textBox_TypeRoad.Clear();
- textBox_CategoryQuality.Clear();
- listBox_Road.Items.Remove(delete_road);
- entities.Roads.Remove(delete_road);
- entities.SaveChanges();
- }
- else
- MessageBox.Show("Нет удаляемых объектов!", "Ошибка", MessageBoxButton.OK,
- MessageBoxImage.Warning);
- }
- /* Очистка полей "Дороги" */
- private void button_ClearRoad_Click(object sender, RoutedEventArgs e)
- {
- textBox_NameRoad.Text = "";
- textBox_TypeRoad.Text = "";
- textBox_CategoryQuality.Text = "";
- listBox_Road.SelectedIndex = -1;
- textBox_NameRoad.Focus();
- }
- /* Кнопка поиска на вкладке "Станции" */
- private void buttonSearch_Stations_Click(object sender, RoutedEventArgs e)
- {
- if (textBox_Search_Stations.Text == "")
- return;
- else
- for (int i = listBox_Station.Items.Count - 1; i >= 0; i--)
- {
- if (listBox_Station.Items[i].ToString().ToLower().Contains(textBox_Search_Stations.Text.ToLower()))
- listBox_Station.SelectedIndex = i;
- }
- }
- /* Кнопка поиска на вкладке "Тип станции" */
- private void buttonSearch_TypeStation_Click(object sender, RoutedEventArgs e)
- {
- if (textBox_Search_TypeStations.Text == "")
- return;
- else
- for (int i = listBox_TypeStation.Items.Count - 1; i >= 0; i--)
- {
- if (listBox_TypeStation.Items[i].ToString().ToLower().Contains(textBox_Search_TypeStations.Text.ToLower()))
- listBox_TypeStation.SelectedIndex = i;
- }
- }
- /* Кнопка поиска на вкладке "Дорога" */
- private void buttonSearch_Road_Click(object sender, RoutedEventArgs e)
- {
- if (textBox_Search_Road.Text == "")
- return;
- else
- for (int i = listBox_Road.Items.Count - 1; i >= 0; i--)
- {
- if (listBox_Road.Items[i].ToString().ToLower().Contains(textBox_Search_Road.Text.ToLower()))
- listBox_Road.SelectedIndex = i;
- }
- }
- /* Закрытие окна и возврат к авторизации */
- private void Button_Click(object sender, RoutedEventArgs e)
- {
- Authorization showAuthorization = new Authorization();
- showAuthorization.Show();
- this.Close();
- }
- /* Открытие окна DataGrid */
- private void button_OpenDisplayData_Click(object sender, RoutedEventArgs e)
- {
- DataGrid_Station showDataGrid_Station = new DataGrid_Station();
- showDataGrid_Station.Show();
- }
- }
- }
|