private bool CreateContract_Attch2() { try { string file = $"Приложение 2.docx"; // создаём документ DocX document = DocX.Create(dir + file); document.SetDefaultFont(new Font("Times New Roman"), fontSize: 12); // Устанавливаем стандартный для документа шрифт и размер шрифта document.MarginLeft = 42.5f; document.MarginTop = 34.1f; document.MarginRight = 34.1f; document.MarginBottom = 34.1f; document.PageLayout.Orientation = Xceed.Document.NET.Orientation.Landscape; document.InsertParagraph("Приложение 2").Alignment = Alignment.right; document.InsertParagraph($"к договору № {contract_num} от {_date.Day}.{_date.Month}.{_date.Year} г.").Alignment = Alignment.right; document.InsertParagraph("Список студентов ФГБОУ ВО «СибАДИ», направляемых на производственные объекты").Alignment = Alignment.center; document.InsertParagraph($"\t\t{contract_org}\t\t\t").UnderlineStyle(UnderlineStyle.singleLine).Alignment = Alignment.center; document.InsertParagraph("наименование предприятия, учреждения, организации").Script(Script.superscript).FontSize(12).Alignment = Alignment.center; document.InsertParagraph("для прохождения").Alignment = Alignment.center; Paragraph paragraph1 = document.InsertParagraph($"\t\t{formPract.SelectedItem.ToString().Trim()}, {type_pract.SelectedItem.ToString().Trim()}\t\t\t").UnderlineStyle(UnderlineStyle.singleLine); paragraph1.Append($"в {_date.Year} г").Alignment = Alignment.center; document.InsertParagraph("вид и тип практики").Script(Script.superscript).FontSize(12).Alignment = Alignment.center; int _all_el = 0; foreach (List <string> tmp in selected_student) { _all_el += tmp.Count; } // создаём таблицу с N строками и 3 столбцами Table table = document.AddTable(_all_el + 2, 9); // располагаем таблицу по центру table.Alignment = Alignment.center; table.AutoFit = AutoFit.Contents; #region Стандартное заполнение table.Rows[0].Cells[0].Paragraphs[0].Append("№ п/п").Alignment = Alignment.center; table.Rows[0].Cells[1].Paragraphs[0].Append("Название факультета, кафедры, заявивших студентов на практику ").Alignment = Alignment.center; table.Rows[0].Cells[2].Paragraphs[0].Append("Направление/специальность").Alignment = Alignment.center; table.Rows[0].Cells[3].Paragraphs[0].Append("Сроки практики").Alignment = Alignment.center; table.Rows[0].Cells[4].Paragraphs[0].Append("Курс").Alignment = Alignment.center; table.Rows[0].Cells[5].Paragraphs[0].Append("Группа").Alignment = Alignment.center; table.Rows[0].Cells[6].Paragraphs[0].Append("Ф.И.О. студента").Alignment = Alignment.center; table.Rows[0].Cells[7].Paragraphs[0].Append("Ф.И.О. руководителя практики от кафедры").Alignment = Alignment.center; table.Rows[0].Cells[8].Paragraphs[0].Append("Контактные телефоны кафедры по вопросам практики ").Alignment = Alignment.center; table.Rows[1].Cells[0].Paragraphs[0].Append("1").Alignment = Alignment.center; table.Rows[1].Cells[1].Paragraphs[0].Append("2").Alignment = Alignment.center; table.Rows[1].Cells[2].Paragraphs[0].Append("3").Alignment = Alignment.center; table.Rows[1].Cells[3].Paragraphs[0].Append("4").Alignment = Alignment.center; table.Rows[1].Cells[4].Paragraphs[0].Append("5").Alignment = Alignment.center; table.Rows[1].Cells[5].Paragraphs[0].Append("6").Alignment = Alignment.center; table.Rows[1].Cells[6].Paragraphs[0].Append("7").Alignment = Alignment.center; table.Rows[1].Cells[7].Paragraphs[0].Append("8").Alignment = Alignment.center; table.Rows[1].Cells[8].Paragraphs[0].Append("9").Alignment = Alignment.center; #endregion int row = 2; for (int i = 0; i < selected_student.Count; i++) { foreach (string tmp_st in selected_student[i]) { table.Rows[row].Cells[0].Paragraphs[0].Append((i + 1).ToString()).Alignment = Alignment.center; Group group = Helper.OGroups.Where(k => k.groupe.Equals(selected_group[i])).ElementAt(0); Direction direction = Helper.ODirections.Where(k => k.name.Equals(group.direction)).ElementAt(0); Cathedra cathedra = Helper.OCathedras.Where(k => k.cathedra.Equals(direction.id_cathedra)).ElementAt(0); #region Вычисляем курс int enroll = Convert.ToInt32(group.enroll_year); // Год поступления int end = Convert.ToInt32(group.end_year); // Год окончания int course = DateTime.Today.Year - enroll; int month = DateTime.Today.Month - 9; if (month >= 0) { course++; } #endregion table.Rows[row].Cells[1].Paragraphs[0].Append(cathedra.cathedra).Alignment = Alignment.center; // Кафедра table.Rows[row].Cells[2].Paragraphs[0].Append(direction.code + " " + direction.name).Alignment = Alignment.center; // Направление table.Rows[row].Cells[3].Paragraphs[0].Append(" - ").Alignment = Alignment.center; // Сроки практики table.Rows[row].Cells[4].Paragraphs[0].Append(course.ToString()).Alignment = Alignment.center; // Курс table.Rows[row].Cells[5].Paragraphs[0].Append(group.groupe).Alignment = Alignment.center; // Группа table.Rows[row].Cells[6].Paragraphs[0].Append(tmp_st).Alignment = Alignment.center; // Ф.И.О. студента table.Rows[row].Cells[7].Paragraphs[0].Append(cathedra.surname + " " + cathedra.name + " " + cathedra.patronymic).Alignment = Alignment.center; // Ф.И.О. руководителя от кафедры table.Rows[row].Cells[8].Paragraphs[0].Append(cathedra.phone).Alignment = Alignment.center; // Телефон кафедры row++; // Добавляем студента в БД Attach // Разбиваем ФИО студента на состовляющие var fio = tmp_st.Split(); Student st_tmp = Helper.OStudents.Where(k => k.surname.Equals(fio[0]) && k.name.Equals(fio[1]) && k.patronymic.Equals(fio[2])).ElementAt(0); SQLiteAdapter.SetValue("attach", contract_num, st_tmp.id); } } document.InsertParagraph().InsertTableAfterSelf(table); document.InsertParagraph(); document.InsertParagraph("Согласовано:"); document.InsertParagraph("Заведующий выпускающей кафедрой"); document.InsertParagraph("«___________________________________» ______________ /______________________/"); document.InsertParagraph(" подпись расшифровка подписи").Script(Script.superscript).FontSize(10); document.InsertParagraph("Декан факультета / Директор института"); document.InsertParagraph("«___________________________________» ______________ /______________________/"); document.InsertParagraph(" подпись расшифровка подписи").Script(Script.superscript).FontSize(10); document.InsertParagraph("Начальник отдела организации практики"); document.InsertParagraph("и содействия трудоустройству выпускников ______________ / Ю.С.Сачук /"); document.InsertParagraph(" подпись расшифровка подписи").Script(Script.superscript).FontSize(10); // сохраняем документ document.Save(); } catch (Exception e) { MessageBox.Show($"Error: {e}", "Error", MessageBoxButton.OK); return(false); } return(true); }
private bool CreateContract_Attch1() { try { string file = $"Приложение 1.docx"; // создаём документ DocX document = DocX.Create(dir + file); document.SetDefaultFont(new Font("Times New Roman"), fontSize: 12); // Устанавливаем стандартный для документа шрифт и размер шрифта document.MarginLeft = 42.5f; document.MarginTop = 34.1f; document.MarginRight = 34.1f; document.MarginBottom = 34.1f; document.InsertParagraph("Приложение 1").Alignment = Alignment.right; document.InsertParagraph($"к договору № {contract_num} от {_date.Day}.{_date.Month}.{_date.Year} г.").Alignment = Alignment.right; // создаём таблицу с N строками и 3 столбцами Table table = document.AddTable(selected_dir.Count + 2, 3); // располагаем таблицу по центру table.Alignment = Alignment.center; table.AutoFit = AutoFit.Contents; #region Стандартное заполнение table.Rows[0].Cells[0].Paragraphs[0].Append("№ п/п").Alignment = Alignment.center; table.Rows[0].Cells[1].Paragraphs[0].Append("Направление /специальность").Alignment = Alignment.center; table.Rows[0].Cells[2].Paragraphs[0].Append("Курс").Alignment = Alignment.center; table.Rows[1].Cells[0].Paragraphs[0].Append("1").Alignment = Alignment.center; table.Rows[1].Cells[1].Paragraphs[0].Append("2").Alignment = Alignment.center; table.Rows[1].Cells[2].Paragraphs[0].Append("3").Alignment = Alignment.center; #endregion for (int i = 0; i < selected_dir.Count; i++) { Direction direction = Helper.ODirections.Where(k => k.code.Equals(selected_dir[i])).ElementAt(0); table.Rows[i + 2].Cells[0].Paragraphs[0].Append((i + 1).ToString()).Alignment = Alignment.center; table.Rows[i + 2].Cells[1].Paragraphs[0].Append(direction.code + " " + direction.name).Alignment = Alignment.both; string courses = ""; foreach (string course in selected_course[i]) { courses += Convert.ToInt32(course.Split()[0]) + ", "; } table.Rows[i + 2].Cells[2].Paragraphs[0].Append(courses.TrimEnd(new char[] { ',', ' ' })).Alignment = Alignment.center; } document.InsertParagraph().InsertTableAfterSelf(table); document.InsertParagraph(); document.InsertParagraph("Согласовано:"); document.InsertParagraph(); Paragraph paragraph1 = document.InsertParagraph("ФГБОУ ВО «СибАДИ» "); paragraph1.Append($"__{contract_org}__").UnderlineStyle(UnderlineStyle.singleLine); Paragraph paragraph2 = document.InsertParagraph("Ректор А.П. Жигадло"); paragraph2.Append(" наименование предприятия, учреждения, организации").Script(Script.superscript).FontSize(10); document.InsertParagraph(" ____________________________________"); document.InsertParagraph(" подпись расшифровка подписи").Script(Script.superscript).FontSize(10); document.InsertParagraph("МП МП"); document.InsertParagraph("Имеет право подписи").Italic(); document.InsertParagraph("за руководителя(ректора)").Italic(); document.InsertParagraph("Проректор по учебной работе"); document.InsertParagraph("(доверенность № 61 от 29.10.2018)"); document.InsertParagraph("____________________ С.В. Мельник"); // сохраняем документ document.Save(); } catch (Exception e) { MessageBox.Show($"Error: {e}", "Error", MessageBoxButton.OK); return(false); } return(true); }