using CarServiceBusinessLogic.OfficePackage.HelperEnums; using CarServiceBusinessLogic.OfficePackage.HelperModels; namespace CarServiceBusinessLogic.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 WWR in info.WorksWithRequests) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { (WWR.WorkName, new WordTextProperties { Bold = true, Size = "24", }) }, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); if (WWR.RepairRequests.Count == 0) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { ("Заявок по работе нет", new WordTextProperties { Size = "24", }) }, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); } foreach (var RR in WWR.RepairRequests) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { ($"Заявка № {RR.RepairRequestId} от {RR.RepairRequestDateCreated}. Заказчик - {RR.CustomerName}. Транспортное средство - {RR.VehicleName}, гос. номер {RR.Plate}. Количество работ: {RR.WorksCount}", 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); } }