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); } } }