123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396 |
- 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();
- }
- /// <summary>
- /// Заполнение DataGridView с заказами текущего заказчика
- /// </summary>
- void FillListZakaz()
- {
- SqlConnection con = new SqlConnection(Properties.Settings.Default.fab2021ConnectionString);
- con.Open();
- string TxtQuery =
- @"select Izdeliya.nameizd as izd,
- Zakaz.countizd as countizd,
- Tkani.nametkan as tkan,
- Furnitura.namefur as fur,
- Zakaz.countfur as countfur,
- Users.fam as zakazchik
- from Zakaz, Users, Tkani, Furnitura, Izdeliya
- where Users.iduser = Zakaz.idzakazchik
- and Tkani.idtkan = Zakaz.idtkan
- and Furnitura.idfur = Zakaz.idfur
- and Izdeliya.idizd = Zakaz.idizd
- and Zakaz.idman = " + 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<Tkani> LstTkani = new List<Tkani>();
- /// <summary>
- /// получить из базы данных сведения о тканях
- /// </summary>
- void GetTkaniFromDB()
- {
- SqlConnection con = new SqlConnection(Properties.Settings.Default.fab2021ConnectionString);
- con.Open();
- SqlCommand Query = new SqlCommand("select * from Tkani where length > 0", con);
- SqlDataReader Data = Query.ExecuteReader();
- while (Data.Read())
- {
- Tkani Tk = new Tkani();
- Tk.IdTkan = Data["idtkan"].ToString();
- Tk.NameTkan = Data["nametkan"].ToString();
- Tk.ColorTkan = Data["color"].ToString();
- Tk.Width = Data["width"].ToString();
- Tk.Length = Data["length"].ToString();
- Tk.Description = Data["description"].ToString();
- try
- {
- // загрузить из таблицы БД байты фотографии в массив
- byte[] PhotoByte = (byte[])Data["phototkan"];
- ImageConverter ImConverter = new ImageConverter();
- // сконвертировать массив байт в изображение
- Tk.PhotoTkan = (Bitmap)ImConverter.ConvertFrom(PhotoByte);
- }
- catch
- {
- // в случае ошибки загрузить пустое изображение из ресурсов
- Tk.PhotoTkan = Properties.Resources.tmp;
- }
- LstTkani.Add(Tk); // добавить в список новую ткань
- }
- con.Close();
- }
- /// <summary>
- /// заполнение таблицы с фотографиями тканей
- /// </summary>
- void FillLVTkani()
- {
- LVTkani.Items.Clear();
- ImageListTkani.Images.Clear();
- foreach (Tkani Tk in LstTkani)
- {
- // новый элемент для ListView с названием ткани
- ListViewItem LV = new ListViewItem(Tk.NameTkan);
- // в ImageList добавить изображение ткани
- ImageListTkani.Images.Add(Tk.PhotoTkan);
- // связать последнее добавленное изображение с новым элементом ListView
- LV.ImageIndex = ImageListTkani.Images.Count - 1;
- LVTkani.Items.Add(LV); // добавить новый элемент к ListView
- }
- }
- public struct Furnitura
- {
- public string IdFur, NameFur, CountFur;
- public Image PhotoFur;
- }
- List<Furnitura> LstFurnitura = new List<Furnitura>();
- /// <summary>
- /// получить данные о фурнитурах из базы данных
- /// </summary>
- void GetFurnituraFromDB()
- {
- SqlConnection con = new SqlConnection(Properties.Settings.Default.fab2021ConnectionString);
- 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["idfur"].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.tmp;
- }
- LstFurnitura.Add(Fr); // добавить в список новую фурнитуру
- }
- con.Close();
- }
- /// <summary>
- /// заполнить таблицу с фотографиями фурнитур
- /// </summary>
- void FillLVFurnitura()
- {
- LVFurnitura.Items.Clear();
- ImageListFur.Images.Clear();
- foreach (Furnitura Fr in LstFurnitura)
- {
- // новый элемент для ListView с названием фурнитуры
- ListViewItem LV = new ListViewItem(Fr.NameFur);
- // в ImageList добавить изображение фурнитуры
- ImageListFur.Images.Add(Fr.PhotoFur);
- // связать последнее добавленное изображение с новым элементом ListView
- LV.ImageIndex = ImageListFur.Images.Count - 1;
- LVFurnitura.Items.Add(LV); // добавить новый элемент к ListView
- }
- }
- private void FormManager_Load(object sender, EventArgs e)
- {
- // TODO: This line of code loads data into the 'fab2021DataSet1.Izdeliya' table. You can move, or remove it, as needed.
- this.izdeliyaTableAdapter.Fill(this.fab2021DataSet1.Izdeliya);
- // TODO: This line of code loads data into the 'fab2021DataSet1.Users' table. You can move, or remove it, as needed.
- this.usersTableAdapter.Fill(this.fab2021DataSet1.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.fab2021DataSet1.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.izdeliyaTableAdapter.Update(this.fab2021DataSet1.Izdeliya);
- 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();
- }
- }
- }
- }
- }
|