Nomenklatura_update.cs 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Data.SqlClient;
  11. namespace proba
  12. {
  13. public partial class Nomenklaturaupdate : Form
  14. {
  15. string id_product;
  16. public int razmer = 0;
  17. public static string[] update_nomenklatura = new string[1];
  18. DataBase dataBase = new DataBase();
  19. public Nomenklaturaupdate(string id_product, string product, string description, string price, string year_publishing, string country, string edition, string genre, string performer, string supplier)
  20. {
  21. InitializeComponent();
  22. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Country.Country". При необходимости она может быть перемещена или удалена.
  23. this.countryTableAdapter.Fill(this.vINILDataSet_Country.Country);
  24. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Edition.Edition". При необходимости она может быть перемещена или удалена.
  25. this.editionTableAdapter.Fill(this.vINILDataSet_Edition.Edition);
  26. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Genre.Genre". При необходимости она может быть перемещена или удалена.
  27. this.genreTableAdapter.Fill(this.vINILDataSet_Genre.Genre);
  28. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_performer.Performer". При необходимости она может быть перемещена или удалена.
  29. this.performerTableAdapter.Fill(this.vINILDataSet_performer.Performer);
  30. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_supplier.Supplier". При необходимости она может быть перемещена или удалена.
  31. this.supplierTableAdapter.Fill(this.vINILDataSet_supplier.Supplier);
  32. dataBase.openConnection();
  33. text_name.Text = product;
  34. text_description.Text = description;
  35. text_price.Text = price;
  36. textBox_year_publishing.Text = year_publishing;
  37. comboBox_country.Text = country;
  38. comboBox_id_edition.Text = edition;
  39. comboBox_id_genre.Text = genre;
  40. comboBox_id_performer.Text = performer;
  41. comboBox_id_supplier.Text = supplier;
  42. this.id_product = id_product;
  43. dataBase.closeConnection();
  44. }
  45. public void global_FormClosed(object sender, EventArgs e)
  46. {
  47. Application.Exit();
  48. }
  49. private void button_back_Click(object sender, EventArgs e)
  50. {
  51. this.Hide();
  52. Nomenklatura nomenklatura = new Nomenklatura();
  53. nomenklatura.ShowDialog();
  54. }
  55. private void button_update_Click(object sender, EventArgs e)
  56. {
  57. string sqccommand_country = $"SELECT id_country From Country WHERE country = '{comboBox_country.Text}'";
  58. SqlDataAdapter sda_country = new SqlDataAdapter(sqccommand_country, dataBase.GetConnection());
  59. DataTable dtbl_country = new DataTable();
  60. sda_country.Fill(dtbl_country);
  61. if (dtbl_country.Rows.Count == 0) MessageBox.Show("Поле страна производство должно быть выбрано из списка");
  62. else
  63. {
  64. string sqccommand_edition = $"SELECT id_edition From Edition WHERE edition = '{comboBox_id_edition.Text}'";
  65. SqlDataAdapter sda_edition = new SqlDataAdapter(sqccommand_edition, dataBase.GetConnection());
  66. DataTable dtbl_edition = new DataTable();
  67. sda_edition.Fill(dtbl_edition);
  68. if (dtbl_edition.Rows.Count == 0) MessageBox.Show("Поле издательство должно быть выбрано из списка");
  69. else
  70. {
  71. string sqccommand_genre = $"SELECT id_genre From Genre WHERE genre = '{comboBox_id_genre.Text}'";
  72. SqlDataAdapter sda_genre = new SqlDataAdapter(sqccommand_genre, dataBase.GetConnection());
  73. DataTable dtbl_genre = new DataTable();
  74. sda_genre.Fill(dtbl_genre);
  75. if (dtbl_genre.Rows.Count == 0) MessageBox.Show("Поле жанр музыки должно быть выбрано из списка");
  76. else
  77. {
  78. string sqccommand_performer = $"SELECT id_performer From Performer WHERE performer = '{comboBox_id_performer.Text}'";
  79. SqlDataAdapter sda_performer = new SqlDataAdapter(sqccommand_performer, dataBase.GetConnection());
  80. DataTable dtbl_performer = new DataTable();
  81. sda_performer.Fill(dtbl_performer);
  82. if (dtbl_performer.Rows.Count == 0) MessageBox.Show("Поле исполнитель должно быть выбрано из списка");
  83. else
  84. {
  85. string sqccommand_supplier = $"SELECT id_supplier From Supplier WHERE name_organization = '{comboBox_id_supplier.Text}'";
  86. SqlDataAdapter sda_supplier = new SqlDataAdapter(sqccommand_supplier, dataBase.GetConnection());
  87. DataTable dtbl_supplier = new DataTable();
  88. sda_supplier.Fill(dtbl_supplier);
  89. if (dtbl_supplier.Rows.Count == 0) MessageBox.Show("Поле поставщик должно быть выбрано из списка");
  90. else if (text_name.Text.Replace(" ", "") == "") MessageBox.Show("Поле название не может быть пустым");
  91. else if (text_description.Text.Replace(" ", "") == "") MessageBox.Show("Поле описание не может быть пустым");
  92. else if (text_price.Text.Replace(" ", "") == "") MessageBox.Show("Поле цена не может быть пустым");
  93. else if (textBox_year_publishing.Text.Replace(" ", "") == "") MessageBox.Show("Поле год издания не может быть пустым");
  94. else
  95. {
  96. dataBase.openConnection();
  97. var name = text_name.Text;
  98. var description = text_description.Text;
  99. var price = text_price.Text;
  100. var year_publishing = textBox_year_publishing.Text;
  101. string id_country;
  102. SqlCommand sqlCommand_country = new SqlCommand(sqccommand_country, dataBase.GetConnection());
  103. id_country = sqlCommand_country.ExecuteScalar().ToString();
  104. string id_edition;
  105. SqlCommand sqlCommand_edition = new SqlCommand(sqccommand_edition, dataBase.GetConnection());
  106. id_edition = sqlCommand_edition.ExecuteScalar().ToString();
  107. string id_genre;
  108. SqlCommand sqlCommand_genre = new SqlCommand(sqccommand_genre, dataBase.GetConnection());
  109. id_genre = sqlCommand_genre.ExecuteScalar().ToString();
  110. string id_performer;
  111. SqlCommand sqlCommand_performer = new SqlCommand(sqccommand_performer, dataBase.GetConnection());
  112. id_performer = sqlCommand_performer.ExecuteScalar().ToString();
  113. string id_supplier;
  114. SqlCommand sqlCommand_suplier = new SqlCommand(sqccommand_supplier, dataBase.GetConnection());
  115. id_supplier = sqlCommand_suplier.ExecuteScalar().ToString();
  116. var addQuery = $"update Products set product = '{name}', description = '{description}', price = '{price}', year_publishing = '{year_publishing}', id_country = '{id_country}', id_edition = '{id_edition}', id_genre = '{id_genre}', id_performer = '{id_performer}', id_supplier = '{id_supplier}' where id_product = '{id_product}'";
  117. var command = new SqlCommand(addQuery, dataBase.GetConnection());
  118. command.ExecuteNonQuery();
  119. MessageBox.Show("Запись успешно изменена");
  120. update_nomenklatura[razmer] = text_name.Text;
  121. Array.Resize(ref update_nomenklatura, update_nomenklatura.Length + 1);
  122. razmer++;
  123. dataBase.closeConnection();
  124. this.Hide();
  125. Nomenklatura nomenklatura = new Nomenklatura();
  126. nomenklatura.ShowDialog();
  127. }
  128. }
  129. }
  130. }
  131. }
  132. }
  133. }
  134. }