55 lines
4.3 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|