using CandidateReviewBusinessLogic.OfficePackage.HelperEnums; using CandidateReviewBusinessLogic.OfficePackage.HelperModels; namespace CandidateReviewBusinessLogic.OfficePackage { public abstract class AbstractSaveToPdf { public void CreateDocReportResume(PdfInfo info) { CreatePdf(info); // Заголовок резюме CreateParagraph(new PdfParagraph { Text = $"Резюме: {info.Title}", Style = "NormalTitle", ParagraphAlignment = PdfParagraphAlignmentType.Center }); // ФИО и вакансия CreateParagraph(new PdfParagraph { Text = $"ФИО: {info.Resume.UserName ?? "Не указано"}", Style = "Normal", ParagraphAlignment = PdfParagraphAlignmentType.Left }); CreateParagraph(new PdfParagraph { Text = $"Вакансия: {info.Resume.VacancyName ?? "Не указано"}", Style = "Normal", ParagraphAlignment = PdfParagraphAlignmentType.Left }); // Образование CreateParagraph(new PdfParagraph { Text = "Образование:", Style = "Subtitle", ParagraphAlignment = PdfParagraphAlignmentType.Left }); CreateParagraph(new PdfParagraph { Text = info.Resume.Education ?? "Не указано", Style = "Normal", ParagraphAlignment = PdfParagraphAlignmentType.Left }); // Опыт работы CreateParagraph(new PdfParagraph { Text = "Опыт работы:", Style = "Subtitle", ParagraphAlignment = PdfParagraphAlignmentType.Left }); CreateParagraph(new PdfParagraph { Text = info.Resume.Experience ?? "Не указано", Style = "Normal", ParagraphAlignment = PdfParagraphAlignmentType.Left }); // Навыки CreateParagraph(new PdfParagraph { Text = "Навыки:", Style = "Subtitle", ParagraphAlignment = PdfParagraphAlignmentType.Left }); CreateParagraph(new PdfParagraph { Text = info.Resume.Skills ?? "Не указано", Style = "Normal", ParagraphAlignment = PdfParagraphAlignmentType.Left }); // Описание CreateParagraph(new PdfParagraph { Text = "Описание:", Style = "Subtitle", ParagraphAlignment = PdfParagraphAlignmentType.Left }); CreateParagraph(new PdfParagraph { Text = info.Resume.Description ?? "Не указано", Style = "Normal", ParagraphAlignment = PdfParagraphAlignmentType.Left }); SavePdf(info); } protected abstract void CreatePdf(PdfInfo info); protected abstract void CreateParagraph(PdfParagraph paragraph); protected abstract void SavePdf(PdfInfo info); } }