using ElectronicsShopBusinessLogic.OfficePackage.HelperEnums; using ElectronicsShopBusinessLogic.OfficePackage.HelperModels; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ElectronicsShopBusinessLogic.OfficePackage { public abstract class AbstractSaveToWordClient { public void CreateDoc(WordInfoClient 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 pre in info.ListPaymeant) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { (pre.PaymeantName, new WordTextProperties { Size = "24", Bold=true})}, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); foreach (var route in pre.PaymeantsList) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { (route.PayOption.ToString(), new WordTextProperties { Size = "20", Bold=false})}, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); //Вот тут явно этого будет не хватать, но пока пусть будет только статуст //Это AbstractSaveToWordClient } } SaveWord(info); } /// /// Создание doc-файла /// /// protected abstract void CreateWord(WordInfoClient info); /// /// Создание абзаца с текстом /// /// /// protected abstract void CreateParagraph(WordParagraph paragraph); /// /// Сохранение файла /// /// protected abstract void SaveWord(WordInfoClient info); } }