kreta/Kreta.BusinessLogic/Helpers/AsposeHelperApaczai.cs
2024-03-13 00:33:46 +01:00

55 lines
4.3 KiB
C#

using System.IO;
using Aspose.Words;
using Aspose.Words.Tables;
using Kreta.BusinessLogic.Classes.AsposeHelpers;
using Kreta.BusinessLogic.HelperClasses.ApaczaiProgramCOs;
using Kreta.BusinessLogic.HelperClasses.MulasztasiErtesitokCOs;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Enums.ManualEnums;
namespace Kreta.BusinessLogic.Helpers
{
public partial class AsposeHelper
{
public MemoryStream GetMentorTamogatoiNyilatkozat(Stream sablonStream, int formatumId)
{
var resultDoc = new Document();
var doc = new Document(sablonStream, new LoadOptions());
doc.Styles.DefaultFont.Name = "Times New Roman";
var tanulo = options.DocumentParameters.Entity as TanuloApaczaiMentorAdatokCO;
ApaczaiMentoriTamogatoNyilatkozatHelyettesitesek(tanulo, doc, options);
resultDoc.AppendDocument(doc, ImportFormatMode.KeepSourceFormatting);
resultDoc.Sections.RemoveAt(0);
SetCustomHeaderOnDocument(resultDoc, options.EgyediFejlec);
var ms = new MemoryStream();
resultDoc.Save(ms, formatumId == (int)NyomtatvanyFormatumEnum.Word ? SaveFormat.Docx : SaveFormat.Pdf);
ms.Position = 0;
return ms;
}
private static void ApaczaiMentoriTamogatoNyilatkozatHelyettesitesek(TanuloApaczaiMentorAdatokCO tanulo, Document doc, AsposeHelperOptions options)
{
Story body = doc.FirstSection.Body;
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.IntezmenyNeveRegex, options.DocumentParameters?.TagintezmenyNeve ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.IntezmenyCimeRegex, options.DocumentParameters?.TagintezmenyCime ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.IntezmenyOMAzonositoRegex, options.DocumentParameters?.TagintezmenyAzonosito ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.IntezmenyVezetoNeveRegex, options.DocumentParameters?.AlairoSzemely["Nev"] ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.TanuloNeveRegex, tanulo.NyomtatsiNev ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.TanuloOMAzonositoRegex, tanulo.OktatasiAzonosito ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.TanuloOsztalyRegex, ($"{tanulo.OsztalyNev}, {tanulo.EvfolyamNev}") ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.MentorNeveRegex, tanulo.MentorNyomtatsiNev ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.MentorOMAzonositoRegex, tanulo.MentorOktatasiAzonosito ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.MentorEmailcimRegex, tanulo.MentorEmail ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.MentorTelefonRegex, tanulo.MentorTelefon ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.KeltezesVarosRegex, options.DocumentParameters?.TagintezmenyVaros ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.KeltezesDatumRegex, options.DocumentParameters?.Kelt.ToString(options.DocumentParameters?.KeltFormatum == KeltFormatumTipusEnum.Szammal ? Constants.ToStringPattern.HungarianDateWithSpaces : Constants.ToStringPattern.HungarianLongDate));
body.Range.Replace(ApaczaiMentoriTamogatoNyilatkozatReplacers.AlairoSzemelyRegex, options.DocumentParameters?.AlairoSzemely["Nev"] ?? string.Empty, MulasztasiErtesitokReplacers.FindReplaceoptions);
}
}
}