using ComputerShopBusinessLogic.OfficePackage.HelperEnums; using ComputerShopBusinessLogic.OfficePackage.HelperModels; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ComputerShopBusinessLogic.OfficePackage { public abstract class AbstractSaveToWord { public void CreateDoc(WordInfoProvider 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 cr in info.ComponentReceivings) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { (cr.ComponentName, new WordTextProperties { Size = "20", Bold=true})}, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); foreach (var receiving in cr.Receivings) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { (receiving, new WordTextProperties { Size = "16", Bold = false }) }, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); } } SaveWord(info); } protected abstract void CreateWord(WordInfoProvider info); protected abstract void CreateParagraph(WordParagraph paragraph); protected abstract void SaveWord(WordInfoProvider info); } }