CourseWork_SchoolStudyAgain/SchoolAgainStudy/SchoolAgainStudyBusinessLogic/OfficePackage/AbstractSaveToWordStudent.cs
2023-04-07 14:25:31 +04:00

77 lines
2.6 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using SchoolAgainStudyBusinessLogic.OfficePackage.HelperEnums;
using SchoolAgainStudyBusinessLogic.OfficePackage.HelperModels;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SchoolAgainStudyBusinessLogic.OfficePackage
{
public abstract class AbstractSaveToWordStudent
{
public void CreateDoc(WordInfoStudent 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 interest in info.InterestLessons)
{
CreateParagraph(new WordParagraph
{
Texts = new List<(string, WordTextProperties)> { (interest.Title, new WordTextProperties { Size = "24", Bold=true,})},
TextProperties = new WordTextProperties
{
Size = "24",
JustificationType = WordJustificationType.Both
}
});
foreach (var lesson in interest.Lessons)
{
CreateParagraph(new WordParagraph
{
Texts = new List<(string, WordTextProperties)> { (lesson, new WordTextProperties { Size = "20", Bold=false,})},
TextProperties = new WordTextProperties
{
Size = "24",
JustificationType = WordJustificationType.Both
}
});
}
}
SaveWord(info);
}
/// <summary>
/// Создание doc-файла
/// </summary>
/// <param name="info"></param>
protected abstract void CreateWord(WordInfoStudent info);
/// <summary>
/// Создание абзаца с текстом
/// </summary>
/// <param name="paragraph"></param>
/// <returns></returns>
protected abstract void CreateParagraph(WordParagraph paragraph);
/// <summary>
/// Сохранение файла
/// </summary>
/// <param name="info"></param>
protected abstract void SaveWord(WordInfoStudent info);
}
}