Osnova.xaml.cs 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Shapes;
  14. using System.Windows.Threading;
  15. using System.Data;
  16. using System.Data.SqlClient;
  17. namespace Inventory
  18. {
  19. /// <summary>
  20. /// Логика взаимодействия для SystemAdminWindow.xaml
  21. /// </summary>
  22. public partial class SystemAdminWindow : Window
  23. {
  24. public SystemAdminWindow()
  25. {
  26. InitializeComponent();
  27. }
  28. SqlConnection con = new SqlConnection("Data Source=localhost;Initial Catalog=Inventory;Integrated Security=True");
  29. public void time()
  30. {
  31. DispatcherTimer timer = new DispatcherTimer();
  32. timer.Tick += new EventHandler(Update_Timer_Tick);
  33. timer.Interval = new TimeSpan(0, 0, 1);
  34. timer.Start();
  35. }
  36. void privet()
  37. {
  38. string[] randoms = new string[5];
  39. randoms[0] = "Привет!";
  40. randoms[1] = "Как дела?";
  41. randoms[2] = "Давно не виделись!";
  42. randoms[3] = "Здравствуй!";
  43. randoms[4] = "Добро пожаловать!";
  44. Random r = new Random();
  45. string randsror = randoms[r.Next(0, randoms.Length - 1)];
  46. labelpriv.Content = randsror.ToString();
  47. }
  48. private void Update_Timer_Tick(object sender, EventArgs e)
  49. {
  50. timetxt.Text = DateTime.Now.ToString();
  51. }
  52. private void Button_Click(object sender, RoutedEventArgs e)
  53. {
  54. int index = int.Parse(((Button)e.Source).Uid);
  55. GridCursor.Margin = new Thickness(298, 120 + (50 * index), 0, 0);
  56. switch (index)
  57. {
  58. case 0:
  59. gridglav.Visibility = Visibility.Visible;
  60. gridoborot.Visibility = Visibility.Hidden;
  61. gridkabinet.Visibility = Visibility.Hidden;
  62. gridychet.Visibility = Visibility.Hidden;
  63. GridCursor.Margin = new Thickness(298, 120 + (50 * 0), 0, 0);
  64. privet();
  65. break;
  66. case 1:
  67. if (gridkabinet.Visibility == Visibility.Visible)
  68. {
  69. gridkabinet.Visibility = Visibility.Hidden;
  70. gridoborot.Visibility = Visibility.Hidden;
  71. gridglav.Visibility = Visibility.Visible;
  72. privet();
  73. GridCursor.Margin = new Thickness(298, 120 + (50 * 0), 0, 0);
  74. }
  75. else
  76. {
  77. gridkabinet.Visibility = Visibility.Visible;
  78. gridychet.Visibility = Visibility.Hidden;
  79. gridoborot.Visibility = Visibility.Hidden;
  80. gridglav.Visibility = Visibility.Hidden;
  81. }
  82. break;
  83. case 2:
  84. if (gridoborot.Visibility == Visibility.Visible)
  85. {
  86. gridoborot.Visibility = Visibility.Hidden;
  87. gridglav.Visibility = Visibility.Visible;
  88. privet();
  89. GridCursor.Margin = new Thickness(298, 120 + (50 * 0), 0, 0);
  90. }
  91. else
  92. {
  93. gridoborot.Visibility = Visibility.Visible;
  94. gridychet.Visibility = Visibility.Hidden;
  95. gridglav.Visibility = Visibility.Hidden;
  96. gridkabinet.Visibility = Visibility.Hidden;
  97. }
  98. break;
  99. case 3:
  100. if (gridychet.Visibility == Visibility.Visible)
  101. {
  102. gridychet.Visibility = Visibility.Hidden;
  103. gridoborot.Visibility = Visibility.Hidden;
  104. gridkabinet.Visibility = Visibility.Hidden;
  105. gridglav.Visibility = Visibility.Visible;
  106. privet();
  107. GridCursor.Margin = new Thickness(298, 120 + (50 * 0), 0, 0);
  108. }
  109. else
  110. {
  111. gridychet.Visibility = Visibility.Visible;
  112. gridoborot.Visibility = Visibility.Hidden;
  113. gridglav.Visibility = Visibility.Hidden;
  114. gridkabinet.Visibility = Visibility.Hidden;
  115. }
  116. break;
  117. }
  118. }
  119. private void Back(object sender, RoutedEventArgs e)
  120. {
  121. MainWindow mainWindow = new MainWindow();
  122. mainWindow.Show();
  123. this.Close();
  124. }
  125. private void Exit(object sender, RoutedEventArgs e)
  126. {
  127. Application.Current.Shutdown();
  128. }
  129. private void Minimized(object sender, RoutedEventArgs e)
  130. {
  131. this.WindowState = WindowState.Minimized;
  132. }
  133. private void Grid_MouseDown(object sender, MouseButtonEventArgs e)
  134. {
  135. try
  136. {
  137. DragMove();
  138. }
  139. catch
  140. {
  141. }
  142. }
  143. private void Window_Loaded(object sender, RoutedEventArgs e)
  144. {
  145. time();
  146. privet();
  147. showdatagridoborod();
  148. showdatagridkabinet();
  149. showdatagridrecord();
  150. fillcombocabinet();
  151. fillcombooboryd();
  152. }
  153. public void showdatagridoborod()
  154. {
  155. try
  156. {
  157. con.Open();
  158. string sql = "SELECT * FROM Equipment";
  159. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  160. DataTable data = new DataTable("Equipment");
  161. dataAdapter.Fill(data);
  162. dataoborod.ItemsSource = data.DefaultView;
  163. dataAdapter.Update(data);
  164. con.Close();
  165. dataoborod.Columns[1].Header = "Наименование оборудования";
  166. dataoborod.Columns[0].Visibility = Visibility.Collapsed;
  167. }
  168. catch (Exception ex)
  169. {
  170. MessageBox.Show("Ошибка с подключением к БД! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  171. }
  172. }
  173. public void addoborod()
  174. {
  175. if (oborydname.Text == "")
  176. {
  177. MessageBox.Show("Заполните поле наименования оборудования!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
  178. }
  179. else
  180. {
  181. try
  182. {
  183. con.Open();
  184. string sql = "INSERT INTO Equipment (EquipmentName) VALUES('" + oborydname.Text + "')";
  185. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  186. dataAdapter.SelectCommand.ExecuteNonQuery();
  187. con.Close();
  188. refreshoborod();
  189. fillcombooboryd();
  190. MessageBox.Show("Оборудование добавлено!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
  191. }
  192. catch (Exception ex)
  193. {
  194. con.Close();
  195. MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  196. }
  197. }
  198. }
  199. private void Addoborod(object sender, RoutedEventArgs e)
  200. {
  201. addoborod();
  202. }
  203. private void Updateoborod(object sender, RoutedEventArgs e)
  204. {
  205. if (idoborodtxt.Text == "")
  206. {
  207. MessageBox.Show("Поле не выбрано! Выберите нужное поле!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
  208. }
  209. else if (oborydname.Text == "")
  210. {
  211. MessageBox.Show("Заполните поле наименования оборудования!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
  212. }
  213. else
  214. {
  215. try
  216. {
  217. con.Open();
  218. string sql = "Update Equipment set EquipmentName ='" + oborydname.Text + "' WHERE ID_Equipment = '" + idoborodtxt.Text + "'";
  219. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  220. dataAdapter.SelectCommand.ExecuteNonQuery();
  221. con.Close();
  222. refreshoborod();
  223. fillcombooboryd();
  224. MessageBox.Show("Наименование оборудования обновлено!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
  225. }
  226. catch (Exception ex)
  227. {
  228. con.Close();
  229. MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  230. }
  231. }
  232. }
  233. private void Deleteoborod(object sender, RoutedEventArgs e)
  234. {
  235. if (idoborodtxt.Text == "")
  236. {
  237. MessageBox.Show("Поле не выбрано! Выберите нужное поле!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
  238. }
  239. else
  240. {
  241. try
  242. {
  243. con.Open();
  244. string sql = "DELETE FROM Equipment WHERE ID_Equipment = '" + idoborodtxt.Text + "'";
  245. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  246. dataAdapter.SelectCommand.ExecuteNonQuery();
  247. con.Close();
  248. refreshoborod();
  249. fillcombooboryd();
  250. MessageBox.Show("Оборудование удалено!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
  251. }
  252. catch (Exception ex)
  253. {
  254. con.Close();
  255. MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  256. }
  257. }
  258. }
  259. public void refreshoborod()
  260. {
  261. poiskoboryd.Text = "";
  262. oborydname.Text = "";
  263. idoborodtxt.Text = "";
  264. showdatagridoborod();
  265. }
  266. private void Refreshoborod(object sender, RoutedEventArgs e)
  267. {
  268. refreshoborod();
  269. }
  270. private void dataoborod_SelectionChanged(object sender, SelectionChangedEventArgs e)
  271. {
  272. try
  273. {
  274. DataGrid gd = (DataGrid)sender;
  275. DataRowView rowView = gd.SelectedItem as DataRowView;
  276. if (rowView != null)
  277. {
  278. idoborodtxt.Text = rowView["ID_Equipment"].ToString();
  279. oborydname.Text = rowView["EquipmentName"].ToString();
  280. }
  281. }
  282. catch (Exception ex)
  283. {
  284. MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  285. }
  286. }
  287. private void poiskoboryd_TextChanged(object sender, TextChangedEventArgs e)
  288. {
  289. if (poiskoboryd.Text == "")
  290. {
  291. try
  292. {
  293. con.Open();
  294. string sql = "SELECT * FROM Equipment";
  295. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  296. DataTable data = new DataTable("Equipment");
  297. dataAdapter.Fill(data);
  298. dataoborod.ItemsSource = data.DefaultView;
  299. dataAdapter.Update(data);
  300. con.Close();
  301. dataoborod.Columns[1].Header = "Наименование оборудования";
  302. dataoborod.Columns[0].Visibility = Visibility.Collapsed;
  303. }
  304. catch (Exception ex)
  305. {
  306. MessageBox.Show("Ошибка с подключением к БД! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  307. }
  308. }
  309. else if (sender is TextBox textBox)
  310. {
  311. try
  312. {
  313. textBox.Text = new string
  314. (textBox.Text.Where(ch => (ch >= 'А' && ch <= 'Я') || (ch >= 'а' && ch <= 'я') || (ch >= ' ')).ToArray());
  315. con.Open();
  316. string sql = "SELECT * FROM Equipment WHERE EquipmentName Like '"+poiskoboryd.Text+"%'";
  317. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  318. DataTable data = new DataTable("Equipment");
  319. dataAdapter.Fill(data);
  320. dataoborod.ItemsSource = data.DefaultView;
  321. dataAdapter.Update(data);
  322. con.Close();
  323. dataoborod.Columns[1].Header = "Наименование оборудования";
  324. dataoborod.Columns[0].Visibility = Visibility.Collapsed;
  325. }
  326. catch (Exception ex)
  327. {
  328. MessageBox.Show("Ошибка с подключением к БД! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  329. }
  330. }
  331. }
  332. private void Rus_TextChanged(object sender, TextChangedEventArgs e)
  333. {
  334. if (sender is TextBox textBox)
  335. {
  336. textBox.Text = new string
  337. (textBox.Text.Where(ch => (ch >= 'А' && ch <= 'Я') || (ch >= 'а' && ch <= 'я') || (ch >= ' ' && ch <= ' ') || (ch >= '0' && ch <= '9') || (ch >= '№' && ch <= '№')).ToArray());
  338. }
  339. }
  340. private void oborydname_KeyDown(object sender, KeyEventArgs e)
  341. {
  342. if (e.Key == Key.Enter)
  343. {
  344. addoborod();
  345. }
  346. }
  347. public void showdatagridkabinet()
  348. {
  349. try
  350. {
  351. con.Open();
  352. string sql = "SELECT * FROM Cabinet";
  353. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  354. DataTable data = new DataTable("Cabinet");
  355. dataAdapter.Fill(data);
  356. datakabinet.ItemsSource = data.DefaultView;
  357. dataAdapter.Update(data);
  358. con.Close();
  359. datakabinet.Columns[1].Header = "Наименование кабинета";
  360. datakabinet.Columns[0].Visibility = Visibility.Collapsed;
  361. }
  362. catch (Exception ex)
  363. {
  364. MessageBox.Show("Ошибка с подключением к БД! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  365. }
  366. }
  367. public void addKabinet()
  368. {
  369. if (kabinetname.Text == "")
  370. {
  371. MessageBox.Show("Заполните поле наименования оборудования!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
  372. }
  373. else
  374. {
  375. try
  376. {
  377. con.Open();
  378. string sql = "INSERT INTO Cabinet (CabinetName) VALUES('" + kabinetname.Text + "')";
  379. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  380. dataAdapter.SelectCommand.ExecuteNonQuery();
  381. con.Close();
  382. refreskabinet();
  383. fillcombocabinet();
  384. MessageBox.Show("Кабинет добавлен!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
  385. }
  386. catch (Exception ex)
  387. {
  388. con.Close();
  389. MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  390. }
  391. }
  392. }
  393. private void poiskabinet_TextChanged(object sender, TextChangedEventArgs e)
  394. {
  395. if (poiskabinet.Text == "")
  396. {
  397. try
  398. {
  399. con.Open();
  400. string sql = "SELECT * FROM Cabinet";
  401. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  402. DataTable data = new DataTable("Cabinet");
  403. dataAdapter.Fill(data);
  404. datakabinet.ItemsSource = data.DefaultView;
  405. dataAdapter.Update(data);
  406. con.Close();
  407. datakabinet.Columns[1].Header = "Наименование кабинета";
  408. datakabinet.Columns[0].Visibility = Visibility.Collapsed;
  409. }
  410. catch (Exception ex)
  411. {
  412. MessageBox.Show("Ошибка с подключением к БД! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  413. }
  414. }
  415. else if (sender is TextBox textBox)
  416. {
  417. try
  418. {
  419. textBox.Text = new string
  420. (textBox.Text.Where(ch => (ch >= 'А' && ch <= 'Я') || (ch >= 'а' && ch <= 'я') || (ch >= ' ')).ToArray());
  421. con.Open();
  422. string sql = "SELECT * FROM Cabinet WHERE CabinetName Like '" + poiskabinet.Text + "%'";
  423. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  424. DataTable data = new DataTable("Cabinet");
  425. dataAdapter.Fill(data);
  426. datakabinet.ItemsSource = data.DefaultView;
  427. dataAdapter.Update(data);
  428. con.Close();
  429. datakabinet.Columns[1].Header = "Наименование кабинета";
  430. datakabinet.Columns[0].Visibility = Visibility.Collapsed;
  431. }
  432. catch (Exception ex)
  433. {
  434. MessageBox.Show("Ошибка с подключением к БД! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  435. }
  436. }
  437. }
  438. private void kabinetname_KeyDown(object sender, KeyEventArgs e)
  439. {
  440. if (e.Key == Key.Enter)
  441. {
  442. addKabinet();
  443. }
  444. }
  445. private void RefreshKabinet(object sender, RoutedEventArgs e)
  446. {
  447. refreskabinet();
  448. }
  449. public void refreskabinet()
  450. {
  451. poiskabinet.Text = "";
  452. kabinetname.Text = "";
  453. idkabinettxt.Text = "";
  454. showdatagridkabinet();
  455. }
  456. private void AddKabinet_Click(object sender, RoutedEventArgs e)
  457. {
  458. addKabinet();
  459. }
  460. private void UpdateKabinet_Click(object sender, RoutedEventArgs e)
  461. {
  462. if (idkabinettxt.Text == "")
  463. {
  464. MessageBox.Show("Поле не выбрано! Выберите нужное поле!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
  465. }
  466. else if (kabinetname.Text == "")
  467. {
  468. MessageBox.Show("Заполните поле наименования кабинета!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
  469. }
  470. else
  471. {
  472. try
  473. {
  474. con.Open();
  475. string sql = "Update Cabinet set CabinetName ='" + kabinetname.Text + "' WHERE ID_Cabinet = '" + idkabinettxt.Text + "'";
  476. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  477. dataAdapter.SelectCommand.ExecuteNonQuery();
  478. con.Close();
  479. refreskabinet();
  480. fillcombocabinet();
  481. MessageBox.Show("Наименование кабинета обновлено!", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
  482. }
  483. catch (Exception ex)
  484. {
  485. con.Close();
  486. MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  487. }
  488. }
  489. }
  490. private void DeleteKabinet_Click(object sender, RoutedEventArgs e)
  491. {
  492. if (idkabinettxt.Text == "")
  493. {
  494. MessageBox.Show("Поле не выбрано! Выберите нужное поле!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
  495. }
  496. else
  497. {
  498. try
  499. {
  500. con.Open();
  501. string sql = "DELETE FROM Cabinet WHERE ID_Cabinet = '" + idkabinettxt.Text + "'";
  502. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  503. dataAdapter.SelectCommand.ExecuteNonQuery();
  504. con.Close();
  505. refreskabinet();
  506. fillcombocabinet();
  507. MessageBox.Show("Кабинет удален!", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Information);
  508. }
  509. catch (Exception ex)
  510. {
  511. con.Close();
  512. MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  513. }
  514. }
  515. }
  516. private void datakabinet_SelectionChanged(object sender, SelectionChangedEventArgs e)
  517. {
  518. try
  519. {
  520. DataGrid gd = (DataGrid)sender;
  521. DataRowView rowView = gd.SelectedItem as DataRowView;
  522. if (rowView != null)
  523. {
  524. idkabinettxt.Text = rowView["ID_Cabinet"].ToString();
  525. kabinetname.Text = rowView["CabinetName"].ToString();
  526. }
  527. }
  528. catch (Exception ex)
  529. {
  530. MessageBox.Show("Возникла ошибка! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  531. }
  532. }
  533. public void fillcombocabinet()
  534. {
  535. try
  536. {
  537. combocabinet.Items.Clear();
  538. con.Open();
  539. SqlCommand sql = con.CreateCommand();
  540. sql.CommandType = CommandType.Text;
  541. sql.CommandText = "Select CabinetName from Cabinet";
  542. sql.ExecuteNonQuery();
  543. DataTable dt = new DataTable();
  544. SqlDataAdapter da = new SqlDataAdapter(sql);
  545. da.Fill(dt);
  546. foreach (DataRow dr in dt.Rows)
  547. {
  548. combocabinet.Items.Add(dr["CabinetName"].ToString());
  549. }
  550. con.Close();
  551. }
  552. catch (Exception ex)
  553. {
  554. con.Close();
  555. MessageBox.Show("Ошибка с подключением к БД! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  556. }
  557. }
  558. public void fillcombooboryd()
  559. {
  560. try
  561. {
  562. combooboryd.Items.Clear();
  563. con.Open();
  564. SqlCommand sql = con.CreateCommand();
  565. sql.CommandType = CommandType.Text;
  566. sql.CommandText = "Select EquipmentName from Equipment";
  567. sql.ExecuteNonQuery();
  568. DataTable dt = new DataTable();
  569. SqlDataAdapter da = new SqlDataAdapter(sql);
  570. da.Fill(dt);
  571. foreach (DataRow dr in dt.Rows)
  572. {
  573. combooboryd.Items.Add(dr["EquipmentName"].ToString());
  574. }
  575. con.Close();
  576. }
  577. catch (Exception ex)
  578. {
  579. con.Close();
  580. MessageBox.Show("Ошибка с подключением к БД! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  581. }
  582. }
  583. public void showdatagridrecord()
  584. {
  585. try
  586. {
  587. con.Open();
  588. string sql = "SELECT ID_Record,Cabinet.CabinetName,Equipment.EquipmentName,Record.Quantity FROM Record inner join Cabinet on Record.ID_Cabinet = Cabinet.ID_Cabinet inner join Equipment on Record.ID_Equipment = Equipment.ID_Equipment";
  589. SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
  590. DataTable data = new DataTable("Record");
  591. dataAdapter.Fill(data);
  592. dataychet.ItemsSource = data.DefaultView;
  593. dataAdapter.Update(data);
  594. con.Close();
  595. dataychet.Columns[1].Header = "Наименование кабинета";
  596. dataychet.Columns[2].Header = "Наименование оборудования";
  597. dataychet.Columns[3].Header = "Количество";
  598. dataychet.Columns[0].Visibility = Visibility.Collapsed;
  599. }
  600. catch (Exception ex)
  601. {
  602. MessageBox.Show("Ошибка с подключением к БД! " + ex.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
  603. }
  604. }
  605. }
  606. }