FormManager.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  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.IO;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. using Word = Microsoft.Office.Interop.Word;
  13. namespace СУБД_Швейная_фабрика
  14. {
  15. public partial class FormManager : Form
  16. {
  17. public FormManager()
  18. {
  19. InitializeComponent();
  20. }
  21. void FillListZakaz()
  22. {
  23. SqlConnection con = new SqlConnection(Properties.Settings.Default.dbFabrikaOAAConnectionString);
  24. con.Open();
  25. string TxtQuery =
  26. @"select Izdelie.name_izd as izd,
  27. Orders.CountIzd as countizd,
  28. Tkan.Title as tkan,
  29. Furnitura.namefur as fur,
  30. Orders.CountFur as countfur,
  31. Users.Surname as zakazchik
  32. from Orders, Users, Tkan, Furnitura, Izdelie
  33. where Users.id_User = Orders.id_zak
  34. and Tkan.id_Tkan = Orders.id_tkan
  35. and Furnitura.id_fur = Orders.id_fur
  36. and Izdelie.id_izd = Orders.id_izd
  37. and Orders.id_men = " + LblIdManager.Text;
  38. SqlCommand query1 = new SqlCommand(TxtQuery, con);
  39. SqlDataReader SqlRez = query1.ExecuteReader();
  40. DgvZakaz.Rows.Clear();
  41. while (SqlRez.Read())
  42. {
  43. DgvZakaz.Rows.Add(SqlRez["izd"], SqlRez["countizd"],
  44. SqlRez["tkan"], SqlRez["fur"], SqlRez["countfur"],
  45. SqlRez["zakazchik"]);
  46. }
  47. con.Close();
  48. }
  49. public struct Tkani
  50. {
  51. public string IdTkan, NameTkan, ColorTkan, Width, Length, Description;
  52. public Image PhotoTkan;
  53. }
  54. List<Tkani> LstTkani = new List<Tkani>();
  55. void GetTkaniFromDB()
  56. {
  57. SqlConnection con = new SqlConnection(Properties.Settings.Default.dbFabrikaOAAConnectionString);
  58. con.Open();
  59. SqlCommand Query = new SqlCommand("select * from Tkan where Length > 0", con);
  60. SqlDataReader Data = Query.ExecuteReader();
  61. while (Data.Read())
  62. {
  63. Tkani Tk = new Tkani();
  64. Tk.IdTkan = Data["id_Tkan"].ToString();
  65. Tk.NameTkan = Data["Title"].ToString();
  66. Tk.ColorTkan = Data["id_color"].ToString();
  67. Tk.Width = Data["Width"].ToString();
  68. Tk.Length = Data["Length"].ToString();
  69. Tk.Description = Data["Comment"].ToString();
  70. try
  71. {
  72. byte[] PhotoByte = (byte[])Data["NamePhoto"];
  73. ImageConverter ImConverter = new ImageConverter();
  74. Tk.PhotoTkan = (Bitmap)ImConverter.ConvertFrom(PhotoByte);
  75. }
  76. catch
  77. {
  78. Tk.PhotoTkan = Properties.Resources.fabric_logo;
  79. }
  80. LstTkani.Add(Tk);
  81. }
  82. con.Close();
  83. }
  84. void FillLVTkani()
  85. {
  86. LVTkani.Items.Clear();
  87. ImageListTkani.Images.Clear();
  88. foreach (Tkani Tk in LstTkani)
  89. {
  90. ListViewItem LV = new ListViewItem(Tk.NameTkan);
  91. ImageListTkani.Images.Add(Tk.PhotoTkan);
  92. LV.ImageIndex = ImageListTkani.Images.Count - 1;
  93. LVTkani.Items.Add(LV);
  94. }
  95. }
  96. public struct Furnitura
  97. {
  98. public string IdFur, NameFur, CountFur;
  99. public Image PhotoFur;
  100. }
  101. List<Furnitura> LstFurnitura = new List<Furnitura>();
  102. void GetFurnituraFromDB()
  103. {
  104. SqlConnection con = new SqlConnection(Properties.Settings.Default.dbFabrikaOAAConnectionString);
  105. con.Open();
  106. SqlCommand Query = new SqlCommand("select * from Furnitura where countfur > 0", con);
  107. SqlDataReader Data = Query.ExecuteReader();
  108. while (Data.Read())
  109. {
  110. Furnitura Fr = new Furnitura();
  111. Fr.IdFur = Data["id_fur"].ToString();
  112. Fr.NameFur = Data["namefur"].ToString();
  113. Fr.CountFur = Data["countfur"].ToString();
  114. try
  115. {
  116. byte[] PhotoByte = (byte[])Data["photo"];
  117. ImageConverter ImConverter = new ImageConverter();
  118. Fr.PhotoFur = (Bitmap)ImConverter.ConvertFrom(PhotoByte);
  119. }
  120. catch
  121. {
  122. Fr.PhotoFur = Properties.Resources.fabric_logo;
  123. }
  124. LstFurnitura.Add(Fr);
  125. }
  126. con.Close();
  127. }
  128. void FillLVFurnitura()
  129. {
  130. LVFurnitura.Items.Clear();
  131. ImageListFur.Images.Clear();
  132. foreach (Furnitura Fr in LstFurnitura)
  133. {
  134. ListViewItem LV = new ListViewItem(Fr.NameFur);
  135. ImageListFur.Images.Add(Fr.PhotoFur);
  136. LV.ImageIndex = ImageListFur.Images.Count - 1;
  137. LVFurnitura.Items.Add(LV);
  138. }
  139. }
  140. private void FormManager_Load(object sender, EventArgs e)
  141. {
  142. // TODO: This line of code loads data into the 'db_22factoryDataSet1.Izdelie' table. You can move, or remove it, as needed.
  143. this.izdelieTableAdapter.Fill(this.pracFabricaDataSet.Izdelie);
  144. // TODO: This line of code loads data into the 'db_22factoryDataSet1.Users' table. You can move, or remove it, as needed.
  145. this.usersTableAdapter.Fill(this.pracFabricaDataSet.Users);
  146. FillListZakaz();
  147. GetTkaniFromDB();
  148. FillLVTkani();
  149. GetFurnituraFromDB();
  150. FillLVFurnitura();
  151. }
  152. private void BtnProfile_Click(object sender, EventArgs e)
  153. {
  154. FormProfile frm = new FormProfile();
  155. frm.BsUsers.Filter = this.BsUsers.Filter;
  156. if (frm.ShowDialog() == DialogResult.OK)
  157. {
  158. this.usersTableAdapter.Fill(this.pracFabricaDataSet.Users);
  159. }
  160. }
  161. private void BtnAdd_Click(object sender, EventArgs e)
  162. {
  163. BsIzdeliya.AddNew();
  164. BtnSave.Enabled = true;
  165. BtnAdd.Enabled = false;
  166. BtnEdit.Enabled = false;
  167. DgvIzd.Enabled = false;
  168. TbxNameIzd.Enabled = true;
  169. TbxLengthIzd.Enabled = true;
  170. TbxWidthIzd.Enabled = true;
  171. }
  172. private void BtnEdit_Click(object sender, EventArgs e)
  173. {
  174. BtnSave.Enabled = true;
  175. BtnAdd.Enabled = false;
  176. BtnEdit.Enabled = false;
  177. DgvIzd.Enabled = false;
  178. TbxNameIzd.Enabled = true;
  179. TbxLengthIzd.Enabled = true;
  180. TbxWidthIzd.Enabled = true;
  181. }
  182. private void BtnSave_Click(object sender, EventArgs e)
  183. {
  184. BsIzdeliya.EndEdit();
  185. this.izdelieTableAdapter.Update(this.pracFabricaDataSet.Izdelie);
  186. BtnSave.Enabled = false;
  187. BtnAdd.Enabled = true;
  188. BtnEdit.Enabled = true;
  189. DgvIzd.Enabled = true;
  190. TbxNameIzd.Enabled = false;
  191. TbxLengthIzd.Enabled = false;
  192. TbxWidthIzd.Enabled = false;
  193. }
  194. private void LVTkani_SelectedIndexChanged(object sender, EventArgs e)
  195. {
  196. if (LVTkani.SelectedItems.Count > 0)
  197. {
  198. int num = LVTkani.SelectedIndices[0];
  199. NametkanTextBox.Text = LstTkani[num].NameTkan;
  200. ColorTextBox.Text = LstTkani[num].ColorTkan;
  201. WidthTextBox.Text = LstTkani[num].Width;
  202. LengthTextBox.Text = LstTkani[num].Length;
  203. DescriptionTextBox.Text = LstTkani[num].Description;
  204. }
  205. else
  206. {
  207. NametkanTextBox.Text = "";
  208. ColorTextBox.Text = "";
  209. WidthTextBox.Text = "";
  210. LengthTextBox.Text = "";
  211. DescriptionTextBox.Text = "";
  212. }
  213. }
  214. private void LVFurnitura_SelectedIndexChanged(object sender, EventArgs e)
  215. {
  216. if (LVFurnitura.SelectedItems.Count > 0)
  217. {
  218. int num = LVFurnitura.SelectedIndices[0];
  219. TbxNameFur.Text = LstFurnitura[num].NameFur;
  220. TbxCountFurSklad.Text = LstFurnitura[num].CountFur;
  221. }
  222. else
  223. {
  224. TbxNameFur.Text = "";
  225. TbxCountFurSklad.Text = "";
  226. }
  227. }
  228. private void BtnAll_Click(object sender, EventArgs e)
  229. {
  230. if (RbtWord.Checked)
  231. {
  232. Word.Application app = new Word.Application();
  233. app.Visible = true;
  234. Word.Document doc = app.Documents.Open(Application.StartupPath + "\\Заказы.docx", null, true);
  235. Word.Bookmarks WBmark = doc.Bookmarks;
  236. WBmark["man"].Range.Text = FamLabel.Text + " " + NameLabel.Text + " " + OtchLabel.Text;
  237. string num = "", izd = "", countizd = "", tkan = "",
  238. fur = "", countfur = "", zakazchik = "";
  239. for (int i = 0; i <= DgvZakaz.RowCount - 1; i++)
  240. {
  241. num += (i + 1).ToString() + "." + "\r\n";
  242. izd += DgvZakaz.Rows[i].Cells[0].Value + "\r\n";
  243. countizd += DgvZakaz.Rows[i].Cells[1].Value + "\r\n";
  244. tkan += DgvZakaz.Rows[i].Cells[2].Value + "\r\n";
  245. fur += DgvZakaz.Rows[i].Cells[3].Value + "\r\n";
  246. countfur += DgvZakaz.Rows[i].Cells[4].Value + "\r\n";
  247. zakazchik += DgvZakaz.Rows[i].Cells[5].Value + "\r\n";
  248. }
  249. WBmark["num"].Range.Text = num.Trim();
  250. WBmark["izd"].Range.Text = izd.Trim();
  251. WBmark["countizd"].Range.Text = countizd.Trim();
  252. WBmark["tkan"].Range.Text = tkan.Trim();
  253. WBmark["fur"].Range.Text = fur.Trim();
  254. WBmark["countfur"].Range.Text = countfur.Trim();
  255. WBmark["zak"].Range.Text = zakazchik.Trim();
  256. }
  257. else
  258. {
  259. if (saveFileDialog1.ShowDialog() == DialogResult.OK)
  260. {
  261. StreamWriter f = new StreamWriter(saveFileDialog1.FileName);
  262. string t = "izd;countizd;tkan;furnitura;countfur;zakazchik";
  263. f.WriteLine(t);
  264. for (int i = 0; i <= DgvZakaz.RowCount - 1; i++)
  265. {
  266. t = "";
  267. t += DgvZakaz.Rows[i].Cells[0].Value + ";";
  268. t += DgvZakaz.Rows[i].Cells[1].Value + ";";
  269. t += DgvZakaz.Rows[i].Cells[2].Value + ";";
  270. t += DgvZakaz.Rows[i].Cells[3].Value + ";";
  271. t += DgvZakaz.Rows[i].Cells[4].Value + ";";
  272. t += DgvZakaz.Rows[i].Cells[5].Value;
  273. f.WriteLine(t);
  274. }
  275. f.Close();
  276. }
  277. }
  278. }
  279. private void BtnSelect_Click(object sender, EventArgs e)
  280. {
  281. if (RbtWord.Checked)
  282. {
  283. Word.Application app = new Word.Application();
  284. app.Visible = true;
  285. Word.Document doc = app.Documents.Open(Application.StartupPath + "\\Заказы.docx", null, true);
  286. Word.Bookmarks WBmark = doc.Bookmarks;
  287. WBmark["man"].Range.Text = FamLabel.Text + " " + NameLabel.Text + " " + OtchLabel.Text;
  288. string num = "", izd = "", countizd = "", tkan = "",
  289. fur = "", countfur = "", zakazchik = "";
  290. for (int i = 0; i <= DgvZakaz.SelectedRows.Count - 1; i++)
  291. {
  292. num += (i + 1).ToString() + "." + "\r\n";
  293. izd += DgvZakaz.SelectedRows[i].Cells[0].Value + "\r\n";
  294. countizd += DgvZakaz.SelectedRows[i].Cells[1].Value + "\r\n";
  295. tkan += DgvZakaz.SelectedRows[i].Cells[2].Value + "\r\n";
  296. fur += DgvZakaz.SelectedRows[i].Cells[3].Value + "\r\n";
  297. countfur += DgvZakaz.SelectedRows[i].Cells[4].Value + "\r\n";
  298. zakazchik += DgvZakaz.SelectedRows[i].Cells[5].Value + "\r\n";
  299. }
  300. WBmark["num"].Range.Text = num.Trim();
  301. WBmark["izd"].Range.Text = izd.Trim();
  302. WBmark["countizd"].Range.Text = countizd.Trim();
  303. WBmark["tkan"].Range.Text = tkan.Trim();
  304. WBmark["fur"].Range.Text = fur.Trim();
  305. WBmark["countfur"].Range.Text = countfur.Trim();
  306. WBmark["zak"].Range.Text = zakazchik.Trim();
  307. }
  308. else
  309. {
  310. if (saveFileDialog1.ShowDialog() == DialogResult.OK)
  311. {
  312. StreamWriter f = new StreamWriter(saveFileDialog1.FileName);
  313. string t = "izd;countizd;tkan;furnitura;countfur;zakazchik";
  314. f.WriteLine(t);
  315. for (int i = 0; i <= DgvZakaz.SelectedRows.Count - 1; i++)
  316. {
  317. t = "";
  318. t += DgvZakaz.SelectedRows[i].Cells[0].Value + ";";
  319. t += DgvZakaz.SelectedRows[i].Cells[1].Value + ";";
  320. t += DgvZakaz.SelectedRows[i].Cells[2].Value + ";";
  321. t += DgvZakaz.SelectedRows[i].Cells[3].Value + ";";
  322. t += DgvZakaz.SelectedRows[i].Cells[4].Value + ";";
  323. t += DgvZakaz.SelectedRows[i].Cells[5].Value;
  324. f.WriteLine(t);
  325. }
  326. f.Close();
  327. }
  328. }
  329. }
  330. }
  331. }