/// <summary> /// Окно авторизации /// </summary> /// <param name="usingAccess">Соеденение с Access для проверки Логина/Пароля</param> public AuthorizationWindow(UsingDataView UserList) { InitializeComponent(); F_Login.Focus(); this.UserList = UserList; }
/// <summary> /// Хранит все таблицы для проекта CourseProject /// </summary> /// <param name="UsAc">Для обновления содержимого таблиц</param> public Tables(UsingAccess UsAc) { this.UsAc = UsAc; Deal = new UsingDataView(UsAc, "Номер_дела AS [Номер дела], Дата_введения_на_хранение AS [Введено на хранение], Причина_открытия AS [Причина открытия], Заверитель", "Дело", null, null); Document = new UsingDataView(UsAc, "Номер_документа as [Номер], Название_документа as [Название], Число_страниц as [Число страниц]", "Документ", null, null); DocumentContent = new UsingDataView(UsAc, "*", "Содержимое_документа", null, null); Users = new UsingDataView(UsAc, "*", "Пользователи", null, null); }
/// <summary> /// Хранит все таблицы для проекта UZNRKT /// </summary> /// <param name="UsAc">Для обновления содержимого таблиц</param> public Tables(UsingAccess UsAc) { this.UsAc = UsAc; Neispravnosti = new UsingDataView(UsAc, "Neispravnosti.Naimenovanie AS Неисправность", "Neispravnosti"); Izgotovitel = new UsingDataView(UsAc, "Izgotovitel.Nazvanie_Izgotovitel AS Название", "Izgotovitel"); Services = new UsingDataView(UsAc, "Services.Nazvanie_Services AS Название, Services.Stoimost_Services AS Стоимость", "Services"); Statys = new UsingDataView(UsAc, "Statys.Statys_Statys AS Статус", "Statys"); TypeTehniki = new UsingDataView(UsAc, " TypeTehniki.Type_TypeTehniki AS Тип", "TypeTehniki"); Oborudovanie = new UsingDataView(UsAc, " Oborudovanie.Model AS Модель, Oborudovanie.SerNomer AS[Серийный номер], Oborudovanie.Komplektaciya AS Комплектация, Oborudovanie.Primechaniya AS Примечания", "Oborudovanie"); Doljnosti = new UsingDataView(UsAc, " Doljnosti.Nazvanie_Doljnost AS Должность", "Doljnosti"); Zayavki = new UsingDataView( UsAc , "Zayavki.ID_Zayavki AS [ID заявки], Zayavki.Date_Zayavki AS [Дата заявки], Sotrudniki.FIO_Master AS [ФИО мастера], Clients.FIO_Client AS [ФИО клиента], Neispravnosti.Naimenovanie AS [Тип неисправности], TypeTehniki.Type_TypeTehniki AS [Тип техники], Izgotovitel.Nazvanie_Izgotovitel AS Изготовитель, Oborudovanie.Model AS Модель, Services.Nazvanie_Services AS [Название услуги], Zayavki.KolvoServ AS [Кол-во деталей], TMC.Nazvanie_TMC AS Деталь, Statys.Statys_Statys AS [Статус выполнения], Zayavki.Date_okonchaniya_Zayavki AS [Дата окончания], Zayavki.Summa AS Сумма" , "TypeTehniki RIGHT JOIN (TMC RIGHT JOIN (Statys RIGHT JOIN (Services RIGHT JOIN (Oborudovanie RIGHT JOIN (Neispravnosti RIGHT JOIN (Sotrudniki RIGHT JOIN (Izgotovitel RIGHT JOIN (Clients RIGHT JOIN Zayavki ON Clients.ID_Client = Zayavki.Client) ON Izgotovitel.ID_Izgotovitel = Zayavki.Izgotovitel) ON Sotrudniki.ID_Master = Zayavki.Master) ON Neispravnosti.ID_Neispravnosti = Zayavki.Neispravnost_Zayavki) ON Oborudovanie.ID_Oborudovaniya = Zayavki.ID_Oborudovaniya) ON Services.ID_Services = Zayavki.Services) ON Statys.ID_Statys = Zayavki.Statys) ON TMC.ID_TMC = Zayavki.Materiali) ON TypeTehniki.ID_TypeTehniki = Zayavki.Type_Tehniki_Zayavki"); AutorizationTime = new UsingDataView( UsAc , "Users.Login_User AS Пользователь, Log_avtorizatcii.Time_in AS [Время входа], Log_avtorizatcii.Time_out AS [Время выхода]" , "Users Users RIGHT JOIN Log_avtorizatcii ON Users.ID_User = Log_avtorizatcii.ID_User"); Sotrudniki = new UsingDataView( UsAc , "Sotrudniki.FIO_Master AS [ФИО Мастера], Doljnosti.Nazvanie_Doljnost AS Должность, Sotrudniki.DateOfBirth_Master AS [Дата рождения], Sotrudniki.Phone_Master AS Телефон, Sotrudniki.Adress_Master AS Адрес, Sotrudniki.Email_Master AS Emali" , "Doljnosti RIGHT JOIN Sotrudniki ON Doljnosti.ID_Doljnost = Sotrudniki.Doljnost_Master"); Clients = new UsingDataView( UsAc , "Clients.ID_Client AS ID, Clients.FIO_Client AS ФИО, Clients.Phone_Client AS Телефон, Clients.Adress_Client AS Адрес, Clients.Email_Client AS Email" , "Clients"); DogovorOPostavke = new UsingDataView( UsAc , "Postavchiki.Nazvanie_Postavchik AS Поставщик, DogovorOPostavke.DateZakaza AS [Дата заказа], DogovorOPostavke.NazvanieMateriala AS Материал, DogovorOPostavke.CenaZaEd AS [Цена заказа], DogovorOPostavke.Kolichestvo AS Количество, DogovorOPostavke.DatePostavki AS [Дата поставки], DogovorOPostavke.SummaZakaza AS [Сумма заказа]" , "Postavchiki RIGHT JOIN DogovorOPostavke ON Postavchiki.ID_Postavchik = DogovorOPostavke.Postavchik"); Users = new UsingDataView( UsAc , "Users.ID_User AS [# ID], Users.Login_User AS Логин, Sotrudniki.FIO_Master AS ФИО, Doljnosti.Nazvanie_Doljnost AS Должность, Roles.Role_Role AS Роль" , "(Roles RIGHT JOIN Users ON Roles.ID_Role = Users.Role) LEFT JOIN (Doljnosti RIGHT JOIN Sotrudniki ON Doljnosti.ID_Doljnost = Sotrudniki.Doljnost_Master) ON Users.ID_User = Sotrudniki.IDUsera"); TMC = new UsingDataView( UsAc , "TMC.ID_TMC AS ID, TMC.Nazvanie_TMC AS Название, TMC.Kolichestvo_TMC AS Количество, Postavchiki.Nazvanie_Postavchik AS Поставщик" , "Postavchiki RIGHT JOIN TMC ON Postavchiki.ID_Postavchik = TMC.Postavchik_TMC"); }
public void OutToWord(string ID) { //Получение записи из таблицы var table = new UsingDataView(UsAc, "Zayavki.ID_Zayavki, Clients.FIO_Client, Sotrudniki.FIO_Master, Clients.Phone_Client, Neispravnosti.Naimenovanie, TypeTehniki.Type_TypeTehniki, Oborudovanie.Model, Services.Nazvanie_Services, Services.Stoimost_Services, TMC.Nazvanie_TMC, TMC.Kolichestvo_TMC", "Sotrudniki RIGHT JOIN (TypeTehniki RIGHT JOIN (TMC RIGHT JOIN (Services RIGHT JOIN (Oborudovanie RIGHT JOIN (Neispravnosti RIGHT JOIN (Clients RIGHT JOIN Zayavki ON Clients.ID_Client = Zayavki.Client) ON Neispravnosti.ID_Neispravnosti = Zayavki.Neispravnost_Zayavki) ON Oborudovanie.ID_Oborudovaniya = Zayavki.ID_Oborudovaniya) ON Services.ID_Services = Zayavki.Services) ON TMC.ID_TMC = Zayavki.Materiali) ON TypeTehniki.ID_TypeTehniki = Zayavki.Type_Tehniki_Zayavki) ON Sotrudniki.ID_Master = Zayavki.Master", $"Zayavki.ID_Zayavki = {ID}", null).DVTable.Table; var wordApp = new Microsoft.Office.Interop.Word.Application(); wordApp.Visible = false; object missing = System.Reflection.Missing.Value; var wordDocument = wordApp.Documents.Open(Environment.CurrentDirectory + "/model/actofwork.docx"); try { ReplaceWordStub("{Today}", DateTime.Now.ToShortDateString(), wordDocument); ReplaceWordStub("{Num}", ID, wordDocument); ReplaceWordStub("{Client}", table.Rows[0]["FIO_Client"].ToString(), wordDocument); ReplaceWordStub("{Master}", table.Rows[0]["FIO_Master"].ToString(), wordDocument); ReplaceWordStub("{Neispravnost}", table.Rows[0]["Naimenovanie"].ToString(), wordDocument); ReplaceWordStub("{Model}", table.Rows[0]["Model"].ToString(), wordDocument); ReplaceWordStub("{Phone}", table.Rows[0]["Phone_Client"].ToString(), wordDocument); ReplaceWordStub("{Tehnika}", table.Rows[0]["Type_TypeTehniki"].ToString(), wordDocument); ReplaceWordStub("{Repair}", table.Rows[0]["Nazvanie_Services"].ToString(), wordDocument); Microsoft.Office.Interop.Word.Table wordTable = wordDocument.Tables[2]; for (int x = 2; x < table.Rows.Count + 2; x++) { //Добавляем строку таблицы object oMissing = System.Reflection.Missing.Value; wordTable.Rows.Add(ref oMissing); //# п/п wordTable.Cell(x, 1).Range.Text = (x - 1).ToString(); wordTable.Cell(x, 1).Range.Bold = 0; wordTable.Cell(x, 1).Range.Cells.SetHeight(1, WdRowHeightRule.wdRowHeightAuto); //Наименование wordTable.Cell(x, 2).Range.Text = table.Rows[x - 2]["Nazvanie_TMC"].ToString() + ""; wordTable.Cell(x, 2).Range.Bold = 0; //Цена wordTable.Cell(x, 3).Range.Text = table.Rows[x - 2]["Stoimost_Services"].ToString(); wordTable.Cell(x, 3).Range.Bold = 0; if (table.Rows[x - 2]["Nazvanie_TMC"].ToString().Length < 2) { ReplaceWordStub("{DocCount}", "0" + " руб.", wordDocument); } else { ReplaceWordStub("{DocCount}", table.Rows[x - 2]["Stoimost_Services"].ToString() + " руб.", wordDocument); } wordTable.Cell(x, 3).Range.Bold = 0; wordTable.Cell(x, 3).Range.Cells.SetHeight(1, WdRowHeightRule.wdRowHeightAuto); } } catch (Exception ex) { object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges; wordDocument.Close(ref doNotSaveChanges, ref missing, ref missing); throw ex; } wordApp.Visible = true; }