using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UniversityBusinessLogic.OfficePackage.HelperModels; using UniversityBusinessLogic.OfficePackage.HelperEnums; namespace UniversityBusinessLogic.OfficePackage { public abstract class AbstractSaveToWordStorekeeper { public void CreateDoc(WordInfoStorekeeper info) { CreateWord(info); CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { (info.Title, new WordTextProperties { Bold = true, Size = "24", }) }, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Center } }); foreach (var discipline in info.TeacherInfo) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { ("Teacher №" + discipline.TeacherId.ToString() + " - " + discipline.TeacherName, new WordTextProperties {Size = "24", Bold=true}) }, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); foreach (var student in discipline.Students) { if (!string.IsNullOrEmpty(student.Name) && !string.IsNullOrEmpty(student.PhoneNumber)) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { (student.Name + " - ", new WordTextProperties { Size = "24" }), (student.PhoneNumber + " - ", new WordTextProperties { Size = "24" }) }, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); } } } SaveWord(info); } /// /// Создание doc-файла /// /// protected abstract void CreateWord(WordInfoStorekeeper info); /// /// Создание абзаца с текстом /// /// /// protected abstract void CreateParagraph(WordParagraph paragraph); /// /// Сохранение файла /// /// protected abstract void SaveWord(WordInfoStorekeeper info); } }