Nomenklatura_add.cs 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  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 Nomenklaturaadd : Form
  14. {
  15. public int razmer = 0;
  16. public static string[] add_nomenklatura = new string[1];
  17. DataBase dataBase = new DataBase();
  18. public Nomenklaturaadd()
  19. {
  20. InitializeComponent();
  21. }
  22. private void Nomenklatura_add_Load(object sender, EventArgs e)
  23. {
  24. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_supplier.Supplier". При необходимости она может быть перемещена или удалена.
  25. this.supplierTableAdapter.Fill(this.vINILDataSet_supplier.Supplier);
  26. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Edition.Edition". При необходимости она может быть перемещена или удалена.
  27. this.editionTableAdapter.Fill(this.vINILDataSet_Edition.Edition);
  28. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Country.Country". При необходимости она может быть перемещена или удалена.
  29. this.countryTableAdapter.Fill(this.vINILDataSet_Country.Country);
  30. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_performer.Performer". При необходимости она может быть перемещена или удалена.
  31. this.performerTableAdapter.Fill(this.vINILDataSet_performer.Performer);
  32. // TODO: данная строка кода позволяет загрузить данные в таблицу "vINILDataSet_Genre.Genre". При необходимости она может быть перемещена или удалена.
  33. this.genreTableAdapter.Fill(this.vINILDataSet_Genre.Genre);
  34. }
  35. public void global_FormClosed(object sender, EventArgs e)
  36. {
  37. Application.Exit();
  38. }
  39. private void button_back_Click_1(object sender, EventArgs e)
  40. {
  41. this.Hide();
  42. Nomenklatura nomenklatura = new Nomenklatura();
  43. nomenklatura.ShowDialog();
  44. }
  45. private void button_save_Click(object sender, EventArgs e)
  46. {
  47. string sqccommand_country = $"SELECT id_country From Country WHERE country = '{comboBox_country.Text}'";
  48. SqlDataAdapter sda_country = new SqlDataAdapter(sqccommand_country, dataBase.GetConnection());
  49. DataTable dtbl_country = new DataTable();
  50. sda_country.Fill(dtbl_country);
  51. if (dtbl_country.Rows.Count == 0) MessageBox.Show("Поле страна производство должно быть выбрано из списка");
  52. else
  53. {
  54. string sqccommand_edition = $"SELECT id_edition From Edition WHERE edition = '{comboBox_id_edition.Text}'";
  55. SqlDataAdapter sda_edition = new SqlDataAdapter(sqccommand_edition, dataBase.GetConnection());
  56. DataTable dtbl_edition = new DataTable();
  57. sda_edition.Fill(dtbl_edition);
  58. if (dtbl_edition.Rows.Count == 0) MessageBox.Show("Поле издательство должно быть выбрано из списка");
  59. else
  60. {
  61. string sqccommand_genre = $"SELECT id_genre From Genre WHERE genre = '{comboBox_id_genre.Text}'";
  62. SqlDataAdapter sda_genre = new SqlDataAdapter(sqccommand_genre, dataBase.GetConnection());
  63. DataTable dtbl_genre = new DataTable();
  64. sda_genre.Fill(dtbl_genre);
  65. if (dtbl_genre.Rows.Count == 0) MessageBox.Show("Поле жанр музыки должно быть выбрано из списка");
  66. else
  67. {
  68. string sqccommand_performer = $"SELECT id_performer From Performer WHERE performer = '{comboBox_id_performer.Text}'";
  69. SqlDataAdapter sda_performer = new SqlDataAdapter(sqccommand_performer, dataBase.GetConnection());
  70. DataTable dtbl_performer = new DataTable();
  71. sda_performer.Fill(dtbl_performer);
  72. if (dtbl_performer.Rows.Count == 0) MessageBox.Show("Поле исполнитель должно быть выбрано из списка");
  73. else
  74. {
  75. string sqccommand_supplier = $"SELECT id_supplier From Supplier WHERE name_organization = '{text_id_suplier.Text}'";
  76. SqlDataAdapter sda_supplier = new SqlDataAdapter(sqccommand_supplier, dataBase.GetConnection());
  77. DataTable dtbl_supplier = new DataTable();
  78. sda_supplier.Fill(dtbl_supplier);
  79. if (dtbl_supplier.Rows.Count == 0) MessageBox.Show("Поле поставщик должно быть выбрано из списка");
  80. else if (text_name.Text.Replace(" ", "") == "") MessageBox.Show("Поле название не может быть пустым");
  81. else if (text_description.Text.Replace(" ", "") == "") MessageBox.Show("Поле описание не может быть пустым");
  82. else if (text_price.Text.Replace(" ", "") == "") MessageBox.Show("Поле цена не может быть пустым");
  83. else if (textBox_year_publishing.Text.Replace(" ", "") == "") MessageBox.Show("Поле год издания не может быть пустым");
  84. else
  85. {
  86. dataBase.openConnection();
  87. var name = text_name.Text;
  88. var description = text_description.Text;
  89. var price = text_price.Text;
  90. var year_publishing = textBox_year_publishing.Text;
  91. string id_country;
  92. SqlCommand sqlCommand_country = new SqlCommand(sqccommand_country, dataBase.GetConnection());
  93. id_country = sqlCommand_country.ExecuteScalar().ToString();
  94. string id_edition;
  95. SqlCommand sqlCommand_edition = new SqlCommand(sqccommand_edition, dataBase.GetConnection());
  96. id_edition = sqlCommand_edition.ExecuteScalar().ToString();
  97. string id_genre;
  98. SqlCommand sqlCommand_genre = new SqlCommand(sqccommand_genre, dataBase.GetConnection());
  99. id_genre = sqlCommand_genre.ExecuteScalar().ToString();
  100. string id_performer;
  101. SqlCommand sqlCommand_performer = new SqlCommand(sqccommand_performer, dataBase.GetConnection());
  102. id_performer = sqlCommand_performer.ExecuteScalar().ToString();
  103. string id_supplier;
  104. SqlCommand sqlCommand_suplier = new SqlCommand(sqccommand_supplier, dataBase.GetConnection());
  105. id_supplier = sqlCommand_suplier.ExecuteScalar().ToString();
  106. var addQuery = $"insert into Products (product, description, price, year_publishing, id_country, id_edition, id_genre, id_performer, id_supplier) values ('{name}','{description}','{price}', '{year_publishing}','{id_country}', '{id_edition}', '{id_genre}', '{id_performer}', '{id_supplier}')";
  107. var command = new SqlCommand(addQuery, dataBase.GetConnection());
  108. command.ExecuteNonQuery();
  109. MessageBox.Show("Запись успешно добавлена в таблицу");
  110. add_nomenklatura[razmer] = text_name.Text;
  111. Array.Resize(ref add_nomenklatura, add_nomenklatura.Length + 1);
  112. razmer++;
  113. dataBase.closeConnection();
  114. }
  115. }
  116. }
  117. }
  118. }
  119. }
  120. private void text_price_KeyPress_1(object sender, KeyPressEventArgs e)
  121. {
  122. char number = e.KeyChar;
  123. if (!Char.IsDigit(number) && number != 8) // цифры и клавиша BackSpace
  124. {
  125. e.Handled = true;
  126. }
  127. }
  128. private void textBox_year_publishing_KeyPress(object sender, KeyPressEventArgs e)
  129. {
  130. char number = e.KeyChar;
  131. if (!Char.IsDigit(number) && number != 8) // цифры и клавиша BackSpace
  132. {
  133. e.Handled = true;
  134. }
  135. }
  136. }
  137. }