using SushiBarBusinessLogic.OfficePackage.HelperEnums; using SushiBarBusinessLogic.OfficePackage.HelperModels; namespace SushiBarBusinessLogic.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 sushi in info.ListSushi) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { (sushi.SushiName+' ', new WordTextProperties { Size = "24", Bold = true }), (sushi.Price.ToString(), new WordTextProperties { Size = "24" }) }, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); } SaveWord(info); } public void CreateShopsDoc(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 } }); List rows = new List(); rows.Add(new WordRow { Rows = new List<(string, WordTextProperties)> { ("Название", new WordTextProperties { Size = "24", Bold = true }), ("Адрес", new WordTextProperties { Size = "24", Bold = true }), ("Дата открытия", new WordTextProperties { Size = "24", Bold = true }) } }); foreach (var shop in info.Shops) { rows.Add(new WordRow { Rows = new List<(string, WordTextProperties)> { (shop.ShopName, new WordTextProperties { Size = "24" }), (shop.Address, new WordTextProperties { Size = "24" }), (shop.DateOpening.ToShortDateString(), new WordTextProperties { Size = "24" }) } }); } CreateTable(rows); SaveWord(info); } /// /// Создание doc-файла /// /// protected abstract void CreateWord(WordInfo info); /// /// Создание таблицы /// /// protected abstract void CreateTable(List rows); /// /// Создание абзаца с текстом /// /// /// protected abstract void CreateParagraph(WordParagraph paragraph); /// /// Сохранение файла /// /// protected abstract void SaveWord(WordInfo info); } }