fManager.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. namespace garment_factory
  12. {
  13. public partial class fManager : Form
  14. {
  15. public fManager()
  16. {
  17. InitializeComponent();
  18. }
  19. public string IdZakazchik = "";
  20. string IdTkan = "", IdFur = "";
  21. public struct Tkani
  22. {
  23. public string IdTkan, NameTkan, ColorTkan, Width, Length, Description;
  24. public Image PhotoTkan;
  25. }
  26. List<Tkani> LstTkani = new List<Tkani>();
  27. void GetTkaniFromDB()
  28. {
  29. SqlConnection con = new SqlConnection(Properties.Settings.Default.Fabrika2024ConnectionString);
  30. con.Open();
  31. SqlCommand Query = new SqlCommand("select * from Tkani t join Cveta c on t.id_cvet=c.id_cvet where Dlina > 0", con);
  32. SqlDataReader Data = Query.ExecuteReader();
  33. while (Data.Read())
  34. {
  35. Tkani Tk = new Tkani();
  36. Tk.IdTkan = Data["id_Tkani"].ToString();
  37. Tk.NameTkan = Data["Nazvanie"].ToString();
  38. Tk.ColorTkan = Data["Name_cvet"].ToString();
  39. Tk.Width = Data["Shirina"].ToString();
  40. Tk.Length = Data["Dlina"].ToString();
  41. Tk.Description = Data["Primechanie"].ToString();
  42. try
  43. {
  44. byte[] PhotoByte = (byte[])Data["Photo"];
  45. ImageConverter ImConverter = new ImageConverter();
  46. Tk.PhotoTkan = (Bitmap)ImConverter.ConvertFrom(PhotoByte);
  47. }
  48. catch
  49. {
  50. Tk.PhotoTkan = Properties.Resources.picture;
  51. }
  52. LstTkani.Add(Tk);
  53. }
  54. con.Close();
  55. }
  56. void FillLVTkani()
  57. {
  58. LVTkani.Items.Clear();
  59. ImageListTkani.Images.Clear();
  60. foreach (Tkani Tk in LstTkani)
  61. {
  62. ListViewItem LV = new ListViewItem(Tk.NameTkan);
  63. ImageListTkani.Images.Add(Tk.PhotoTkan);
  64. LV.ImageIndex = ImageListTkani.Images.Count - 1;
  65. LVTkani.Items.Add(LV);
  66. }
  67. }
  68. public struct Furnitura
  69. {
  70. public string IdFur, NameFur, CountFur;
  71. public Image PhotoFur;
  72. }
  73. List<Furnitura> LstFurnitura = new List<Furnitura>();
  74. void GetFurnituraFromDB()
  75. {
  76. SqlConnection con = new SqlConnection(Properties.Settings.Default.Fabrika2024ConnectionString);
  77. con.Open();
  78. SqlCommand Query = new SqlCommand("select * from Furnitura where countfur > 0", con);
  79. SqlDataReader Data = Query.ExecuteReader();
  80. while (Data.Read())
  81. {
  82. Furnitura Fr = new Furnitura();
  83. Fr.IdFur = Data["idfur"].ToString();
  84. Fr.NameFur = Data["namefur"].ToString();
  85. Fr.CountFur = Data["countfur"].ToString();
  86. try
  87. {
  88. byte[] PhotoByte = (byte[])Data["photo"];
  89. ImageConverter ImConverter = new ImageConverter();
  90. Fr.PhotoFur = (Bitmap)ImConverter.ConvertFrom(PhotoByte);
  91. }
  92. catch
  93. {
  94. Fr.PhotoFur = Properties.Resources.picture;
  95. }
  96. LstFurnitura.Add(Fr);
  97. }
  98. con.Close();
  99. }
  100. void FillLVFurnitura()
  101. {
  102. LVFurnitura.Items.Clear();
  103. ImageListFur.Images.Clear();
  104. foreach (Furnitura Fr in LstFurnitura)
  105. {
  106. ListViewItem LV = new ListViewItem(Fr.NameFur);
  107. ImageListFur.Images.Add(Fr.PhotoFur);
  108. LV.ImageIndex = ImageListFur.Images.Count - 1;
  109. LVFurnitura.Items.Add(LV);
  110. }
  111. }
  112. private void fManager_Load(object sender, EventArgs e)
  113. {
  114. // TODO: данная строка кода позволяет загрузить данные в таблицу "fabrika2024DataSet.Izdelie". При необходимости она может быть перемещена или удалена.
  115. this.izdelieTableAdapter.Fill(this.fabrika2024DataSet.Izdelie);
  116. // TODO: данная строка кода позволяет загрузить данные в таблицу "fabrika2024DataSet.Users". При необходимости она может быть перемещена или удалена.
  117. this.usersTableAdapter.Fill(this.fabrika2024DataSet.Users);
  118. string id = id_userLabel2.Text;
  119. SqlConnection con = new SqlConnection(Properties.Settings.Default.Fabrika2024ConnectionString);
  120. con.Open();
  121. string t1 = string.Format($@"select * from Users where id_user = {id}");
  122. SqlCommand query = new SqlCommand(t1, con);
  123. // выполнить запрос
  124. SqlDataReader rdr = query.ExecuteReader();
  125. while (rdr.Read())
  126. {
  127. FIO.Text = rdr["Surname"].ToString() + " " + rdr["Name"].ToString() + " " + rdr["Otch"].ToString();
  128. }
  129. con.Close();
  130. FillListZakaz();
  131. GetTkaniFromDB();
  132. FillLVTkani();
  133. GetFurnituraFromDB();
  134. FillLVFurnitura();
  135. }
  136. void FillListZakaz()
  137. {
  138. SqlConnection con = new SqlConnection(Properties.Settings.Default.Fabrika2024ConnectionString);
  139. DgvZakaz.Rows.Clear();
  140. string Query = $@"select Izdelie.name_izd,
  141. Orders.CountIzdel,
  142. Tkani.Nazvanie ,
  143. Furnitura.namefur ,
  144. Orders.CountFurnit ,
  145. Users.Surname
  146. from Orders, Users, Tkani, Furnitura, Izdelie
  147. where Users.id_User = Orders.id_zakaz
  148. and Tkani.Id_Tkani = Orders.id_tkani
  149. and Furnitura.idfur = Orders.id_furnitur
  150. and Izdelie.id_izdelie = Orders.id_izdelie
  151. and Orders.id_manager = " + id_userLabel2.Text;
  152. con.Open();
  153. SqlCommand cmd = new SqlCommand(Query, con);
  154. SqlDataReader Rez = cmd.ExecuteReader();
  155. if (DgvZakaz.Rows.Count > 0)
  156. {
  157. DgvZakaz.Rows.Clear();
  158. }
  159. while (Rez.Read())
  160. {
  161. DgvZakaz.Rows.Add(Rez["name_izd"], Rez["Nazvanie"], Rez["namefur"], Rez["CountFurnit"], Rez["CountIzdel"], Rez["Surname"]);
  162. }
  163. con.Close();
  164. }
  165. private void LVFurnitura_SelectedIndexChanged(object sender, EventArgs e)
  166. {
  167. if (LVFurnitura.SelectedItems.Count > 0) // есть выделенные элементы
  168. {
  169. int num = LVFurnitura.SelectedIndices[0]; // номер выделенного элемента
  170. TbxCountFurSklad.Text = LstFurnitura[num].CountFur;
  171. TbxNameFur.Text = LstFurnitura[num].NameFur;
  172. }
  173. else // нет выделенных элементов
  174. {
  175. TbxCountFurSklad.Text = "";
  176. TbxNameFur.Text = "";
  177. }
  178. }
  179. private void BtnProfile_Click(object sender, EventArgs e)
  180. {
  181. fProfil frm = new fProfil();
  182. frm.BsUsers.Filter = this.usersBindingSource.Filter;
  183. if (frm.ShowDialog() == DialogResult.OK)
  184. {
  185. this.usersTableAdapter.Fill(this.fabrika2024DataSet.Users);
  186. }
  187. }
  188. private void BtnAdd_Click(object sender, EventArgs e)
  189. {
  190. izdelieBindingSource.AddNew();
  191. BtnSave.Enabled = true;
  192. BtnAdd.Enabled = false;
  193. BtnEdit.Enabled = false;
  194. izdelka.Enabled = false;
  195. TbxNameIzd.Enabled = true;
  196. TbxLengthIzd.Enabled = true;
  197. TbxWidthIzd.Enabled = true;
  198. }
  199. private void BtnEdit_Click(object sender, EventArgs e)
  200. {
  201. BtnSave.Enabled = true;
  202. BtnAdd.Enabled = false;
  203. BtnEdit.Enabled = false;
  204. izdelka.Enabled = false;
  205. TbxNameIzd.Enabled = true;
  206. TbxLengthIzd.Enabled = true;
  207. TbxWidthIzd.Enabled = true;
  208. }
  209. private void BtnSave_Click(object sender, EventArgs e)
  210. {
  211. izdelieBindingSource.EndEdit();
  212. this.izdelieTableAdapter.Update(this.fabrika2024DataSet.Izdelie);
  213. BtnSave.Enabled = false;
  214. BtnAdd.Enabled = true;
  215. BtnEdit.Enabled = true;
  216. izdelka.Enabled = true;
  217. TbxNameIzd.Enabled = false;
  218. TbxLengthIzd.Enabled = false;
  219. TbxWidthIzd.Enabled = false;
  220. }
  221. private void BtnAll_Click(object sender, EventArgs e)
  222. {
  223. if (RbtWord.Checked)
  224. {
  225. MessageBox.Show("Заказ экспартирован");
  226. }
  227. else
  228. {
  229. MessageBox.Show("Заказ экспартирован");
  230. }
  231. }
  232. private void BtnSelect_Click(object sender, EventArgs e)
  233. {
  234. if (RbtWord.Checked)
  235. {
  236. MessageBox.Show("Заказ экспартирован");
  237. }
  238. else
  239. {
  240. MessageBox.Show("Заказ экспартирован");
  241. }
  242. }
  243. private void LVTkani_SelectedIndexChanged(object sender, EventArgs e)
  244. {
  245. if (LVTkani.SelectedItems.Count > 0) // есть выделенные элементы
  246. {
  247. int num = LVTkani.SelectedIndices[0]; // номер выделенного элемента
  248. NametkanTextBox.Text = LstTkani[num].NameTkan;
  249. ColorTextBox.Text = LstTkani[num].ColorTkan;
  250. WidthTextBox.Text = LstTkani[num].Width;
  251. LengthTextBox.Text = LstTkani[num].Length;
  252. DescriptionTextBox.Text = LstTkani[num].Description;
  253. }
  254. else // нет выделенных элементов
  255. {
  256. NametkanTextBox.Text = "";
  257. ColorTextBox.Text = "";
  258. WidthTextBox.Text = "";
  259. LengthTextBox.Text = "";
  260. DescriptionTextBox.Text = "";
  261. }
  262. }
  263. }
  264. }