kreta/KretaWeb/Areas/Nyomtatvanyok/Controllers/NyomtatvanyokNemzetisegiDokumentumokController.cs
2024-03-13 00:33:46 +01:00

204 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes.AsposeHelpers;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
{
public partial class NyomtatvanyokController : BaseNyomtatvanyokController
{
private ActionResult NemzetisegiBizonyitvanypotlap(NyomtatvanyModel model, string nyomtatvanyNeve, string sablonNeve, System.Reflection.MethodInfo asposeMethod, BizonyitvanypotlapEvfolyamDivIdEnum? evfolyamDivId = null, int nyomtatvanyNyelvEnum = 0, DokumentumTipusEnum? dokumentumTipus = null, bool kellAtsorolasiZaradek = true)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTorzslapAdatok));
var dsParameterek = new Dictionary<string, object>
{
{ "iskolaErdekuSzamit", isIskolaerdekuSzamit},
{ "nyomtatvanyNyelvEnumId", nyomtatvanyNyelvEnum},
{ "isKozossegiSzolgalat", model.KozossegiSzolgalat},
{ "tanitasiHetekSzamaVegzos", model.TanitasiHetekSzamaVegzos},
{ "tanitasiHetekSzamaNemVegzos", model.TanitasiHetekSzamaNemVegzos},
{ "altantargyBeszamitasa", model.AltantargyBeszamitasa},
{ "isMuveszetOktatasi", false},
{ "tanulokNevsorRendezesColumnIndex", model.TanulokNevsorRendezeseId},
{ "isEvesOraszamMegjelenjen", model.EvesOraszamMegjelenjen},
{ "nyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{ "nemzetisegiNyelvId", (int)model.NemzetisegiNyelvId },
{ "isNemzetisegi", true },
{ "isShowTanulmanyiAtlag", model.AtlagFeltuntetes },
{ "kiiratkozottTanulokMegjelenitese", model.KiiratkozottTanulokMegjelenitese},
{ "kellAtsorolasiZaradek", kellAtsorolasiZaradek },
{ "isNszfhUjSzkt", false },
{ "is20_21OrLaterTanev", ClaimData.IsSelectedTanev20_21OrLater },
{ "is21_22OrLaterTanev", ClaimData.IsSelectedTanev21_22OrLater }
};
Dictionary<string, object> frxParameterek = new Dictionary<string, object>
{
};
var asposeHelperOptions = new AsposeHelperOptions(ClaimData.SelectedTanevID.Value)
{
Nyelv = model.NemzetisegiNyelvId,
PageNumbering = PageNumberingEnum.None,
PageSize = Aspose.Pdf.PageSize.A4,
Margins = new Aspose.Pdf.MarginInfo(18, 18, 18, 18),
DocumentParameters = new AsposeDocumentParameters()
{
IsAtlagMegjelenites = model.AtlagFeltuntetes,
IsEvesOraszamMegjelenites = model.EvesOraszamMegjelenjen,
BetuMeret = model.BetuMeret,
Kelt = model.KeltDatum,
ErtekelesMegjelenitesFormatum = model.NyomtatvanyErtekelesMegjelenitesId,
IsMulasztasokUjLapra = model.MulasztasokUjLapon,
}
};
if (evfolyamDivId.HasValue)
{
asposeHelperOptions.BizonyitvanypotlapEvfolyamDivId = evfolyamDivId.Value;
}
if (model.AlulirottMegnevezesId.IsEntityId())
{
var alulirott = new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true, nyomtatvanyNyelvEnum: (int)model.NemzetisegiNyelvId, isNemzetisegiDokumentum: true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text;
var r = new Regex(@".*?(?=[()])");
var m = r.Matches(alulirott);
var nev = m[0].Value.ReplaceMultipleSpacesAndTrim();
var nevIdegenNyelven = m[2].Value.ReplaceMultipleSpacesAndTrim();
var beosztas = m[4].Value.Substring(3).ReplaceMultipleSpacesAndTrim();
var beosztasIdegenNyelven = m[6].Value.ReplaceMultipleSpacesAndTrim();
asposeHelperOptions.DocumentParameters.AlairoSzemely = new Dictionary<string, string>()
{
{"Nev", nev },
{"NevIdegenNyelven", nevIdegenNyelven },
{"Beosztas", beosztas },
{"BeosztasIdegennNyelven", beosztasIdegenNyelven }
};
}
return AltalanosTanuloiGeneralas(model, sablonNeve, DokumentumKategoriaEnum.ErtesitokTorzslapBizonyitvany, dokumentumTipus, metodus, 0, dsParameterek, frxParameterek, nyomtatvanyNeve: nyomtatvanyNeve, distinctTables: "Fejlec,Osztaly", tablakFilterByTanuloId: "Tanulok,Ertekeles,Mulasztasok,TanuloLista,OsszefuggoSzakmaiGyakorlat,Feljegyzesek,Hatarozat,TanuloKozossegiSzolgalat,TanuloSNI,TanuloBTM,Felmentesek,FeljegyzesKozossegiSzolgalat" + ((model.AtlagFeltuntetes) ? ",TanuloiAtlag" : ""), tanuloIdColumnName: "TanuloId", emptyDocumentTable: "Tanulok", egyediLablecKellOldalszam: false, IsAspose: true, asposeMetodus: asposeMethod, asposeHelperOptions: asposeHelperOptions);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult NemzetisegiTorzslap(NyomtatvanyModel model, int nyomtatvanyNyelvEnum = 0, DokumentumTipusEnum dokumentumTipus = DokumentumTipusEnum.TorzslapAz1tol3EsFelsobbEvfolyamokSzovegesMinositesehez, bool isMuveszetOktatas = false)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTorzslapAdatok));
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetTorzslap));
var dsParameterek = new Dictionary<string, object>
{
{ "iskolaErdekuSzamit", isIskolaerdekuSzamit},
{ "nyomtatvanyNyelvEnumId", nyomtatvanyNyelvEnum},
{ "isKozossegiSzolgalat", model.KozossegiSzolgalat},
{ "tanitasiHetekSzamaVegzos", model.TanitasiHetekSzamaVegzos},
{ "tanitasiHetekSzamaNemVegzos", model.TanitasiHetekSzamaNemVegzos},
{ "altantargyBeszamitasa", model.AltantargyBeszamitasa},
{ "isMuveszetOktatasi", isMuveszetOktatas},
{ "tanulokNevsorRendezesColumnIndex", model.TanulokNevsorRendezeseId},
{ "isEvesOraszamMegjelenjen", model.EvesOraszamMegjelenjen},
{ "nyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{ "isNemzetisegi", true },
{ "nemzetisegiNyelvId", model.NemzetisegiNyelvId},
{ "isShowTanulmanyiAtlag", false },
{ "isNszfhUjSzkt", false },
{ "is20_21OrLaterTanev", ClaimData.IsSelectedTanev20_21OrLater },
{ "is21_22OrLaterTanev", ClaimData.IsSelectedTanev21_22OrLater }
};
var asposeHelperOptions = new AsposeHelperOptions(ClaimData.SelectedTanevID.Value)
{
Nyelv = model.NemzetisegiNyelvId,
PageNumbering = PageNumberingEnum.None,
PageSize = Aspose.Pdf.PageSize.A4,
Margins = new Aspose.Pdf.MarginInfo(18, 18, 18, 18),
DocumentParameters = new AsposeDocumentParameters()
{
AdatokMegjelenitese = model.AdatMegjelenites,
AltantargyBeszamitasa = model.AltantargyBeszamitasa,
EvesOraszamMegjelenites = model.EvesOraszamMegjelenjen,
FejlecMegjelenitese = model.FejlecMegjelenites,
FeljegyzesekMegjelenitese = model.isFeljegyzesekMegjelenitese,
FelmentesekMegjelenitese = model.isFelmentesekMegjelenitese,
Kelt = model.KeltDatum,
KotesmargoTipus = model.KotesMargoTipus,
KozossegiSzolgalatMegjelenitese = model.KozossegiSzolgalat,
OKJMegjelenitese = model.OKJ,
SNIMegjelenites = model.SNIAdatokMegjeleniteseUresen,
TorvenyesKepviseloMegjelenites = model.GondviseloMegjelenites,
BetuMeret = model.BetuMeret,
}
};
return AltalanosTanuloiGeneralas(model, "NemzetisegiTorzslap.html", DokumentumKategoriaEnum.ErtesitokTorzslapBizonyitvany, dokumentumTipus, metodus, 0, dsParameterek, null, nyomtatvanyNeve: "NemzetisegiTorzslap", distinctTables: "Fejlec,Osztaly", isCsoport: isMuveszetOktatas, tablakFilterByTanuloId: "Tanulok,Hatarozat,Feljegyzesek,Mulasztasok,Ertekeles,TanuloLista,TanuloKozossegiSzolgalat,TanuloSNI,TanuloBTM,Felmentesek,FeljegyzesKozossegiSzolgalat,OsszefuggoSzakmaiGyakorlat", tanuloIdColumnName: "TanuloId", IsAspose: true, asposeMetodus: asposeMethod, asposeHelperOptions: asposeHelperOptions);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult NemzetisegiBizonyitvanypotlapElso(NyomtatvanyModel model)
{
string nyomtatvanyNeve = "NemzetisegiBizonyitvany";
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetBizonyitvany));
return NemzetisegiBizonyitvanypotlap(model, nyomtatvanyNeve, $"{nyomtatvanyNeve}.html", asposeMethod, BizonyitvanypotlapEvfolyamDivIdEnum.elsoosztaly);
}
public ActionResult NemzetisegiBizonyitvanypotlapAlso(NyomtatvanyModel model)
{
string nyomtatvanyNeve = "NemzetisegiBizonyitvany";
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetBizonyitvany));
return NemzetisegiBizonyitvanypotlap(model, nyomtatvanyNeve, $"{nyomtatvanyNeve}.html", asposeMethod, BizonyitvanypotlapEvfolyamDivIdEnum.masodiknegyedikosztaly);
}
public ActionResult NemzetisegiBizonyitvanypotlapFelso(NyomtatvanyModel model)
{
string nyomtatvanyNeve = "NemzetisegiBizonyitvany";
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetBizonyitvany));
return NemzetisegiBizonyitvanypotlap(model, nyomtatvanyNeve, $"{nyomtatvanyNeve}.html", asposeMethod, BizonyitvanypotlapEvfolyamDivIdEnum.felsoosztalyok);
}
public ActionResult NemzetisegiGimnaziumiBizonyitvanypotlap(NyomtatvanyModel model)
{
model.KozossegiSzolgalat = true;
string nyomtatvanyNeve = "NemzetisegiGimnaziumiBizonyitvany";
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetGimnaziumiBizonyitvany));
return NemzetisegiBizonyitvanypotlap(model, nyomtatvanyNeve, $"{nyomtatvanyNeve}.html", asposeMethod, kellAtsorolasiZaradek: false);
}
public ActionResult NemzetisegiErettsegiBizonyitvany(NyomtatvanyModel model)
{
string nyomtatvanyNeve = "NemzetisegiErettsegiBizonyitvany";
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetErettsegiBizonyitvany));
return NemzetisegiBizonyitvanypotlap(model, nyomtatvanyNeve, $"{nyomtatvanyNeve}.html", asposeMethod);
}
}
}