using PolyclinicBusinessLogic.OfficePackage.HelperEnums; using PolyclinicBusinessLogic.OfficePackage.HelperModels.Word; namespace PolyclinicBusinessLogic.OfficePackage { public abstract class AbstractSaveToWordCoursesByProcedures { public void CreateDoc(WordCoursesByProceduresInfo info) { CreateWord(info); CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { (info.Title, new WordTextProperties { Bold = true, Size = "32", }) }, TextProperties = new WordTextProperties { Size = "32", JustificationType = WordJustificationType.Center } }); foreach (var course in info.Courses) { CreateParagraph(new WordParagraph { Texts = new List<(string, WordTextProperties)> { ("Количество пилюль в день: " + course.PillsPerDay.ToString() + " единиц", new WordTextProperties{ Size = "24"}), ("Количество дней приёма: " + course.DaysCount.ToString() + " дней", new WordTextProperties{ Size = "24"}), }, TextProperties = new WordTextProperties { Size = "24", JustificationType = WordJustificationType.Both } }); } SaveWord(info); } /// /// Создание doc-файла /// /// protected abstract void CreateWord(WordCoursesByProceduresInfo info); /// /// Создание абзаца с текстом /// /// /// protected abstract void CreateParagraph(WordParagraph paragraph); /// /// Сохранение файла /// /// protected abstract void SaveWord(WordCoursesByProceduresInfo info); } }