using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Word = Microsoft.Office.Interop.Word; namespace СУБД_Швейная_фабрика { public partial class FormManager : Form { public FormManager() { 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, Users.Surname as zakazchik from Orders, Users, Tkan, Furnitura, Izdelie where Users.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 and Orders.id_men = " + LblIdManager.Text; 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["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 FormManager_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'db_22factoryDataSet1.Izdelie' table. You can move, or remove it, as needed. this.izdelieTableAdapter.Fill(this.db_22factoryDataSet1.Izdelie); // 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 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 BtnAdd_Click(object sender, EventArgs e) { BsIzdeliya.AddNew(); BtnSave.Enabled = true; BtnAdd.Enabled = false; BtnEdit.Enabled = false; DgvIzd.Enabled = false; TbxNameIzd.Enabled = true; TbxLengthIzd.Enabled = true; TbxWidthIzd.Enabled = true; } private void BtnEdit_Click(object sender, EventArgs e) { BtnSave.Enabled = true; BtnAdd.Enabled = false; BtnEdit.Enabled = false; DgvIzd.Enabled = false; TbxNameIzd.Enabled = true; TbxLengthIzd.Enabled = true; TbxWidthIzd.Enabled = true; } private void BtnSave_Click(object sender, EventArgs e) { BsIzdeliya.EndEdit(); this.izdelieTableAdapter.Update(this.db_22factoryDataSet1.Izdelie); BtnSave.Enabled = false; BtnAdd.Enabled = true; BtnEdit.Enabled = true; DgvIzd.Enabled = true; TbxNameIzd.Enabled = false; TbxLengthIzd.Enabled = false; TbxWidthIzd.Enabled = false; } 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 BtnAll_Click(object sender, EventArgs e) { if (RbtWord.Checked) { Word.Application app = new Word.Application(); app.Visible = true; Word.Document doc = app.Documents.Open(Application.StartupPath + "\\Заказы.docx", null, true); Word.Bookmarks WBmark = doc.Bookmarks; WBmark["man"].Range.Text = FamLabel.Text + " " + NameLabel.Text + " " + OtchLabel.Text; string num = "", izd = "", countizd = "", tkan = "", fur = "", countfur = "", zakazchik = ""; for (int i = 0; i <= DgvZakaz.RowCount - 1; i++) { num += (i + 1).ToString() + "." + "\r\n"; izd += DgvZakaz.Rows[i].Cells[0].Value + "\r\n"; countizd += DgvZakaz.Rows[i].Cells[1].Value + "\r\n"; tkan += DgvZakaz.Rows[i].Cells[2].Value + "\r\n"; fur += DgvZakaz.Rows[i].Cells[3].Value + "\r\n"; countfur += DgvZakaz.Rows[i].Cells[4].Value + "\r\n"; zakazchik += DgvZakaz.Rows[i].Cells[5].Value + "\r\n"; } WBmark["num"].Range.Text = num.Trim(); WBmark["izd"].Range.Text = izd.Trim(); WBmark["countizd"].Range.Text = countizd.Trim(); WBmark["tkan"].Range.Text = tkan.Trim(); WBmark["fur"].Range.Text = fur.Trim(); WBmark["countfur"].Range.Text = countfur.Trim(); WBmark["zak"].Range.Text = zakazchik.Trim(); } else { if (saveFileDialog1.ShowDialog() == DialogResult.OK) { StreamWriter f = new StreamWriter(saveFileDialog1.FileName); string t = "izd;countizd;tkan;furnitura;countfur;zakazchik"; f.WriteLine(t); for (int i = 0; i <= DgvZakaz.RowCount - 1; i++) { t = ""; t += DgvZakaz.Rows[i].Cells[0].Value + ";"; t += DgvZakaz.Rows[i].Cells[1].Value + ";"; t += DgvZakaz.Rows[i].Cells[2].Value + ";"; t += DgvZakaz.Rows[i].Cells[3].Value + ";"; t += DgvZakaz.Rows[i].Cells[4].Value + ";"; t += DgvZakaz.Rows[i].Cells[5].Value; f.WriteLine(t); } f.Close(); } } } private void BtnSelect_Click(object sender, EventArgs e) { if (RbtWord.Checked) { Word.Application app = new Word.Application(); app.Visible = true; Word.Document doc = app.Documents.Open(Application.StartupPath + "\\Заказы.docx", null, true); Word.Bookmarks WBmark = doc.Bookmarks; WBmark["man"].Range.Text = FamLabel.Text + " " + NameLabel.Text + " " + OtchLabel.Text; string num = "", izd = "", countizd = "", tkan = "", fur = "", countfur = "", zakazchik = ""; for (int i = 0; i <= DgvZakaz.SelectedRows.Count - 1; i++) { num += (i + 1).ToString() + "." + "\r\n"; izd += DgvZakaz.SelectedRows[i].Cells[0].Value + "\r\n"; countizd += DgvZakaz.SelectedRows[i].Cells[1].Value + "\r\n"; tkan += DgvZakaz.SelectedRows[i].Cells[2].Value + "\r\n"; fur += DgvZakaz.SelectedRows[i].Cells[3].Value + "\r\n"; countfur += DgvZakaz.SelectedRows[i].Cells[4].Value + "\r\n"; zakazchik += DgvZakaz.SelectedRows[i].Cells[5].Value + "\r\n"; } WBmark["num"].Range.Text = num.Trim(); WBmark["izd"].Range.Text = izd.Trim(); WBmark["countizd"].Range.Text = countizd.Trim(); WBmark["tkan"].Range.Text = tkan.Trim(); WBmark["fur"].Range.Text = fur.Trim(); WBmark["countfur"].Range.Text = countfur.Trim(); WBmark["zak"].Range.Text = zakazchik.Trim(); } else { if (saveFileDialog1.ShowDialog() == DialogResult.OK) { StreamWriter f = new StreamWriter(saveFileDialog1.FileName); string t = "izd;countizd;tkan;furnitura;countfur;zakazchik"; f.WriteLine(t); for (int i = 0; i <= DgvZakaz.SelectedRows.Count - 1; i++) { t = ""; t += DgvZakaz.SelectedRows[i].Cells[0].Value + ";"; t += DgvZakaz.SelectedRows[i].Cells[1].Value + ";"; t += DgvZakaz.SelectedRows[i].Cells[2].Value + ";"; t += DgvZakaz.SelectedRows[i].Cells[3].Value + ";"; t += DgvZakaz.SelectedRows[i].Cells[4].Value + ";"; t += DgvZakaz.SelectedRows[i].Cells[5].Value; f.WriteLine(t); } f.Close(); } } } } }