using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace СУБД_Швейная_фабрика { public partial class FormKladovschik : Form { public FormKladovschik() { InitializeComponent(); } void FillListZakaz() { SqlConnection con = new SqlConnection(Properties.Settings.Default.dbFabrikaOAAConnectionString); con.Open(); string txtquery = @"select Izdelie.name_izd as izd, Orders.CountIzd as countizd, Tkan.Title as tkan, Furnitura.namefur as fur, Orders.CountFur as countfur, UsersMan.Surname as manager, UsersMan.Surname as zakazchik from Orders, Users as UsersMan, Users as UsersZak, Tkan, Furnitura, Izdelie where UsersMan.id_User = Orders.id_men and UsersZak.id_User = Orders.id_zak and Tkan.id_Tkan = Orders.id_tkan and Furnitura.id_fur = Orders.id_fur and Izdelie.id_izd = Orders.id_izd"; SqlCommand query1 = new SqlCommand(txtquery, con); SqlDataReader sqlrez = query1.ExecuteReader(); DgvZakaz.Rows.Clear(); while (sqlrez.Read()) { DgvZakaz.Rows.Add(sqlrez["izd"], sqlrez["countizd"], sqlrez["tkan"], sqlrez["fur"], sqlrez["countfur"], sqlrez["manager"], sqlrez["zakazchik"]); } con.Close(); } public struct Tkani { public string IdTkan, NameTkan, ColorTkan, Width, Length, Description; public Image PhotoTkan; } List LstTkani = new List(); void GetTkaniFromDB() { SqlConnection con = new SqlConnection(Properties.Settings.Default.dbFabrikaOAAConnectionString); con.Open(); SqlCommand Query = new SqlCommand("select * from Tkan where Length > 0", con); SqlDataReader Data = Query.ExecuteReader(); while (Data.Read()) { Tkani Tk = new Tkani(); Tk.IdTkan = Data["id_Tkan"].ToString(); Tk.NameTkan = Data["Title"].ToString(); Tk.ColorTkan = Data["id_color"].ToString(); Tk.Width = Data["Width"].ToString(); Tk.Length = Data["Length"].ToString(); Tk.Description = Data["Comment"].ToString(); try { byte[] PhotoByte = (byte[])Data["NamePhoto"]; ImageConverter ImConverter = new ImageConverter(); Tk.PhotoTkan = (Bitmap)ImConverter.ConvertFrom(PhotoByte); } catch { Tk.PhotoTkan = Properties.Resources.fabric_logo; } LstTkani.Add(Tk); } con.Close(); } void FillLVTkani() { LVTkani.Items.Clear(); ImageListTkani.Images.Clear(); foreach (Tkani Tk in LstTkani) { ListViewItem LV = new ListViewItem(Tk.NameTkan); ImageListTkani.Images.Add(Tk.PhotoTkan); LV.ImageIndex = ImageListTkani.Images.Count - 1; LVTkani.Items.Add(LV); } } public struct Furnitura { public string IdFur, NameFur, CountFur; public Image PhotoFur; } List LstFurnitura = new List(); void GetFurnituraFromDB() { SqlConnection con = new SqlConnection(Properties.Settings.Default.dbFabrikaOAAConnectionString); con.Open(); SqlCommand Query = new SqlCommand("select * from Furnitura where countfur > 0", con); SqlDataReader Data = Query.ExecuteReader(); while (Data.Read()) { Furnitura Fr = new Furnitura(); Fr.IdFur = Data["id_fur"].ToString(); Fr.NameFur = Data["namefur"].ToString(); Fr.CountFur = Data["countfur"].ToString(); try { byte[] PhotoByte = (byte[])Data["photo"]; ImageConverter ImConverter = new ImageConverter(); Fr.PhotoFur = (Bitmap)ImConverter.ConvertFrom(PhotoByte); } catch { Fr.PhotoFur = Properties.Resources.fabric_logo; } LstFurnitura.Add(Fr); } con.Close(); } void FillLVFurnitura() { LVFurnitura.Items.Clear(); ImageListFur.Images.Clear(); foreach (Furnitura Fr in LstFurnitura) { ListViewItem LV = new ListViewItem(Fr.NameFur); ImageListFur.Images.Add(Fr.PhotoFur); LV.ImageIndex = ImageListFur.Images.Count - 1; LVFurnitura.Items.Add(LV); } } private void FormKladovschik_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'db_22factoryDataSet1.Users' table. You can move, or remove it, as needed. this.usersTableAdapter.Fill(this.db_22factoryDataSet1.Users); FillListZakaz(); GetTkaniFromDB(); FillLVTkani(); GetFurnituraFromDB(); FillLVFurnitura(); } private void LVTkani_SelectedIndexChanged(object sender, EventArgs e) { if (LVTkani.SelectedItems.Count > 0) { int num = LVTkani.SelectedIndices[0]; NametkanTextBox.Text = LstTkani[num].NameTkan; ColorTextBox.Text = LstTkani[num].ColorTkan; WidthTextBox.Text = LstTkani[num].Width; LengthTextBox.Text = LstTkani[num].Length; DescriptionTextBox.Text = LstTkani[num].Description; } else { NametkanTextBox.Text = ""; ColorTextBox.Text = ""; WidthTextBox.Text = ""; LengthTextBox.Text = ""; DescriptionTextBox.Text = ""; } } private void LVFurnitura_SelectedIndexChanged(object sender, EventArgs e) { if (LVFurnitura.SelectedItems.Count > 0) { int num = LVFurnitura.SelectedIndices[0]; TbxNameFur.Text = LstFurnitura[num].NameFur; TbxCountFurSklad.Text = LstFurnitura[num].CountFur; } else { TbxNameFur.Text = ""; TbxCountFurSklad.Text = ""; } } private void BtnProfile_Click(object sender, EventArgs e) { FormProfile frm = new FormProfile(); frm.BsUsers.Filter = this.BsUsers.Filter; if (frm.ShowDialog() == DialogResult.OK) { this.usersTableAdapter.Fill(this.db_22factoryDataSet1.Users); } } private void BtnGetMaterial_Click(object sender, EventArgs e) { FormGetMaterial frm = new FormGetMaterial(); frm.ShowDialog(); GetTkaniFromDB(); FillLVTkani(); GetFurnituraFromDB(); FillLVFurnitura(); } private void BtnSpisMaterial_Click(object sender, EventArgs e) { FormSpisMaterial frm = new FormSpisMaterial(); frm.ShowDialog(); GetTkaniFromDB(); FillLVTkani(); GetFurnituraFromDB(); FillLVFurnitura(); } } }