using SecuritySystemBusinessLogic.OfficePackage.HelperEnums; using SecuritySystemBusinessLogic.OfficePackage.HelperModels; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SecuritySystemBusinessLogic.OfficePackage { public abstract class AbstractSaveToWord { //метод создания документа public void CreateDoc(WordInfo 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 secure in info.Secures) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { (secure.SecureName + " ", new WordTextProperties { Bold = true, Size = "24", }), (secure.Price.ToString(), new WordTextProperties { Size = "24" }) }, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); } SaveWord(info); } // Создание doc-файла protected abstract void CreateWord(WordInfo info); // Создание абзаца с текстом protected abstract void CreateParagraph(WordParagraph paragraph); // Сохранение файла protected abstract void SaveWord(WordInfo info); } }