using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Web.Mvc; using Aspose.BarCode.Generation; using ICSharpCode.SharpZipLib.Zip; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Helpers; using Kreta.Client.KozpontiKreta.Model; using Kreta.Core; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Framework; using Kreta.Resources; using Kreta.Web.Areas.Nyomtatvanyok.Logic; using Kreta.Web.Helpers; using Kreta.Web.Helpers.Error; using Kreta.Web.Security; namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers { public partial class NyomtatvanyokController : BaseNyomtatvanyokController { private string GetIgazolasKiallitasanakOkaText(IgazolasKiallitasanakOkaEnum kiallitasOka) { var kiallitasOkaText = string.Empty; switch (kiallitasOka) { case IgazolasKiallitasanakOkaEnum.Folyamatban: kiallitasOkaText = NyomtatvanyokResource.IgazolasKiallitasanakOkaFolyamatban; break; case IgazolasKiallitasanakOkaEnum.KormRendeletAlapjan: kiallitasOkaText = NyomtatvanyokResource.IgazolasKiallitasanakOkaKormRendeletAlapjan; break; } return kiallitasOkaText; } private string GetEgyebIntezmenyiAdatok(NyomtatvanyModel model) { var sb = new StringBuilder(); if (!string.IsNullOrWhiteSpace(model.MasodikIntezmenyNeve)) { sb.Append($"{NyomtatvanyokResource.MasodikIntezmenyNeve} {model.MasodikIntezmenyNeve}"); } if (!string.IsNullOrWhiteSpace(model.MasodikFeladatellatasiHelyCime)) { if (sb.Length != 0) { sb.AppendLine().AppendLine(); } sb.Append($"{NyomtatvanyokResource.FeladatellatasiHelyCime} {model.MasodikFeladatellatasiHelyCime}"); } if (!string.IsNullOrWhiteSpace(model.GyakorlatiKepzesiHelyNeve)) { if (sb.Length != 0) { sb.AppendLine().AppendLine(); } sb.Append($"{NyomtatvanyokResource.GyakorlatiKepzesiHelyNeve} {model.GyakorlatiKepzesiHelyNeve}"); } if (!string.IsNullOrWhiteSpace(model.GyakorlatiKepzesiHelyCime)) { if (sb.Length != 0) { sb.AppendLine().AppendLine(); } sb.Append($"{NyomtatvanyokResource.GyakorlatiKepzesiHelyCime} {model.GyakorlatiKepzesiHelyCime}"); } return sb.ToString(); } private Bitmap GenerateQrCodeForPedagogusIgazolas(NyomtatvanyModel model) { var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType()); var (NyomtatasiNev, OktatasiAzonosito) = felhasznaloHelper.GetFelhasznaloNevOktAzonById(model.PedagogusId); var qrCodeText = $"{NyomtatasiNev} - {OktatasiAzonosito} - {model.IgazolasSorszama} - {DateTime.Today.ToString(Core.Constants.ToStringPattern.HungarianDate)}"; var generator = new BarcodeGenerator(EncodeTypes.QR, qrCodeText); generator.Parameters.Resolution = 400f; generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None; generator.Parameters.Barcode.QR.CodeTextEncoding = Encoding.UTF8; generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Auto; generator.Parameters.Barcode.QR.QrEncodeType = QREncodeType.ForceQR; generator.Parameters.Barcode.QR.QrErrorLevel = QRErrorLevel.LevelL; return generator.GenerateBarCodeImage(); } private string GetIgazolasKiallitasHelyEsIdo(NyomtatvanyModel model) { var telepulesHelper = new TelepulesHelper(ConnectionTypeExtensions.GetSessionConnectionType()); var igazolasKiallitasHely = telepulesHelper.GetTelepulesek().First(t => t.Id == model.IgazolasKiallitasanakHelyeId).TelepulesNev; if (igazolasKiallitasHely.Contains(Core.Constants.General.Budapest)) { igazolasKiallitasHely = Core.Constants.General.Budapest; } var igazolasKiallitasHelyEsIdo = $"{igazolasKiallitasHely}, {NyomtatvanyokLogic.KeltSzoveg(DateTime.Today, model.FormatumId)}"; return igazolasKiallitasHelyEsIdo; } private ActionResult HaladasiMunkafuzet(NyomtatvanyModel model, NyomtatvanyEnum nyomtatvanyEnum, Enums.DokumentumTipusEnum dokumentumTipus) { try { var OutPut = new MemoryStream(); var ZipOutPut = new ZipOutputStream(OutPut); var buffer = new byte[Constants.General.BufferSize]; List idList; Enums.DokumentumElemiSzintEnum elemiSzint; OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null; switch (nyomtatvanyEnum) { case NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent: idList = GetOsztalyCsoportIdListByFelhasznaloId(model.OsztalyCsoportIdList, oktNevKategoria); if (idList.Count == 0) { throw new ApplicationException(NyomtatvanyokResource.UresDokumentum); } break; case NyomtatvanyEnum.HaladasiMunkafuzetTanaronkent: default: idList = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList); break; } var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null); foreach (var id in idList) { NyomtatvanyNevGeneralasModel nevmodel; DataSet ds; int? osztalyId = null; var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()); switch (nyomtatvanyEnum) { case NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent: var isCsoport = !helper.IsCsoportVagyOsztalyByTanev(id); elemiSzint = (isCsoport) ? DokumentumElemiSzintEnum.Csoport : DokumentumElemiSzintEnum.Osztaly; ds = helper.GetHaladasiMunkafuzet(id, (int?)null, isCsoport, oktNevKategoria, true); nevmodel = new NyomtatvanyNevGeneralasModel() { OsztalyCsoportId = id, TanevID = ClaimData.SelectedTanevID.Value }; osztalyId = id; break; case NyomtatvanyEnum.HaladasiMunkafuzetTanaronkent: default: elemiSzint = DokumentumElemiSzintEnum.Tanulo; ds = helper.GetHaladasiMunkafuzet((int?)null, id, (bool?)null, null); nevmodel = new NyomtatvanyNevGeneralasModel() { TanarID = id, TanevID = ClaimData.SelectedTanevID.Value }; break; } if (idList.Count > 1) { if (ds.Tables[0].Rows.Count == 0) { continue; } if (!model.Iktatas) { ds.Tables.Remove("IktatasAdatok"); if (nyomtatvanyEnum == NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent) { ds.Tables.Remove("Tanarok"); } var stream = ExcelNyomtatasByMemoryStream(ds, false, dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: dokumentumTipus); AddExcelMintZipEntry(ZipOutPut, stream, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel)); } else { foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, elemiSzint); ds.Tables.Remove("IktatasAdatok"); if (nyomtatvanyEnum == NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent) { ds.Tables.Remove("Tanarok"); } ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: dokumentumTipus, osztalyId: osztalyId, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio); } } else { if (ds.Tables[0].Rows.Count == 0) { throw new ApplicationException(NyomtatvanyokResource.UresDokumentum); } if (model.Iktatas) { foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, elemiSzint); } ds.Tables.Remove("IktatasAdatok"); if (nyomtatvanyEnum == NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent) { ds.Tables.Remove("Tanarok"); } return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: dokumentumTipus, osztalyId: osztalyId, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio); } } ZipOutPut.Finish(); OutPut.Position = 0; if (!model.Iktatas) { var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value }; return new FileStreamResult(OutPut, Constants.ImportExport.ContentType) { FileDownloadName = $"{CommonExtensions.NevGeneralas("HaladasiMunkafuzet", zipnevmodel)}.{Constants.ImportExport.FileFormatZip}" }; } return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok }); } catch (Exception ex) { throw NyomtatvanyokLogic.NyomtatvanyError(ex); } } private ActionResult NemKotottMunkaidoReszletezo(NyomtatvanyModel model, NyomtatvanyEnum nyomtatvany, Enums.DokumentumTipusEnum dokumentumTipus) { var OutPut = new MemoryStream(); var ZipOutPut = new ZipOutputStream(OutPut); try { var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()); System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetNemKotottMunkaidoReszletezo)); Dictionary dsParameterek = new Dictionary(); string distinctTables = null; if (nyomtatvany == NyomtatvanyEnum.KotottMunkaidoNevelesselOktatassalLeNemKotottReszletezoHavi) { dsParameterek.Add("honapId", model.HonapId); distinctTables = "Idoszak"; } Dictionary frxParameterek = new Dictionary { {"Kelt", model.KeltDatum.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix)} }; return AltalanosPedagogusGeneralas(model, nyomtatvany.ToString(), DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus, metodus, 0, dsParameterek, frxParameterek, distinctTables: distinctTables); } catch (Exception ex) { throw NyomtatvanyokLogic.NyomtatvanyError(ex); } } private ActionResult HelyettesitesekListajaOsszesito(DataSet ds, NyomtatvanyModel model, DokumentumKategoriaEnum dokumentumKategoria, Enums.DokumentumTipusEnum dokumentumTipus, NameValueCollection kulcsSzavak, BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel foszamDefinicio) { var parameters = new Dictionary { { nameof(model.HelyettesitesListaFormatumId), model.HelyettesitesListaFormatumId }, { nameof(model.HelyettesitesTipusanakMegjelenitese), model.HelyettesitesTipusanakMegjelenitese } }; var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID }; return Nyomtatas(ds, "HelyettesitesekListaja", parameters, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel, true), formatumId: model.FormatumId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio); } private ActionResult HelyettesitesekListajaPedagogusonkent(DataSet ds, NyomtatvanyModel model, DokumentumKategoriaEnum dokumentumKategoria, Enums.DokumentumTipusEnum dokumentumTipus, NameValueCollection kulcsSzavak, BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel foszamDefinicio) { ds.Tables.RemoveAt(ds.Tables.Count - 1); var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID }; return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel, true), dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio); } [HttpPost] public ActionResult PedagogusAltalAdottOsztalyzatok([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model) { var outPut = new MemoryStream(); var zipOutPut = new ZipOutputStream(outPut); var nincsAdat = true; try { var buffer = new byte[Constants.General.BufferSize]; var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null); OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null; var pedagogusIdList = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList, oktNevKategoria); foreach (var pedagogusId in pedagogusIdList) { var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value, TanarID = pedagogusId }; if (model.PedagogusId != 0) { nevmodel.TanarID = pedagogusId; } var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetPedagogusAltalAdottOsztalyzatok(pedagogusId, model.ErtekelesmodSuly, oktNevKategoria); if (pedagogusIdList.Count > 1) { if ((model.ErtekelesmodSuly && ds.Tables.Count == 2) || (!model.ErtekelesmodSuly && ds.Tables.Count == 1)) { continue; } nincsAdat = false; if (!model.Iktatas) { ds.Tables.Remove("IktatasAdatok"); var stream = ExcelNyomtatasByMemoryStream(ds, false, dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, lastRowStyleLikeHeader: true, sheetsWithoutLastRowStyleLikeHeader: (model.ErtekelesmodSuly ? new List { ds.Tables.Count - 1 } : null)); AddExcelMintZipEntry(zipOutPut, stream, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel)); } else { foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, ds, DokumentumElemiSzintEnum.Tanulo); ds.Tables.Remove("IktatasAdatok"); ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, lastRowStyleLikeHeader: true, sheetsWithoutLastRowStyleLikeHeader: (model.ErtekelesmodSuly ? new List { ds.Tables.Count - 1 } : null)); } } else { if ((model.ErtekelesmodSuly && ds.Tables.Count == 2) || (!model.ErtekelesmodSuly && ds.Tables.Count == 1)) { throw new StatusError( HttpStatusCode.InternalServerError, StringResourcesUtil.GetString(3653) /*Üres*/); } if (model.Iktatas) { foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, ds, DokumentumElemiSzintEnum.Tanulo); } ds.Tables.Remove("IktatasAdatok"); return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, lastRowStyleLikeHeader: true, sheetsWithoutLastRowStyleLikeHeader: (model.ErtekelesmodSuly ? new List { ds.Tables.Count - 1 } : null)); } } zipOutPut.Finish(); outPut.Position = 0; if (nincsAdat) { throw new StatusError( HttpStatusCode.InternalServerError, StringResourcesUtil.GetString(3653) /*Üres*/); } if (!model.Iktatas) { var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value }; return new FileStreamResult(outPut, Constants.ImportExport.ContentType) { FileDownloadName = $"{CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", zipnevmodel)}.{Constants.ImportExport.FileFormatZip}" }; } return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok }); } catch (Exception ex) { throw NyomtatvanyokLogic.NyomtatvanyError(ex); } } [HttpPost] public ActionResult HaladasiMunkafuzetOsztalyCsoportonkent([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model) { return HaladasiMunkafuzet(model, NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent, Enums.DokumentumTipusEnum.HaladasiMunkafuzetOsztalyonkent); } [HttpPost] public ActionResult HaladasiMunkafuzetTanaronkent([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model) { return HaladasiMunkafuzet(model, NyomtatvanyEnum.HaladasiMunkafuzetTanaronkent, Enums.DokumentumTipusEnum.HaladasiMunkafuzetTanaronkent); } [HttpPost] public ActionResult TanarOrarendiLefedettseg(NyomtatvanyModel model) { try { DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanarOrarendiLefedettseg(); var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value }; return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("TanarOrarendiLefedettseg", nevmodel), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: null); } catch (Exception ex) { throw NyomtatvanyokLogic.NyomtatvanyError(ex); } } public ActionResult MunkaidoElszamlololap([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model) { try { var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()); bool isKlebersbergOrNSZFH = FeatureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokKlebelsberg) || FeatureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokNSZFH); System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetMunkaidoElszamololap)); OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null; var kotelezoOraszamokResponse = KozpontiKretaHelper.GetKotelezoOraszam(new KotelezoOraszamRequestModel { AlkalmazottLista = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList), IntezmenyAzonosito = ClaimData.IntezmenyAzonosito, TanevId = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo().Sorszam, }); Dictionary dsParameterek = new Dictionary() { {"honapId", model.HonapId}, {"isKlebersbergOrNSZFH", isKlebersbergOrNSZFH}, {"kategoria", oktNevKategoria}, {"bontas", (int)model.MunkaidoelszamolasBontas }, {"felnottkepzesKulon", model.FelnottkepzesiOrakElkulonitese }, {"elmeletGyakorlatKulon", model.ElmeletiGyakorlatiOrakElkulonitese}, {"tanoraiFoglalkozasokUresBlokkMegjelenites", model.TanoraiFoglalkozasokUresBlokkMegjelenites }, {"tanoranKivuliFoglalkozasokUresBlokkMegjelenites", model.TanoranKivuliFoglalkozasokUresBlokkMegjelenites }, {"egyeniFoglalkozasokUresBlokkMegjelenites", model.EgyeniFoglalkozasokUresBlokkMegjelenites }, {"helyettesitesekUresBlokkMegjelenites", model.HelyettesitesekUresBlokkMegjelenites }, {"oktNevLeNemKotottMunkaidoUresBlokkMegjelenites", model.OktNevLeNemKotottMunkaidoUresBlokkMegjelenites }, {"szakszeruHelySzorzo", null }, {"nemSzakszeruHelySzorzo", null }, {"osszevonasSzorzo", null }, {"osszevontFelSzorzo", null }, {"parhuzamosOrakMegjelenitese", model.ParhuzamosOrakMegjelenitese }, }; if (kotelezoOraszamokResponse != null && kotelezoOraszamokResponse.AlkalmazottLista != null && kotelezoOraszamokResponse.AlkalmazottLista.Count > 0) dsParameterek.Add("kotelezoOraszamok", kotelezoOraszamokResponse.AlkalmazottLista.ToDictionary(x => x.AlkalmazottId, x => x.KotelezoOraszamSzoveg)); else if (model.PedagogusIdList != null) dsParameterek.Add("kotelezoOraszamok", model.PedagogusIdList.ToDictionary(x => int.Parse(x.ToString()), x => x.ToString(NyomtatvanyokResource.NA))); else { var alkHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()); var alkalmazottak = alkHelper.GetAlkalmazottak(); List keys = new List(alkalmazottak.Keys); foreach (string key in keys) alkalmazottak[key] = NyomtatvanyokResource.NA; dsParameterek.Add("kotelezoOraszamok", alkalmazottak.ToDictionary(x => int.Parse(x.Key), x => x.Value)); } Dictionary frxParameterek = new Dictionary { {"Kelt", DateTime.Today.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix + ".")}, {"bontas", (int)model.MunkaidoelszamolasBontas }, {"TanoraiFoglalkozasokUresBlokkMegjelenites", model.TanoraiFoglalkozasokUresBlokkMegjelenites }, {"TanoranKivuliFoglalkozasokUresBlokkMegjelenites", model.TanoranKivuliFoglalkozasokUresBlokkMegjelenites }, {"EgyeniFoglalkozasokUresBlokkMegjelenites", model.EgyeniFoglalkozasokUresBlokkMegjelenites }, {"HelyettesitesekUresBlokkMegjelenites", model.HelyettesitesekUresBlokkMegjelenites }, {"OktNevLeNemKotottMunkaidoUresBlokkMegjelenites", model.OktNevLeNemKotottMunkaidoUresBlokkMegjelenites }, {"ElmeletiGyakorlatiOrakElkulonitese", model.ElmeletiGyakorlatiOrakElkulonitese }, {"FelnottkepzesiOrakElkulonitese", model.FelnottkepzesiOrakElkulonitese }, {"szakszeruHelySzorzo", null }, {"nemSzakszeruHelySzorzo", null }, {"osszevonasSzorzo", null }, {"osszevontFelSzorzo", null } }; return AltalanosPedagogusGeneralas(model, NyomtatvanyEnum.MunkaidoElszamololap.ToString(), DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.MunkaidoElszamololapHonap, metodus, 2, dsParameterek, frxParameterek, distinctTables: "Honapok,Hetek,EvHonapok", egyediLablecKellOldalszam: false); } catch (Exception ex) { throw NyomtatvanyokLogic.NyomtatvanyError(ex); } } public ActionResult NemKotottMunkaidoReszletezoHeti([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model) { return NemKotottMunkaidoReszletezo(model, NyomtatvanyEnum.KotottMunkaidoNevelesselOktatassalLeNemKotottReszletezoHeti, Enums.DokumentumTipusEnum.NemKotottMunkaidoReszletezoHetiBontas); } public ActionResult NemKotottMunkaidoReszletezoHavi([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model) { return NemKotottMunkaidoReszletezo(model, NyomtatvanyEnum.KotottMunkaidoNevelesselOktatassalLeNemKotottReszletezoHavi, Enums.DokumentumTipusEnum.NemKotottMunkaidoReszletezoHaviBontasHonap); } [HttpPost] public ActionResult HelyettesitesekListaja([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model) { try { bool isPedagogusonkent = model.FormatumId == (int)NyomtatvanyFormatumEnum.Excel; DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHelyettesitesekListaDetails(model.IdoszakKezdete, model.IdoszakVege, model.HelyettesitesListaFormatumId, isPedagogusonkent); var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null); if (model.Iktatas) { foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.HelyettesitesekListajaHetSorszama, ds, DokumentumElemiSzintEnum.Intezmeny); } return isPedagogusonkent ? HelyettesitesekListajaPedagogusonkent(ds, model, DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.HelyettesitesekListajaHetSorszama, foszamKulcsSzavak.kulcsSzavak, foszamKulcsSzavak.foszamDefinicio) : HelyettesitesekListajaOsszesito(ds, model, DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.HelyettesitesekListajaHetSorszama, foszamKulcsSzavak.kulcsSzavak, foszamKulcsSzavak.foszamDefinicio); } catch (Exception ex) { throw NyomtatvanyokLogic.NyomtatvanyError(ex); } } [HttpPost] public ActionResult HelyettesitesiNaplo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model) { try { var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()); System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetHelyettesitesiNaplo)); Dictionary dsParameterek = new Dictionary() { {"bontas", model.HelyettesitesiNaploBontas} }; Dictionary frxParameterek = new Dictionary { {"Intezmeny_OM_Azon", ClaimData.OrganizationCode}, {"Intezmeny_Nev", ClaimData.OrganizationName.ToUpper()}, {"bontas", (int) model.HelyettesitesiNaploBontas} }; return AltalanosPedagogusGeneralas(model, "HelyettesitesiNaplo", DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.HelyettesitesiNaplo, metodus, 0, dsParameterek, frxParameterek, emptyDocumentTable: "Fejlec"); } catch (Exception ex) { throw NyomtatvanyokLogic.NyomtatvanyError(ex); } } [HttpPost] public ActionResult PedagogusigazolvanyHelyettKiallitottIgazolas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model) { try { var nyomtatvanyokHelper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()); var maHelper = new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()); model.PedagogusIdList = new List { model.PedagogusId }; var alulirottMegnevezese = maHelper.GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text; var metodus = nyomtatvanyokHelper.GetType().GetMethod(nameof(nyomtatvanyokHelper.GetPedagogusIgazolas)); var dsParameterek = new Dictionary() { { "alkalmazottId", model.PedagogusId }, { "isIntezmenyNevMegjelenik", model.IntezmenyNevenekMegjelenitese }, { "isFelhelyCimMegjelenik", model.FeladatellatasiHelyCimenekMegjelenitese } }; var frxParameterek = new Dictionary { { "IgazolasSorszama", model.IgazolasSorszama }, { "ErvenyessegVege", model.ErvenyessegVege.ToString(Core.Constants.ToStringPattern.HungarianDate) }, { "IgazolasKiallitasanakOka", GetIgazolasKiallitasanakOkaText(model.IgazolasKiallitasanakOka) }, { "IgazolasKiallitasHelyIdo", GetIgazolasKiallitasHelyEsIdo(model) }, { "EgyebIntezmenyiAdatok", GetEgyebIntezmenyiAdatok(model) }, { "AlulirottMegnevezese" , alulirottMegnevezese }, }; var qrCode = GenerateQrCodeForPedagogusIgazolas(model); return AltalanosPedagogusGeneralas(model, "PedagogusIgazolas", DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.pedagogusigazolvany_helyett_kiallitott_igazolas, metodus, 0, dsParameterek, frxParameterek, qrCode: qrCode, egyediLablecKellOldalszam: false, emptyDocumentTable: "Adatok"); } catch (Exception ex) { throw NyomtatvanyokLogic.NyomtatvanyError(ex); } } } }