using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Web; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.Classes.ComboBox; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.HelperClasses.Dokumentum; using Kreta.BusinessLogic.Helpers.SystemSettings; using Kreta.BusinessLogic.Logic; using Kreta.BusinessLogic.Utils; using Kreta.Core; using Kreta.Core.ConnectionType; using Kreta.Core.Logic; using Kreta.DataAccessManual; using Kreta.DataAccessManual.Interfaces; using Kreta.DataAccessManual.ParameterClasses; using Kreta.DataAccessManual.Util; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Framework; using Kreta.Framework.Caching; using Kreta.Framework.Util; using Kreta.KretaServer.SystemSettings; using Kreta.Resources; using Kreta.Web.Helpers.Extension; using Newtonsoft.Json.Linq; using OfficeOpenXml; using SelectPdf; namespace Kreta.BusinessLogic.Helpers { public class NyomtatvanyokHelper : LogicBase { public NyomtatvanyokHelper(IConnectionType connectionType) : base(connectionType) { } public (bool IsDokumentumFejlecMegjelenit, bool IsDokumentumLablecMegjelenit) GetActualIntezmenyAdatok() { return Dal.CustomConnection.Run(ConnectionType, helper => { var intemzenyDal = helper.IntezmenyDal(); var intemzenyAdatokDal = helper.IntezmenyAdatokDal(); var intezmeny = intemzenyDal.Get(IntezmenyId); var adatok = intezmeny.IntezmenyAdatok.FirstOrDefault(x => x.TanevId == TanevId && !x.Torolt); var intezmenyadat = adatok ?? intemzenyAdatokDal.Get(); return (intezmenyadat.IsDokumentumFejlecMegjelenit, intezmenyadat.IsDokumentumLablecMegjelenit); }); } public DataSet GetIntezmenyCimeByTanev() { return Dal.CustomConnection.Run(ConnectionType, handler => { var nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetIntezmenyCimeByTanev(TanevId); return ds; }); } public DataSet GetOsztalyByTanev(int felhasznaloId, OktNevelesiKategoriaEnum? kategoria) { return Dal.CustomConnection.Run(ConnectionType, helper => { var dal = helper.NyomtatvanyokDal(); return dal.GetOsztalyByTanev(TanevId, IntezmenyId, felhasznaloId, kategoria); }); } public List GetOsztalyByTanevList(int? felhasznaloId, OktNevelesiKategoriaEnum? kategoria) { return Dal.CustomConnection.Run(ConnectionType, h => { return GetOsztalyByTanevList(h, felhasznaloId, kategoria); }); } private List GetOsztalyByTanevList(IDalHandler h, int? felhasznaloId, OktNevelesiKategoriaEnum? kategoria) { INyomtatvanyokDal nyomtatvanyokDal = h.NyomtatvanyokDal(); var result = new List(); var dataRowList = nyomtatvanyokDal.GetOsztalyByTanev(TanevId, IntezmenyId, felhasznaloId, kategoria).Tables[0].AsEnumerable(); foreach (var dataRow in dataRowList) { result.Add(dataRow["Id"].ToString()); } return result.Select(int.Parse).ToList(); } private List GetCsoportByTanevList(IDalHandler h, int? felhasznaloId, OktNevelesiKategoriaEnum? kategoria) { INyomtatvanyokDal nyomtatvanyokDal = h.NyomtatvanyokDal(); var result = new List(); var dataRowList = nyomtatvanyokDal.GetCsoportByTanev(TanevId, IntezmenyId, felhasznaloId, kategoria).Tables[0].AsEnumerable().ToList(); foreach (var dataRow in dataRowList) { result.Add(dataRow["Id"].ToString()); } return result.Select(int.Parse).ToList(); } public List GetCsoportByTanevList(int? felhasznaloId, OktNevelesiKategoriaEnum? kategoria) { return Dal.CustomConnection.Run(ConnectionType, h => { return GetCsoportByTanevList(h, felhasznaloId, kategoria); }); } public List GetOsztalyCsoportByTanevList(int? felhasznaloId, OktNevelesiKategoriaEnum? kategoria) { return Dal.CustomConnection.Run(ConnectionType, h => { var osztalyList = GetOsztalyByTanevList(h, felhasznaloId, kategoria); return osztalyList.Concat(GetCsoportByTanevList(h, felhasznaloId, kategoria)).ToList(); }); } public List GetPedagogusByTanevList(int? felhasznaloId, OktNevelesiKategoriaEnum? oktNevKategoria) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var result = new List(); var dataRowList = nyomtatvanyokDal.GetPedagogusByTanev(TanevId, IntezmenyId, felhasznaloId, oktNevKategoria: oktNevKategoria).Tables[0].AsEnumerable().ToList(); foreach (var dataRow in dataRowList) { result.Add(dataRow["Id"].ToString()); } return result.Select(int.Parse).ToList(); }); } public List GetTeremByTanevList() { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var result = new List(); var dataRowList = nyomtatvanyokDal.GetTeremByTanev(TanevId, IntezmenyId).Tables[0].AsEnumerable().ToList(); foreach (var dataRow in dataRowList) { result.Add(dataRow["Id"].ToString()); } return result.Select(int.Parse).ToList(); }); } public List GetTanulokByOsztalyList(int osztalyId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var result = new List(); var dataRowList = nyomtatvanyokDal.GetTanulokByOsztaly(osztalyId).Tables[0].AsEnumerable().ToList(); foreach (var dataRow in dataRowList) { result.Add(dataRow["Id"].ToString()); } return result.Select(int.Parse).ToList(); }); } public DataSet GetCsoportByTanev(int felhasznaloId, OktNevelesiKategoriaEnum? kategoria) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetCsoportByTanev(TanevId, IntezmenyId, felhasznaloId, kategoria); return ds; }); } public DataSet GetFoglalkozasByTanev(int felhasznaloId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetFoglalkozasByTanev(TanevId, IntezmenyId, felhasznaloId, null); return ds; }); } public List GetoFoglalkozasByTanevList(int? felhasznaloId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var lista = new List(); var dataRowList = nyomtatvanyokDal.GetFoglalkozasByTanev(TanevId, IntezmenyId, felhasznaloId).Tables[0].AsEnumerable().ToList(); foreach (var dataRow in dataRowList) { lista.Add(dataRow["Id"].ToString()); } return lista.Select(int.Parse).ToList(); }); } public DataSet GetPedagogusByTanev(int? felhasznaloId, bool oktatasiAzonositoval = false, bool csakSzakOktatasertFelelosok = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetPedagogusByTanev(TanevId, IntezmenyId, felhasznaloId, oktatasiAzonositoval, csakSzakOktatasertFelelosok); return ds; }); } private Dictionary GetPedagogusByTanevDictionary(IDalHandler handler, int? felhasznaloId) { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var dictionary = new Dictionary(); var dataRowList = nyomtatvanyokDal.GetPedagogusByTanev(TanevId, IntezmenyId, felhasznaloId).Tables[0].AsEnumerable().ToList(); foreach (var dataRow in dataRowList) { dictionary.Add(int.Parse(dataRow["Id"].ToString()), $"{dataRow["Nev"].ToString()} ({SDAConvert.ToString(dataRow["OktatasiAzonosito"]).ReplaceMultipleSpacesAndTrim()})"); } return dictionary; } public DataSet GetTanulokByOsztaly(int osztalyId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanulokByOsztaly(osztalyId); return ds; }); } public List GetLezartNaplosOsztalyokList() { return Dal.CustomConnection.Run(ConnectionType, h => { INyomtatvanyokDal nyomtatvanyokDal = h.NyomtatvanyokDal(); var lista = new List(); var dataRowList = nyomtatvanyokDal.GetLezartNaplosOsztalyokDs().Tables[0].AsEnumerable().ToList(); foreach (var dataRow in dataRowList) { lista.Add(dataRow["Id"].ToString()); } var lezartOsztalyokSettings = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue>(RendszerBeallitasTipusEnum.lezart_osztalynaplok); lista.AddRange(lezartOsztalyokSettings); return lista.Select(int.Parse).ToList(); }); } public List GetKeresztfelevesOsztalyIdList() { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var lista = new List(); var dataRowList = nyomtatvanyokDal.GetKeresztfelevesOsztalyIdDs(TanevId).Tables[0].AsEnumerable().ToList(); foreach (var dataRow in dataRowList) { lista.Add(dataRow["Id"].ToString()); } return lista.Select(int.Parse).ToList(); }); } public DataSet GetNemKotottMunkaidoReszletezo(int alkalmazottId, int honapId = -1) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetNemKotottMunkaidoReszletezo(alkalmazottId, TanevId, IntezmenyId, honapId); return ds; }); } public DataSet GetOsztalynaplo(int osztalyId, int? aktivtanevId, bool iskolaErdekuSzamit, bool fuggolegesTantargyak, bool isReszletesMulasztasok, bool isEgyebFoglalkozasok, int minTanoraSzam, DateTime orarendErvenyessegiDatum, bool isEllenorzo = false, bool isSzovegesNaplo = false, bool naploZaras = false, bool osztalyTanuloOrarendbenNemLatszik = false, bool isMagatartasSzorgalomNemLatszik = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetOsztalynaplo(osztalyId, IntezmenyId, TanevId, aktivtanevId, iskolaErdekuSzamit, fuggolegesTantargyak, isReszletesMulasztasok, isEgyebFoglalkozasok, minTanoraSzam, isEllenorzo, orarendErvenyessegiDatum, isSzovegesNaplo, osztalyTanuloOrarendbenNemLatszik: osztalyTanuloOrarendbenNemLatszik); for (var i = 0; i < ds.Tables[3].Rows.Count; i++) { ds.Tables[3].Rows[i]["ESZREVETEL"] = HttpUtility.HtmlDecode(Regex.Replace(ds.Tables[3].Rows[i]["ESZREVETEL"].ToString(), $"<.*?>", string.Empty)); } foreach (DataRow row in ds.Tables["TanuloSzoveges"].Rows) { row["Ertekeles"] = GetFastReportCompatibleHtmlString(row["Ertekeles"].ToString()); } if (naploZaras && string.IsNullOrWhiteSpace(ds.Tables["Fejlec"].Rows[0]["NaploZarasanakDatuma"]?.ToString())) { var tanev = new TanevHelper(new DalHandlerConnectionType(ConnectionType, handler)).GetTanevInfo(); var osztalyIsVegzos = new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, handler)).GetIsVegzosOsztalyCsoport(osztalyId); var utolsoTanitasiNap = osztalyIsVegzos ? tanev.UtolsoTanitasiNapVegzos : tanev.UtolsoTanitasiNap; ds.Tables["Fejlec"].Rows[0]["NaploZarasanakDatuma"] = utolsoTanitasiNap.ToString(Constants.ToStringPattern.HungarianDate); } if (isMagatartasSzorgalomNemLatszik) { var tanuloTantargyiErtekeleseiDataTable = ds.Tables["TanuloTantargyiErtekelesei"]; tanuloTantargyiErtekeleseiDataTable.RemoveDataRowIfAnyColumnValueMatch("RENDEZ1", new List() { 0, 1 }); } var temp = ds.Tables["OsszefuggoSzakmaiGyakorlat"].Copy(); ds.Tables.Remove("OsszefuggoSzakmaiGyakorlat"); ds.Tables.Add(GetOsszefuggoSzakmaiGyakorlatZaradek(temp)); return ds; }); } public DataSet GetTanulokGyorsBejegyzesStatisztika(int osztalyId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanulokGyorsBejegyzesStatisztika(osztalyId, TanevId); return ds; }); } public DataSet GetTanulokBejegyzesStatisztika(int osztalyId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); return nyomtatvanyokDal.GetTanulokBejegyzesStatisztika(osztalyId, TanevId); }); } public DataSet GetEloadasokTanuloinakOsszesitoje(List osztalyIdList, int oktNevKategoria) { return Dal.CustomConnection.Run(ConnectionType, handler => { ILepEloadasJegyzekDal lepEloadasJegyzekDal = handler.LepEloadasJegyzekDal(); var ds = lepEloadasJegyzekDal.GetEloadasokTanuloinakOsszesitoje(TanevId, osztalyIdList, oktNevKategoria); return ds; }); } private DataTable GetOsszefuggoSzakmaiGyakorlatZaradek(DataTable dt, bool isTorzslap = false) { dt.Columns.Add("Bejegyzes"); if (isTorzslap) { dt.Columns.Add("KeltezesDatuma"); dt.Columns.Add("KeltezesHelye"); } foreach (DataRow dataRow in dt.Rows) { if (SDAConvert.ToBooleanFromTF(dataRow["isTeljesitett"])) { if (string.IsNullOrWhiteSpace(dataRow["Ertekeles"].ToString())) { dataRow["Bejegyzes"] = FeljegyzesekResource.TanuloAzOsszefuggoSzakmaiGyakorlatotTeljesitetteErdemjegyNelkul; } else { dataRow["Bejegyzes"] = FeljegyzesekResource.TanuloAzOsszefuggoSzakmaiGyakorlatotTeljesitetteErdemjegyetKapott + " [" + dataRow["Ertekeles"].ToString() + "]"; } } else { dataRow["Bejegyzes"] = FeljegyzesekResource.TanuloAzOsszefuggoSzakmaiGyakorlatotNemTeljesitette; } if (isTorzslap) { dataRow["KeltezesDatuma"] = dataRow["Datum"]; dataRow["KeltezesHelye"] = dataRow["FeladatellatasiHelyVaros"]; } } return dt; } public int GetOrarendUtolsoNapja(DataTable orarendTable, bool byHetNapjaTipusSzoveg = false) { bool isSzombatiOra = orarendTable.AsEnumerable().Any(r => !string.IsNullOrWhiteSpace(r.Field(((!byHetNapjaTipusSzoveg) ? ((int)HetNapjaTipusEnum.Szombat).ToString() : HetNapjaTipusEnum.Szombat.ToString())))); bool isVasarnapiOra = orarendTable.AsEnumerable().Any(r => !string.IsNullOrWhiteSpace(r.Field(((!byHetNapjaTipusSzoveg) ? ((int)HetNapjaTipusEnum.Vasarnap).ToString() : HetNapjaTipusEnum.Vasarnap.ToString())))); if (isSzombatiOra || isVasarnapiOra) { return (int)HetNapjaTipusEnum.Vasarnap; } return (int)HetNapjaTipusEnum.Pentek; } public DataSet GetEllenorzo(int osztalyId, int? aktivtanevId, bool iskolaErdekuSzamit, bool fuggolegesTantargyak, bool isReszletesMulasztasok, bool isEgyebFoglalkozasok, int minTanoraSzam, DateTime orarendErvenyessegiDatum, bool isEllenorzo = false, bool isSzovegesNaplo = false, int tanuloId = 0, bool isMagatartasSzorgalomNemLatszik = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var osztalynaplpDs = nyomtatvanyokDal.GetOsztalynaplo(osztalyId, IntezmenyId, TanevId, aktivtanevId, iskolaErdekuSzamit, fuggolegesTantargyak, isReszletesMulasztasok, isEgyebFoglalkozasok, minTanoraSzam, isEllenorzo, orarendErvenyessegiDatum, isSzovegesNaplo, tanuloId, osztalyTanuloOrarendbenNemLatszik: true); var tanuloOrarendDs = nyomtatvanyokDal.GetTanuloOrarend(TanevId, osztalyId, aktivtanevId.Value, isEgyebFoglalkozasok, orarendErvenyessegiDatum, tanuloId); osztalynaplpDs.Tables["TanuloGonviselokAdatai"].Columns[0].ColumnName = "TanuloId"; if (isMagatartasSzorgalomNemLatszik) { var tanuloTantargyiErtekeleseiDataTable = osztalynaplpDs.Tables["TanuloTantargyiErtekelesei"]; tanuloTantargyiErtekeleseiDataTable.RemoveDataRowIfAnyColumnValueMatch("RENDEZ1", new List() { 0, 1 }); } var ds = new DataSet(); ds.Tables.Add(osztalynaplpDs.Tables["Fejlec"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["Tanarok"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["TanuloAlapAdatok"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["TanuloElerhetosegei"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["TanuloMentessegei"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["TanuloHatarozatok"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["FeljegyzesekATanulorol"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["TanuloMulasztasai"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["TanuloGonviselokAdatai"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["TanuloZaradek"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["TanuloSzoveges"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["TanuloKozossegiSzolgalat"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["TanuloTantargyiErtekelesei"].Copy()); ds.Tables.Add(tanuloOrarendDs.Tables["TanuloHetirend"].Copy()); ds.Tables.Add(tanuloOrarendDs.Tables["Orarend"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["ErtekelesFeljegyzesei1Felev"].Copy()); ds.Tables.Add(osztalynaplpDs.Tables["ErtekelesFeljegyzesei2Felev"].Copy()); foreach (DataRow row in ds.Tables["TanuloSzoveges"].Rows) { row["Ertekeles"] = GetFastReportCompatibleHtmlString(row["Ertekeles"].ToString()); } return ds; }); } public DataSet GetOrarendOsszes(int? pedagogusId, int? teremId, int? osztalyCsoportId, int orarendTipusa, DateTime hetKezdete, DateTime hetVege, bool kapcsolodoCsoportokMegjelenitese, bool osztalyBontasokMegjelenitese, OktNevelesiKategoriaEnum? kategoria) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetOrarendOsszes(IntezmenyId, TanevId, pedagogusId, teremId, osztalyCsoportId, orarendTipusa, hetKezdete, hetVege, kapcsolodoCsoportokMegjelenitese, osztalyBontasokMegjelenitese, kategoria); return ds; }); } public DataSet GetCsoportNaplo(int csoportId, bool gyakorlatiOrakMegjelenites, bool elmeletiOrakMegjelenites, bool iskolaErdekuSzamit, CsoportnaploTanulokSorrendjeEnum csoportnaploTanulokSorrendje, (int jelenletAdatokOsszesitese, int jelenletTablazatElrendezese)? jelenletAdatokMegjelenes = null, bool isMagatartasSzorgalomNemLatszik = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { var tanevDal = handler.TanevDal(); var data = tanevDal.Get(TanevId); INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetCsoportNaplo(csoportId, IntezmenyId, TanevId, gyakorlatiOrakMegjelenites, elmeletiOrakMegjelenites, iskolaErdekuSzamit, DateTime.Now < data.ElsoTanitasiNap ? data.ElsoTanitasiNap.Value : DateTime.Now.Date, jelenletAdatokMegjelenes); var dv = ds.Tables["Tanulok"].DefaultView; dv.Sort = (csoportnaploTanulokSorrendje == CsoportnaploTanulokSorrendjeEnum.Alfabetikus_sorrendben) ? "NevElotagNelkul ASC" : "BelepesDatum ASC, NevElotagNelkul ASC"; ds.Tables.Remove("Tanulok"); ds.Tables.Add(dv.ToTable("Tanulok")); dv = ds.Tables["TanuloAlapAdatok"].DefaultView; dv.Sort = (csoportnaploTanulokSorrendje == CsoportnaploTanulokSorrendjeEnum.Alfabetikus_sorrendben) ? "NevElotagNelkul ASC" : "BelepesDatum ASC, NevElotagNelkul ASC"; ds.Tables.Remove("TanuloAlapAdatok"); ds.Tables.Add(dv.ToTable("TanuloAlapAdatok")); foreach (DataRow row in ds.Tables["TanuloSzoveges"].Rows) { row["Ertekeles"] = GetFastReportCompatibleHtmlString(row["Ertekeles"].ToString()); } foreach (var table in ds.Tables.Cast().Where(x => x.TableName.StartsWith("Jelenlet")).ToList()) { if (table.TableName == "JelenletFelevEvvegeHetsorszam") { continue; } if ((table.TableName == "JelenletFelev") || (table.TableName == "JelenletEvvege")) { table.Columns[table.Columns.Count - 2].ColumnName = NyomtatvanyokResource.Osszesen; table.Columns[table.Columns.Count - 1].ColumnName = NyomtatvanyokResource.Atlag; continue; } table.Columns[table.Columns.Count - 1].ColumnName = NyomtatvanyokResource.Osszesen; if (table.Rows.Count == 0) { continue; } // Összesen sor felépítése var newRow = table.NewRow(); for (int i = 0; i < table.Columns.Count - 1; i++) { dynamic ertek; switch (i) { case 0: ertek = $"{NyomtatvanyokResource.Osszesen}:"; break; case 1: ertek = int.Parse(table.TableName.Substring(8)); break; default: var jelolesSzamossagok = table.AsEnumerable().GroupBy(x => string.Join("", x[i].ToString().Take(1))).Select(group => new { group.Key, Count = group.Count() }); ertek = $"{jelolesSzamossagok.Where(x => !string.IsNullOrWhiteSpace(x.Key) && "JK".Contains(x.Key)).Sum(x => x.Count)}/{jelolesSzamossagok.Where(x => !string.IsNullOrWhiteSpace(x.Key) && "H".Contains(x.Key)).Sum(x => x.Count)}"; break; } newRow[i] = ertek; } table.Rows.Add(newRow); } if (isMagatartasSzorgalomNemLatszik) { var tanuloTantargyiErtekeleseiDataTable = ds.Tables["TanuloTantargyiErtekelesei"]; tanuloTantargyiErtekeleseiDataTable.RemoveDataRowIfAnyColumnValueMatch("RENDEZ1", new List() { 0, 1 }); } return ds; }); } public DataSet GetNapkozisNaplo(int csoportId, bool iskolaErdekuSzamit, CsoportnaploTanulokSorrendjeEnum csoportnaploTanulokSorrendje, bool szoveges = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { var tanevDal = handler.TanevDal(); var data = tanevDal.Get(TanevId); INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetNapkozisNaplo(csoportId, IntezmenyId, TanevId, iskolaErdekuSzamit, DateTime.Now < data.ElsoTanitasiNap ? data.ElsoTanitasiNap.Value : DateTime.Now.Date, szoveges); if (csoportnaploTanulokSorrendje == CsoportnaploTanulokSorrendjeEnum.Besorolas_datuma_alapjan) { var sort = "BelepesDatum ASC, Nev ASC"; var dv = ds.Tables["Tanulok"].DefaultView; dv.Sort = sort; ds.Tables.Remove("Tanulok"); ds.Tables.Add(dv.ToTable("Tanulok")); dv = ds.Tables["TanuloAdatok"].DefaultView; dv.Sort = sort; ds.Tables.Remove("TanuloAdatok"); ds.Tables.Add(dv.ToTable("TanuloAdatok")); } return ds; }); } public DataSet GetSzakmaiGyNaplo(int csoportId, bool iskolaErdekuSzamit, CsoportnaploTanulokSorrendjeEnum csoportnaploTanulokSorrendje, bool szoveges = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { var tanevDal = handler.TanevDal(); var data = tanevDal.Get(TanevId); INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetSzakmaiGyNaplo(csoportId, IntezmenyId, TanevId, iskolaErdekuSzamit, DateTime.Now < data.ElsoTanitasiNap ? data.ElsoTanitasiNap.Value : DateTime.Now.Date, szoveges); var sort = (csoportnaploTanulokSorrendje == CsoportnaploTanulokSorrendjeEnum.Alfabetikus_sorrendben) ? "Tanulo ASC" : "BelepesDatum ASC, Tanulo ASC"; var dv = ds.Tables["Mulasztas"].DefaultView; dv.Sort = sort; ds.Tables.Remove("Mulasztas"); ds.Tables.Add(dv.ToTable("Mulasztas")); dv = ds.Tables["Hianyzasok"].DefaultView; dv.Sort = sort; ds.Tables.Remove("Hianyzasok"); ds.Tables.Add(dv.ToTable("Hianyzasok")); dv = ds.Tables["TanuloAdatok"].DefaultView; dv.Sort = (csoportnaploTanulokSorrendje == CsoportnaploTanulokSorrendjeEnum.Alfabetikus_sorrendben) ? "TanuloNeve ASC" : "BelepesDatum ASC, TanuloNEVE ASC"; ds.Tables.Remove("TanuloAdatok"); ds.Tables.Add(dv.ToTable("TanuloAdatok")); return ds; }); } public DataSet GetEgyebFoglalkozasiNaplo(int csoportId, bool iskolaErdekuSzamit, CsoportnaploTanulokSorrendjeEnum csoportnaploTanulokSorrendje, bool szoveges = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { var tanevDal = handler.TanevDal(); var data = tanevDal.Get(TanevId); INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetEgyebFoglalkozasiNaplo(csoportId, IntezmenyId, TanevId, iskolaErdekuSzamit, DateTime.Now < data.ElsoTanitasiNap ? data.ElsoTanitasiNap.Value : DateTime.Now.Date, szoveges); if (csoportnaploTanulokSorrendje == CsoportnaploTanulokSorrendjeEnum.Besorolas_datuma_alapjan) { var dv = ds.Tables["TanuloAlapAdatok"].DefaultView; dv.Sort = "BelepesDatum ASC, TanuloNeve ASC"; ds.Tables.Remove("TanuloAlapAdatok"); ds.Tables.Add(dv.ToTable("TanuloAlapAdatok")); } return ds; }); } public DataSet GetErtesito(int osztalyId, int ertekelesTipus, bool iskolaErdekuSzamit, int tanitasiHetekSzamaVegzos, int tanitasiHetekSzamaNemVegzos, bool altantargyBeszamitasa, int nyomtatvanyNyelvEnumId, bool isEvesOraszamMegjelenjen, int NyomtatvanyErtekelesMegjelenitesId, bool elmeletGyakorlat = false, bool isBizonyitvany = false, bool kozossegiSzolgalat = false, bool isShowTanuloiAtlag = false, bool isMuveszetOktatasi = false, int tanuloId = -1, bool kiiratkozottTanulokMegjelenitese = true, bool negyedevreSzamoltMulasztasok = true, bool isSzovegesErtesito = false, bool isMagatartasSzorgalomNemLatszik = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetErtesito(osztalyId, TanevId, ertekelesTipus, iskolaErdekuSzamit, tanitasiHetekSzamaVegzos, tanitasiHetekSzamaNemVegzos, altantargyBeszamitasa, nyomtatvanyNyelvEnumId, elmeletGyakorlat, isBizonyitvany, kozossegiSzolgalat, isShowTanuloiAtlag, isMuveszetOktatasi, tanuloId, kiiratkozottTanulokMegjelenitese, negyedevreSzamoltMulasztasok); if (isMagatartasSzorgalomNemLatszik) { var tanuloTantargyiErtekeleseiDataTable = ds.Tables["Ertekeles"]; tanuloTantargyiErtekeleseiDataTable.RemoveDataRowIfAnyColumnValueMatch("TantargyId", new List() { -1, -2 }); } var temp = ds.Tables["OsszefuggoSzakmaiGyakorlat"].Copy(); ds.Tables.Remove("OsszefuggoSzakmaiGyakorlat"); ds.Tables.Add(GetOsszefuggoSzakmaiGyakorlatZaradek(temp)); SetFormattedFastReportSzovegesErtekeles(ds); if (isBizonyitvany) { SetSzovegesErtekeles(ds, isEvesOraszamMegjelenjen, NyomtatvanyErtekelesMegjelenitesId, nyomtatvanyNyelvEnumId); } else { if (isEvesOraszamMegjelenjen && !isSzovegesErtesito) { foreach (DataRow row in ds.Tables["Ertekeles"].Rows) { if (!string.IsNullOrWhiteSpace(row["Oraszam"].ToString())) { row["TARGY"] = $"{row["TARGY"]} ({row["Oraszam"]} óra)"; } } } } return ds; }); } private void SetFormattedFastReportSzovegesErtekeles(DataSet ds) { foreach (DataRow row in ds.Tables["Ertekeles"].Rows) { row["ErtekelesJegyzettel"] = GetFastReportCompatibleHtmlString(row["ErtekelesJegyzettel"].ToString()); row["Ertekeles"] = GetFastReportCompatibleHtmlString(row["Ertekeles"].ToString()); } } private void SetSzovegesErtekeles(DataSet ds, bool isEvesOraszamMegjelenjen = true, int NyomtatvanyErtekelesMegjelenitesId = 1, int nyomtatvanyNyelvEnumId = 1) { ds.Tables["Ertekeles"].Columns.Add("TargyWithOraszam"); ds.Tables["Ertekeles"].Columns.Add("TargyWithOraszamAndErtekeles"); if (NyomtatvanyErtekelesMegjelenitesId == 1) { if (isEvesOraszamMegjelenjen) { foreach (DataRow row in ds.Tables["Ertekeles"].Rows) { if (string.IsNullOrWhiteSpace(row["Oraszam"].ToString())) { row["TargyWithOraszam"] = $"{row["TARGY"]}"; } else { row["TargyWithOraszam"] = $"{row["TARGY"]}{Environment.NewLine}{row["Oraszam"]} {GetNyelvesitettOraszam(nyomtatvanyNyelvEnumId)}"; } } } else { foreach (DataRow row in ds.Tables["Ertekeles"].Rows) { row["TargyWithOraszam"] = $"{row["TARGY"]}:"; } } } else { if (isEvesOraszamMegjelenjen) { foreach (DataRow row in ds.Tables["Ertekeles"].Rows) { if (string.IsNullOrWhiteSpace(row["Oraszam"].ToString())) { row["TargyWithOraszamAndErtekeles"] = $"{row["TARGY"]}: {row["ErtekelesJegyzettel"]}"; } else { row["TargyWithOraszamAndErtekeles"] = $"{row["TARGY"]} ({row["Oraszam"]} {GetNyelvesitettOraszam(nyomtatvanyNyelvEnumId)}): {row["ErtekelesJegyzettel"]}"; } } } else { foreach (DataRow row in ds.Tables["Ertekeles"].Rows) { row["TargyWithOraszamAndErtekeles"] = $"{row["TARGY"]}: {row["ErtekelesJegyzettel"]}"; } } } } private string GetNyelvesitettOraszam(int nyelvEnumId) { return nyelvEnumId == (int)NyomtatvanyNyelvEnum.Magyar ? NyomtatvanyokResource.Ora : nyelvEnumId == (int)NyomtatvanyNyelvEnum.Angol ? NyomtatvanyokResource.OraAngol : NyomtatvanyokResource.OraNemet; } public DataSet GetEgyuttmukodesiMegallapodas() { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetEgyuttmukodesiMegallapodas(TanevId); return ds; }); } public DataSet GetTanuloszerzodes(string tanuloId, int osztalyId, bool isSzakkepzoIntezmenyAnd21_22TanevOrLater) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanuloszerzodes(IntezmenyId, TanevId, tanuloId, osztalyId); if (isSzakkepzoIntezmenyAnd21_22TanevOrLater) { ds.Tables[2].Columns.Remove("NappaliRend"); ds.Tables[2].Columns["Munkarend"].ColumnName = "NappaliRend"; } return ds; }); } public DataSet GetTanuloErtesito(int osztalyId, int tanuloId, int ertekelesTipus, bool iskolaErdekuSzamit, bool elmeletGyakorlat = false, bool isBizonyitvany = false, bool kozossegiSzolgalat = false, bool isMagatartasSzorgalomNemLatszik = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanuloErtesito(osztalyId, TanevId, tanuloId, ertekelesTipus, iskolaErdekuSzamit, elmeletGyakorlat, isBizonyitvany, kozossegiSzolgalat); if (isMagatartasSzorgalomNemLatszik) { var tanuloTantargyakDataSet = ds.Tables["TanuloTantargyak"]; tanuloTantargyakDataSet.RemoveDataRowIfAnyColumnValueMatch("TantargyId", new List() { -1, -2 }); } foreach (DataRow row in ds.Tables["TanuloTantargyak"].Rows) { row["Ertekeles"] = GetFastReportCompatibleHtmlString(row["Ertekeles"].ToString()); } return ds; }); } private DateTime GetElsoTanitasiNap(IDalHandler handler) { var tanevDal = handler.TanevDal(); var data = tanevDal.Get(TanevId); return data.ElsoTanitasiNap != null && DateTime.Now < data.ElsoTanitasiNap.Value ? data.ElsoTanitasiNap.Value : DateTime.Now.Date; } public DataSet GetIskolalatogatasiIgazolas(int osztalyId, bool isFelnottkepzesesJogviszonySzures, bool isSzakkepzoIntezmeny) { return Dal.CustomConnection.Run(ConnectionType, handler => { var elsoTanitasiNap = GetElsoTanitasiNap(handler); var nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetIskolalatogatasiIgazolas(osztalyId, TanevId, elsoTanitasiNap, isSzakkepzoIntezmeny, isFelnottkepzesesJogviszonySzures ? (int)JogviszonyTipusEnum.felnottkepzesi_jogviszony : (int?)null); ds.Tables["Tanulok"].Columns.Add("JogviszonyFelirat"); ds.Tables["Tanulok"].Columns.Add("JogviszonyDatummalMegszunt"); foreach (DataRow row in ds.Tables["Tanulok"].Rows) { if (SDAConvert.ToBooleanFromTF(row["IsKilepett"])) { row["JogviszonyFelirat"] = $"{NyomtatvanyokResource.JogviszonyVege}: {row["KilepesDatum"]}"; row["JogviszonyDatummalMegszunt"] = string.Format($"{NyomtatvanyokResource.JogviszonyDatummalMegszunt}", row["KilepesDatum"]); } else { row["JogviszonyDatummalMegszunt"] = DBNull.Value; if (row["JogviszonyVarhatoBefejezese"] == DBNull.Value) { row["JogviszonyFelirat"] = $"{NyomtatvanyokResource.JogviszonyVarhatoVege}: {NyomtatvanyokResource.NincsMegadva}"; } else { row["JogviszonyFelirat"] = $"{NyomtatvanyokResource.JogviszonyVarhatoVege}: {row["JogviszonyVarhatoBefejezese"]}"; } } } return ds; }); } private DataTable Pivot(DataTable dt, DataColumn pivotColumn, DataColumn pivotValue) { // find primary key columns //(i.e. everything but pivot column and pivot value) DataTable temp = dt.Copy(); temp.Columns.Remove(pivotColumn.ColumnName); temp.Columns.Remove(pivotValue.ColumnName); string[] pkColumnNames = temp.Columns.Cast() .Select(c => c.ColumnName) .ToArray(); // prep results table DataTable result = temp.DefaultView.ToTable(true, pkColumnNames).Copy(); result.PrimaryKey = result.Columns.Cast().ToArray(); dt.AsEnumerable() .Select(r => r[pivotColumn.ColumnName].ToString()) .Distinct().ToList() .ForEach(c => result.Columns.Add(c, pivotColumn.DataType)); // load it foreach (DataRow row in dt.Rows) { // find row to update DataRow aggRow = result.Rows.Find( pkColumnNames .Select(c => row[c]) .ToArray()); // the aggregate used here is LATEST // adjust the next line if you want (SUM, MAX, etc...) aggRow[row[pivotColumn.ColumnName].ToString()] = row[pivotValue.ColumnName]; } return result; } /// /// /// /// /// public DataSet GetTanuloJelenletiIvAlkalmankent(int osztalyId, DateTime kivalasztottDatum) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanuloJelenletiIvAlkalmankent(osztalyId, TanevId, kivalasztottDatum); return ds; }); } /// /// /// /// /// public DataSet GetTanulokFeljegyzesekReszletezese(int osztalyId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanulokFeljegyzesekReszletezese(osztalyId, TanevId); return ds; }); } public DataSet GetTanulokMulasztasokKesesek(int osztalyId, bool elmeletgyakorlat) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanulokMulasztasokKesesek(osztalyId, IntezmenyId, TanevId, elmeletgyakorlat); return ds; }); } /// /// /// /// /// public DataSet GetTanulokTantargyMulasztasokReszletezese(int osztalyId, bool iskolaErdekuSzamit) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanulokTantargyMulasztasokReszletezese(osztalyId, TanevId, iskolaErdekuSzamit); return ds; }); } /// /// /// /// /// public DataSet GetTanulokFelmentesekHatarozatok(int osztalyId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanulokFelmentesekHatarozatok(osztalyId, TanevId); return ds; }); } public DataSet GetKozossegiJelentkezesLap(int osztalyId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetKozossegiJelentkezesLap(IntezmenyId, TanevId, osztalyId); return ds; }); } public DataSet GetKozossegiSzolgalatNaplo(int osztalyId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetKozossegiSzolgalatNaplo(IntezmenyId, TanevId, osztalyId); return ds; }); } public DataSet GetHelyettesitesekListaDetails(DateTime idoszakKezdete, DateTime idoszakVege, int helyettesitesListaFormatumId, bool isPedagogusonkent) { return Dal.CustomConnection.Run(ConnectionType, handler => { var ds = new DataSet(); if (isPedagogusonkent) { ds = GetHelyettesitesekListajaPedagogusonkent(handler, idoszakKezdete, idoszakVege, helyettesitesListaFormatumId); } else { ds = GetHelyettesitesekListaja(handler, idoszakKezdete, idoszakVege, helyettesitesListaFormatumId); } return ds; }); } private DataSet GetHelyettesitesekListajaPedagogusonkent(IDalHandler handler, DateTime idoszakKezdete, DateTime idoszakVege, int helyettesitesListaFormatumId) { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var result = new DataSet(); var detailsDs = nyomtatvanyokDal.GetHelyettesitesekListaja(TanevId, IntezmenyId, idoszakKezdete, idoszakVege, helyettesitesListaFormatumId).Copy(); var datumok = detailsDs.Tables[0].AsEnumerable() .Select(row => new { HetNapja = row.Field("HetNapja") }) .OrderBy(x => x.HetNapja).Distinct(); foreach (var datum in datumok) { var tempTable = detailsDs.Tables[2].Clone(); tempTable.TableName = datum.HetNapja; foreach (DataRow row in detailsDs.Tables[2].AsEnumerable()) { if (datum.HetNapja.Equals(row.Field("HetNapja"))) { tempTable.ImportRow(row); } } InitalizeDataTableForHelyettesitesLista(tempTable); result.Tables.Add(tempTable); } var view = detailsDs.Tables["Adatok"].DefaultView; var table = view.ToTable(true, new string[] { "HelyettesitoId", "HelyettesitoOktatasiAzon", "HelyettesitettId", "HelyettesitettOktatasiAzon" }); table.TableName = "Adatok"; result.Tables.Add(table); return result; } private void InitalizeDataTableForHelyettesitesLista(DataTable tempTable) { tempTable.Columns.Remove("HelyettesitoId"); tempTable.Columns.Remove("HelyettesitettId"); tempTable.Columns["HelyettesitettNeve"].ColumnName = OrarendResource.HelyettesitettPedagogusNev; tempTable.Columns["HelyettesitoNeve"].ColumnName = OrarendResource.HelyettesitoPedagogus; tempTable.Columns["HelyettesitesTipusa"].ColumnName = OrarendResource.HelyettesitesTipusa; tempTable.Columns["HetNapja"].ColumnName = OrarendResource.Datum; tempTable.Columns["Oraszam"].ColumnName = OrarendResource.Oraszam; tempTable.Columns["OsztalyCsoportNev"].ColumnName = OrarendResource.OsztalyCsoport; tempTable.Columns["TantargyNev"].ColumnName = OrarendResource.Tantargy; tempTable.Columns["TeremNev"].ColumnName = OrarendResource.Terem; } private DataSet GetHelyettesitesekListaja(IDalHandler handler, DateTime idoszakKezdete, DateTime idoszakVege, int helyettesitesListaFormatumId) { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); return nyomtatvanyokDal.GetHelyettesitesekListaja(TanevId, IntezmenyId, idoszakKezdete, idoszakVege, helyettesitesListaFormatumId); } public DataSet GetIktSzandeknyilatkozatAdatok() { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetIktSzandeknyilatkozatAdatok(IntezmenyId, TanevId); return ds; }); } public void UpdateIktSzandeknyilatkozat(int tanarId, bool isElfogadottSzandeknyilatkozat) { var helper = new AlkalmazottHelper(ConnectionType); helper.UpdateIktSzandeknyilatkozat(tanarId, isElfogadottSzandeknyilatkozat); } public DataSet GetStatPedagogusTanuloinakTantargyiMulasztasaiMegtartott(int tanarId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetStatPedagogusTanuloinakTantargyiMulasztasaiMegtartott(TanevId, tanarId); return ds; }); } public DataSet GetTorzslapAdatok(int osztalyId, bool iskolaErdekuSzamit, int nyomtatvanyNyelvEnumId, bool isKozossegiSzolgalat, int tanitasiHetekSzamaVegzos, int tanitasiHetekSzamaNemVegzos, bool altantargyBeszamitasa, bool isMuveszetOktatasi, int tanulokNevsorRendezesColumnIndex, bool isEvesOraszamMegjelenjen, bool isShowTanulmanyiAtlag, int nyomtatvanyErtekelesMegjelenitesId, int nemzetisegiNyelvId, bool isNemzetisegi = false, bool kiiratkozottTanulokMegjelenitese = true, bool kellAtsorolasiZaradek = true, bool is20_21OrLaterTanev = true, bool is21_22OrLaterTanev = true, bool OkjSzakmacsoport = true, bool OkjAgazat = true, bool OkjSzakkepesites = true, bool OkjReszszakkepesites = true, bool UjSzktAgazat = true, bool UjSzktSzakma = true, bool UjSzktSzakmairany = true, bool NktTanulmanyiTerulet = true, bool NktSzakkepesites = true, bool NktSzakirany = true, bool isUjTorzslap = false, bool FejlecMegjelenites = false, bool JegyzekSzerepeltetese = false, bool isMagatartasSzorgalomNemLatszik = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { var nyomtatvanyokDal = handler.NyomtatvanyokDal(); if (!isNemzetisegi) { var ds = nyomtatvanyokDal.GetTorzslapAdatok(osztalyId, TanevId, iskolaErdekuSzamit, nyomtatvanyNyelvEnumId, isKozossegiSzolgalat, tanitasiHetekSzamaVegzos, tanitasiHetekSzamaNemVegzos, altantargyBeszamitasa, isMuveszetOktatasi, nemzetisegiNyelvId, is20_21OrLaterTanev); if (isMagatartasSzorgalomNemLatszik) { var tanuloTantargyiErtekeleseiDataTable = ds.Tables["Ertekeles"]; tanuloTantargyiErtekeleseiDataTable.RemoveDataRowIfAnyColumnValueMatch("Rendez1", new List() { -1, -2 }); } var osszefuggo = ds.Tables["OsszefuggoSzakmaiGyakorlat"].Copy(); var hatarozat = ds.Tables["Hatarozat"].Copy(); ds.Tables.Remove("OsszefuggoSzakmaiGyakorlat"); ds.Tables.Remove("Hatarozat"); ds.Tables["TanuloLista"].Columns.Add("LengthOfTorzslapSzam", typeof(int), "len(TorzslapSzam)"); var dv = ds.Tables["TanuloLista"].DefaultView; switch ((NyomtatvanyTanulokNevsorRendezesEnum)tanulokNevsorRendezesColumnIndex) { case NyomtatvanyTanulokNevsorRendezesEnum.ByNev: dv.Sort = "TanuloNevVezeteknev asc, TanuloNevUtonev asc"; break; case NyomtatvanyTanulokNevsorRendezesEnum.ByNaplosorszam: dv.Sort = $"NaploSorszam asc, TanuloNevVezeteknev asc, TanuloNevUtonev asc"; break; case NyomtatvanyTanulokNevsorRendezesEnum.ByTorzslapszam: dv.Sort = $"LengthOfTorzslapSzam asc, TorzslapSzam asc, TanuloNevVezeteknev asc, TanuloNevUtonev asc"; break; default: dv.Sort = dv.Table.Columns[tanulokNevsorRendezesColumnIndex].ColumnName + " asc"; break; } ds.Tables.Remove("TanuloLista"); ds.Tables.Add(dv.ToTable()); hatarozat.Merge(GetOsszefuggoSzakmaiGyakorlatZaradek(osszefuggo, isTorzslap: true)); ds.Tables.Add(hatarozat); SetFormattedFastReportSzovegesErtekeles(ds); SetSzovegesErtekeles(ds, isEvesOraszamMegjelenjen: isEvesOraszamMegjelenjen, NyomtatvanyErtekelesMegjelenitesId: nyomtatvanyErtekelesMegjelenitesId, nyomtatvanyNyelvEnumId: nyomtatvanyNyelvEnumId); SetSzakmaJegyzekAndOkj(ds, is20_21OrLaterTanev, is21_22OrLaterTanev, osztalyId, OkjSzakmacsoport, OkjAgazat, OkjSzakkepesites, OkjReszszakkepesites, UjSzktAgazat, UjSzktSzakma, UjSzktSzakmairany, NktTanulmanyiTerulet, NktSzakkepesites, NktSzakirany, isUjTorzslap, FejlecMegjelenites, JegyzekSzerepeltetese); return ds; } var data = nyomtatvanyokDal.GetTorzslapEsBizonyitvanyAdatok(TanevId, osztalyId, nemzetisegiNyelvId, iskolaErdekuSzamit, isKozossegiSzolgalat, tanitasiHetekSzamaVegzos, tanitasiHetekSzamaNemVegzos, altantargyBeszamitasa, isMuveszetOktatasi, is20_21OrLaterTanev, nyomtatvanyNyelvEnumId, isShowTanulmanyiAtlag, kiiratkozottTanulokMegjelenitese, kellAtsorolasiZaradek); return data; }); } public DataSet GetAmiTorzslapAdatok(int osztalyId, bool iskolaErdekuSzamit) { return Dal.CustomConnection.Run(ConnectionType, h => { var nyomtatvanyokDal = h.NyomtatvanyokDal(); return nyomtatvanyokDal.GetAmiTorzslapAdatok(TanevId, osztalyId, iskolaErdekuSzamit); }); } public void SetSzakmaJegyzekAndOkj(DataSet ds, bool is20_21OrLaterTanev, bool is21_22OrLaterTanev, int osztalyId, bool isOkjSzakmacsoport = true, bool isOkjAgazat = true, bool isOkjSzakkepesites = true, bool isOkjReszszakkepesites = true, bool isUjSzktAgazat = true, bool isUjSzktSzakma = true, bool isUjSzktSzakmairany = true, bool isNktTanulmanyiTerulet = true, bool isNktSzakkepesites = true, bool isNktSzakirany = true, bool isUjTorzslap = false, bool FejlecMegjelenites = false, bool JegyzekSzerepeltetese = false) { #region Constants const string Tanulok = nameof(Tanulok); const string Osztaly = nameof(Osztaly); const string RegiOkjAgazat = nameof(RegiOkjAgazat); const string UjAgazat = nameof(UjAgazat); const string SzakmaJegyzekAndOkj = nameof(SzakmaJegyzekAndOkj); const string RegiOkjSzakmaCsoport = nameof(RegiOkjSzakmaCsoport); const string RegiOkjSzakkepesites = nameof(RegiOkjSzakkepesites); const string RegiOkjReszszakkepesites = nameof(RegiOkjReszszakkepesites); const string UjSzakma = nameof(UjSzakma); const string UjSzakmaIrany = nameof(UjSzakmaIrany); const string NktSzakkepesitesTipus = nameof(NktSzakkepesitesTipus); const string NktSzakiranyTipus = nameof(NktSzakiranyTipus); const string NktTanulmanyiTerulet = nameof(NktTanulmanyiTerulet); const string Szakkepesites = nameof(Szakkepesites); const string ReszSzakkepesites = nameof(ReszSzakkepesites); const string TartozkodasiJogCim = nameof(TartozkodasiJogCim); const string OkiratSzam = nameof(OkiratSzam); const string AgazatReszszakmaTipus = nameof(AgazatReszszakmaTipus); const string ReszszakmaTipus = nameof(ReszszakmaTipus); const string SzakmaReszszakma = nameof(SzakmaReszszakma); #endregion Constants ds.Tables[Tanulok].Columns.Add(SzakmaJegyzekAndOkj); var osztalyDetails = ds.Tables[Osztaly].Rows[0]; if (FejlecMegjelenites) { foreach (DataRow row in ds.Tables[Tanulok].Rows) { var szakmaJegyzekAndOkjSb = new StringBuilder(); if (is21_22OrLaterTanev) { szakmaJegyzekAndOkjSb.Append(NyomtatvanyokResource.JegyzekFelirat); if (JegyzekSzerepeltetese) { // NOTE: Ha szerepel ágazat, akkor annak a jegyzékkel kell egy sorba szerepelnie. if (!string.IsNullOrWhiteSpace(row.Field(RegiOkjAgazat))) { szakmaJegyzekAndOkjSb.Append(" "); szakmaJegyzekAndOkjSb.AppendLine(row.Field(RegiOkjAgazat)); } if (!string.IsNullOrWhiteSpace(row.Field(UjAgazat))) { if (szakmaJegyzekAndOkjSb.Length == NyomtatvanyokResource.JegyzekFelirat.Length) { szakmaJegyzekAndOkjSb.Append(" "); } szakmaJegyzekAndOkjSb.AppendLine(row.Field(UjAgazat)); } // NOTE: Innentől mindent új sorba, ha nem szerepelt ágazat. if (szakmaJegyzekAndOkjSb.Length == NyomtatvanyokResource.JegyzekFelirat.Length) { szakmaJegyzekAndOkjSb.AppendLine(); } if (!string.IsNullOrWhiteSpace(row.Field(RegiOkjSzakmaCsoport))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(RegiOkjSzakmaCsoport)); } if (!string.IsNullOrWhiteSpace(row.Field(RegiOkjSzakkepesites))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(RegiOkjSzakkepesites)); } if (!string.IsNullOrWhiteSpace(row.Field(RegiOkjReszszakkepesites))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(RegiOkjReszszakkepesites)); } if (!string.IsNullOrWhiteSpace(row.Field(UjSzakma))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(UjSzakma)); } if (!string.IsNullOrWhiteSpace(row.Field(UjSzakmaIrany))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(UjSzakmaIrany)); } if (!string.IsNullOrWhiteSpace(row.Field(NktSzakkepesitesTipus))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(NktSzakkepesitesTipus)); } if (!string.IsNullOrWhiteSpace(row.Field(NktSzakiranyTipus))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(NktSzakiranyTipus)); } if (!string.IsNullOrWhiteSpace(row.Field(NktTanulmanyiTerulet))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(NktTanulmanyiTerulet)); } if (!string.IsNullOrWhiteSpace(row.Field(AgazatReszszakmaTipus))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(AgazatReszszakmaTipus)); } if (!string.IsNullOrWhiteSpace(row.Field(ReszszakmaTipus))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(ReszszakmaTipus)); } if (!string.IsNullOrWhiteSpace(row.Field(SzakmaReszszakma))) { szakmaJegyzekAndOkjSb.AppendLine(row.Field(SzakmaReszszakma)); } // NOTE: Üzleti kérésre törzslap esetén ne jelenítsük meg az évszámot az új szkt-s dict. elemeknél. szakmaJegyzekAndOkjSb.Replace(" (2020)", string.Empty); } } else if (is20_21OrLaterTanev) { szakmaJegyzekAndOkjSb.Append(NyomtatvanyokResource.JegyzekFelirat); if (JegyzekSzerepeltetese) { // NOTE: Ha szerepel ágazat, akkor annak a jegyzékkel kell egy sorba szerepelnie. if ((!isUjTorzslap || isOkjAgazat) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(RegiOkjAgazat)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field(RegiOkjAgazat)))) { szakmaJegyzekAndOkjSb.Append(" "); szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field(RegiOkjAgazat)) ? osztalyDetails.Field(RegiOkjAgazat) : row.Field(RegiOkjAgazat)); } if ((!isUjTorzslap || isUjSzktAgazat) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(UjAgazat)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field(UjAgazat)))) { if (szakmaJegyzekAndOkjSb.Length == NyomtatvanyokResource.JegyzekFelirat.Length) { szakmaJegyzekAndOkjSb.Append(" "); } szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field(UjAgazat)) ? osztalyDetails.Field(UjAgazat) : row.Field(UjAgazat)); } // NOTE: Innentől mindent új sorba, ha nem szerepelt ágazat. if (szakmaJegyzekAndOkjSb.Length == NyomtatvanyokResource.JegyzekFelirat.Length) { szakmaJegyzekAndOkjSb.AppendLine(); } if ((!isUjTorzslap || isOkjSzakmacsoport) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(RegiOkjSzakmaCsoport)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field(RegiOkjSzakmaCsoport)))) { szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field(RegiOkjSzakmaCsoport)) ? osztalyDetails.Field(RegiOkjSzakmaCsoport) : row.Field(RegiOkjSzakmaCsoport)); } if ((!isUjTorzslap || isOkjSzakkepesites) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(RegiOkjSzakkepesites)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field(RegiOkjSzakkepesites)))) { szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field(RegiOkjSzakkepesites)) ? osztalyDetails.Field(RegiOkjSzakkepesites) : row.Field(RegiOkjSzakkepesites)); } if ((!isUjTorzslap || isOkjReszszakkepesites) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(RegiOkjReszszakkepesites)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field(RegiOkjReszszakkepesites)))) { szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field(RegiOkjReszszakkepesites)) ? osztalyDetails.Field(RegiOkjReszszakkepesites) : row.Field(RegiOkjReszszakkepesites)); } if ((!isUjTorzslap || isUjSzktSzakma) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(UjSzakma)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field(UjSzakma)))) { szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field(UjSzakma)) ? osztalyDetails.Field(UjSzakma) : row.Field(UjSzakma)); } if ((!isUjTorzslap || isUjSzktSzakmairany) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(UjSzakmaIrany)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field(UjSzakmaIrany)))) { szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field(UjSzakmaIrany)) ? osztalyDetails.Field(UjSzakmaIrany) : row.Field(UjSzakmaIrany)); } if ((!isUjTorzslap || isNktSzakkepesites) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(NktSzakkepesitesTipus)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field(NktSzakkepesitesTipus)))) { szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field(NktSzakkepesitesTipus)) ? osztalyDetails.Field(NktSzakkepesitesTipus) : row.Field(NktSzakkepesitesTipus)); } if ((!isUjTorzslap || isNktSzakirany) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(NktSzakiranyTipus)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field(NktSzakiranyTipus)))) { szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field(NktSzakiranyTipus)) ? osztalyDetails.Field(NktSzakiranyTipus) : row.Field(NktSzakiranyTipus)); } if ((!isUjTorzslap || isNktTanulmanyiTerulet) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(NktTanulmanyiTerulet)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field(NktTanulmanyiTerulet)))) { szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field(NktTanulmanyiTerulet)) ? osztalyDetails.Field(NktTanulmanyiTerulet) : row.Field(NktTanulmanyiTerulet)); } // NOTE: Üzleti kérésre törzslap esetén ne jelenítsük meg az évszámot az új szkt-s dict. elemeknél. szakmaJegyzekAndOkjSb.Replace(" (2020)", string.Empty); } } else { szakmaJegyzekAndOkjSb.AppendLine(NyomtatvanyokResource.OKJFelirat); if (JegyzekSzerepeltetese) { if (!string.IsNullOrWhiteSpace(row[Szakkepesites].ToString())) { szakmaJegyzekAndOkjSb.AppendLine(row[Szakkepesites].ToString()); } if (!string.IsNullOrWhiteSpace(row[ReszSzakkepesites].ToString())) { szakmaJegyzekAndOkjSb.AppendLine(row[ReszSzakkepesites].ToString()); } } } row[SzakmaJegyzekAndOkj] = szakmaJegyzekAndOkjSb.ToString(); if (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field(TartozkodasiJogCim)) && !string.IsNullOrWhiteSpace(row.Field(OkiratSzam))) { row[TartozkodasiJogCim] += ", "; } } } } public DataSet GetUzenofuzetErtekelolap(int osztalyId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetUzenofuzetErtekelolap(osztalyId, TanevId, IntezmenyId); foreach (DataRow row in ds.Tables["Szoveges"].Rows) { row["Ertekeles"] = GetFastReportCompatibleHtmlString(row["Ertekeles"].ToString()); } return ds; }); } public DataSet GetTanevKozbenKilepettTanulok() { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanevKozbenKilepettTanulok(TanevId); foreach (DataTable dts in ds.Tables) { for (int i = 0; i < dts.Columns.Count; i++) { if (dts.Columns[i].ColumnName.IndexOf("COLUMN", StringComparison.OrdinalIgnoreCase) >= 0) { dts.Columns[i].ColumnName = StringResourcesUtil.GetString(GetLocalizedResourceKey("COLUMN", dts.Columns[i].ToString())); } } if (dts.TableName != "IktatasAdat") { dts.Columns["TanuloOktAzon"].ColumnName = NyomtatvanyokResource.OktAzon; } } return ds; }); } private List<(string nev, Type tipus)> NyomtatottOszlopok() { var columns = new List<(string, Type)> { ("HetSorszam", typeof(int)), ("OraKezdete", typeof(DateTime)), ("Oraszam", typeof(int)), ("TargyNevForNyomtatvany", typeof(string)), ("TeremNev", typeof(string)), ("TanarNev", typeof(string)), ("TanarOktAzon", typeof(string)), ("OsztalyNev", typeof(string)), ("Hetirend_DNAME", typeof(string)), }; return columns; } private DataTable EmptyDataTable() { var dt = new DataTable(); foreach (var oszlop in NyomtatottOszlopok()) { dt.Columns.Add(oszlop.nev, oszlop.tipus); } dt.Rows.Add(); return dt; } private DataTable Nyelvesites(DataTable dt) { dt.Columns["Hetirend_DNAME"].ColumnName = NyomtatvanyokResource.Hetirend; dt.Columns["HetSorszam"].ColumnName = NyomtatvanyokResource.HetSorszama; dt.Columns["OraKezdete"].ColumnName = NyomtatvanyokResource.OraKezdete; dt.Columns["Oraszam"].ColumnName = NyomtatvanyokResource.Oraszam; dt.Columns["TargyNevForNyomtatvany"].ColumnName = NyomtatvanyokResource.TantargyNev; dt.Columns["TeremNev"].ColumnName = NyomtatvanyokResource.Terem; if (dt.Columns.Contains("TanarNev")) { dt.Columns["TanarNev"].ColumnName = NyomtatvanyokResource.PedagogusNev; } if (dt.Columns.Contains("TanarOktAzon")) { dt.Columns["TanarOktAzon"].ColumnName = NyomtatvanyokResource.OktAzon; } if (dt.Columns.Contains("OsztalyNev")) { dt.Columns["OsztalyNev"].ColumnName = NyomtatvanyokResource.OsztalyNev; } return dt; } public DataSet GetNaplobaNemBejegyzettFoglalkozasok(int? osztalyId, int? tanarID, OktNevelesiKategoriaEnum kategoria) { return Dal.CustomConnection.Run(ConnectionType, handler => { var elsoNap = new TanevHelper(new DalHandlerConnectionType(ConnectionType, handler)).GetTanevKezdete(); return osztalyId == 0 ? GetNaplobaNemBejegyzettFoglalkozasokByPedagogus(handler, elsoNap, NyomtatottOszlopok(), osztalyId, tanarID, kategoria) : GetNaplobaNemBejegyzettFoglalkozasokByOsztaly(handler, elsoNap, NyomtatottOszlopok(), osztalyId, tanarID, kategoria); }); } private DataSet GetNaplobaNemBejegyzettFoglalkozasokByOsztaly(IDalHandler handler, DateTime elsoNap, List<(string nev, Type tipus)> columns, int? osztalyId, int? tanarID, OktNevelesiKategoriaEnum kategoria) { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var dts = new DataSet(); var osztalyHelper = new OsztalyHelper(new DalHandlerConnectionType(ConnectionType, handler)); var osztaly = osztalyHelper.GetClassById(osztalyId.Value); var temp = nyomtatvanyokDal.GetNaplobaNemBejegyzettFoglalkozasok(IntezmenyId, TanevId, osztalyId, tanarID, elsoNap, kategoria); foreach (DataTable table in PrepareData(temp.Tables.Cast().Where(x => x.TableName != "IktatasiAdatok" && x.TableName != "TanarIktatasiAdatok").ToArray(), columns).Tables) { var tempTable = table.Copy(); tempTable.TableName = osztaly.OsztalyNev; dts.Tables.Add(tempTable); } dts.Tables.Add(temp.Tables["IktatasiAdatok"].Copy()); dts.Tables.Add(temp.Tables["TanarIktatasiAdatok"].Copy()); return dts; } private DataSet GetNaplobaNemBejegyzettFoglalkozasokByPedagogus(IDalHandler handler, DateTime elsoNap, List<(string nev, Type tipus)> columns, int? osztalyId, int? tanarID, OktNevelesiKategoriaEnum kategoria) { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var dts = new DataSet(); var pedagogusByTanevDictionary = GetPedagogusByTanevDictionary(handler, tanarID); foreach (var pedagogus in pedagogusByTanevDictionary) { var temp = nyomtatvanyokDal.GetNaplobaNemBejegyzettFoglalkozasok(IntezmenyId, TanevId, osztalyId, pedagogus.Key, elsoNap, kategoria); foreach (DataTable table in PrepareData(temp.Tables.Cast().Where(x => x.TableName != "IktatasiAdatok" && x.TableName != "TanarIktatasiAdatok").ToArray(), columns).Tables) { var tempTable = table.Copy(); tempTable.TableName = pedagogus.Value; dts.Tables.Add(tempTable); } dts.Merge(temp.Tables["IktatasiAdatok"].Copy()); dts.Merge(temp.Tables["TanarIktatasiAdatok"].Copy()); } return dts; } private DataSet PrepareData(DataTable[] data, List<(string nev, Type tipus)> columns) { var result = new DataSet(); foreach (DataTable table in data) { var tempTable = table.Copy(); foreach (DataRow row in tempTable.Rows) { if (!string.IsNullOrWhiteSpace(row["HelyettesitoTanarNev"].ToString())) { row["TanarNev"] = $"({row["HelyettesitoTanarNev"]}) {row["TanarNev"]}"; } } if (tempTable.Rows.Count > 0) { foreach (var column in table.Columns) { foreach (var (columnName, columnType) in columns) { if (column.ToString() != columnName) { if (tempTable.Columns.Contains(column.ToString()) && !columns.Select(x => x.nev).Contains(column.ToString())) { tempTable.Columns.Remove(column.ToString()); } } } } var dv = tempTable.DefaultView; dv.Sort = "OraKezdete"; tempTable = dv.ToTable(); result.Tables.Add(Nyelvesites(tempTable)); } else { var emptyTempTable = EmptyDataTable(); result.Tables.Add(Nyelvesites(emptyTempTable)); } } return result; } public DataSet GetHaladasiMunkafuzet(int? osztalyID, int? tanarId, bool? isCsoport, OktNevelesiKategoriaEnum? feladatKategoria, bool? isKapcsolodoCsoportokSzureseOsztalyBesorolasra = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetHaladasiMunkafuzet(TanevId, osztalyID, tanarId, isCsoport, feladatKategoria, isKapcsolodoCsoportokSzureseOsztalyBesorolasra); foreach (DataTable tabla in ds.Tables) { if ((tabla.TableName == "IktatasAdatok") || (tabla.TableName == "Tanarok")) continue; tabla.Columns["OraSorszam"].ColumnName = OrarendResource.OraSorszam; tabla.Columns["TanarNev"].ColumnName = OrarendResource.Tanar; tabla.Columns["TanarOktAzon"].ColumnName = NyomtatvanyokResource.OktAzon; tabla.Columns["Tema"].ColumnName = OrarendResource.Tema; tabla.Columns["Datum"].ColumnName = OrarendResource.Datum; tabla.Columns["OraSzam"].ColumnName = OrarendResource.Oraszam; tabla.Columns["Megjegyzes"].ColumnName = OrarendResource.Megjegyzes; var helyettEsitettColumnIndex = tabla.Columns["Helyettesitett_BOOL"].Ordinal; var helyettEsitettBnameColumnIndex = tabla.Columns["Helyettesitett_BNAME"].Ordinal; foreach (DataRow row in tabla.Rows) { row["HaziFeladat"] = RichTextLogic.CutHtmlTagsAndDecode(SDAConvert.ToString(row["HaziFeladat"])); if (row[0].Equals("Elmaradt")) { for (int columnIndex = 9; columnIndex < tabla.Columns.Count; columnIndex++) { if (columnIndex != helyettEsitettColumnIndex && columnIndex != helyettEsitettBnameColumnIndex) { row[columnIndex] = DBNull.Value; } } } } tabla.Columns["HaziFeladat"].ColumnName = ExcelNyomtatvanyResource.HaziFeladat; TanoraHelper.TanoraAdatokSorrendezeseExcelbe(tabla, 8); } return ds; }); } public DataSet GetTanarOrarendiLefedettseg() { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanarOrarendiLefedettseg(IntezmenyId, TanevId); foreach (DataTable dataTable in ds.Tables) { for (int i = 0; i < dataTable.Columns.Count; i++) { if (dataTable.Columns[i].ColumnName.IndexOf("COLUMN", StringComparison.OrdinalIgnoreCase) >= 0) { dataTable.Columns[i].ColumnName = StringResourcesUtil.GetString(GetLocalizedResourceKey("COLUMN", dataTable.Columns[i].ToString())); } } } if (ds.Tables.Count == 2) { ds.Tables[0].TableName = StringResourcesUtil.GetString(2832) /*Órarendi lefedettség*/; ds.Tables[1].TableName = StringResourcesUtil.GetString(5408) /*Órarendi lefedettség hetirenden*/; } return ds; }); } public DataSet GetPedagogusAltalAdottOsztalyzatok(int tanarID, bool ertekelesmodSuly, OktNevelesiKategoriaEnum? kategoria) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetPedagogusAltalAdottOsztalyzatok(tanarID, TanevId, IntezmenyId, ertekelesmodSuly, kategoria); foreach (DataTable tabla in ds.Tables) { if (tabla.Columns.Contains("Id")) { tabla.Columns.Remove("Id"); } } return ds; }); } private class TanuloOsztalyCo { public int TanuloId { get; set; } public string TanuloOsztalyNev { get; set; } public int? TanuloOsztalyEvfolyamTipusId { get; set; } } public DataSet GetBukasraAlloTanulok(List osztalyCsoportIdList) { var gridDataSet = new DataSet(); List osztalyzatTipusDictionaryItemList = ((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus).GetItemsByType(TanevId).OrderBy(x => x.Value).ToList(); var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionType); foreach (int osztalyCsoportId in osztalyCsoportIdList) { DataSet tanuloDataSet = osztalyCsoportHelper.GetTanuloOsztalyDataSetByOsztalyCsoportId(osztalyCsoportId); int feladatKategoriaId = osztalyCsoportHelper.GetOsztalyCsoportFeladatKategoria(osztalyCsoportId); IList tanuloOsztalyCoList = new List(); foreach (DataRow dataRow in tanuloDataSet.Tables[0].Rows) { var tanuloId = SDAConvert.ToInt32(dataRow["TanuloId"]); var tanuloOsztalyNev = SDAConvert.ToString(dataRow["TanuloOsztalyNev"]); if (feladatKategoriaId == (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas) { if (tanuloOsztalyCoList.All(x => x.TanuloId != tanuloId)) { tanuloOsztalyCoList.Add(new TanuloOsztalyCo { TanuloId = tanuloId, TanuloOsztalyNev = tanuloOsztalyNev, TanuloOsztalyEvfolyamTipusId = null }); } else { var tanuloOsztalyCo = tanuloOsztalyCoList.Single(x => x.TanuloId == tanuloId); tanuloOsztalyCo.TanuloOsztalyNev = $"{tanuloOsztalyCo.TanuloOsztalyNev}, {tanuloOsztalyNev}"; } } else { tanuloOsztalyCoList.Add(new TanuloOsztalyCo { TanuloId = tanuloId, TanuloOsztalyNev = tanuloOsztalyNev, TanuloOsztalyEvfolyamTipusId = SDAConvert.ToInt32(dataRow["TanuloOsztalyEvfolyamTipusId"]) }); } } var coList = new List(); if (tanuloOsztalyCoList.Count > 0) { var helper = new TanuloErtekelesHelper(ConnectionType); var tanuloErtekelesListCo = new TanuloErtekelesListCo { TanevId = TanevId, FeladatKategoriaId = feladatKategoriaId, TanuloIds = tanuloOsztalyCoList.Select(x => x.TanuloId).ToList(), TipusId = (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles }; DataTable dataTable = helper.GetTanuloErtekelesListDataSet(tanuloErtekelesListCo).Tables[0]; foreach (DataRow dataRow in dataTable.Rows) { int? ertekelesOsztalyzatId = SDAConvert.ToNullableInt32(dataRow["ErtekelesOsztalyzatId"]); int? rogziteskoriTanuloOsztalyEvfolyamTipusId = SDAConvert.ToNullableInt32(dataRow["RogziteskoriTanuloOsztalyEvfolyamTipusId"]); int tanuloId = SDAConvert.ToInt32(dataRow["TanuloId"]); if (ertekelesOsztalyzatId.IsEntityId()) { //NOTE: Ha osztály váltott tanuló, akkor meg kell vizsgálni, hogy megegyezik-e az értékelés rögzitéskori osztály évfolyamtípusa a jelenlegi osztály évfolyam típusával, ha nem, akkor nem vesszük figyelembe az értékelést. // (Ha nincs az értékelésnek rögzítéskori osztály évfolyam típusa, akkor ami-sról van szó) if (!rogziteskoriTanuloOsztalyEvfolyamTipusId.IsEntityId() || rogziteskoriTanuloOsztalyEvfolyamTipusId.IsEntityId() && rogziteskoriTanuloOsztalyEvfolyamTipusId == tanuloOsztalyCoList.Single(x => x.TanuloId == tanuloId).TanuloOsztalyEvfolyamTipusId) { int ertekelesOsztalyzat = osztalyzatTipusDictionaryItemList.Single(x => x.Id == ertekelesOsztalyzatId.Value).Value.Value; if (ertekelesOsztalyzat.IsNotNullAndPositive()) { int tantargyId = SDAConvert.ToInt32(dataRow["TantargyId"]); string ertekeloNyomtatasiNev = SDAConvert.ToString(dataRow["ErtekeloNyomtatasiNev"]); if (!coList.Exists(x => x.TanuloId == tanuloId && x.TantargyId == tantargyId)) { var co = new TanuloTantargyiAtlagBukasraAlloCo { TanuloId = tanuloId, TanuloNev = SDAConvert.ToString(dataRow["TanuloNev"]), TanuloOktatasiAzonosito = SDAConvert.ToString(dataRow["TanuloOktatasiAzonosito"]), TanuloSzuletesiHely = SDAConvert.ToString(dataRow["TanuloSzuletesiHely"]), TanuloSzuletesiIdo = SDAConvert.ToDateTime(dataRow["TanuloSzuletesiIdo"]).Value, TanuloAnyjaNeve = SDAConvert.ToString(dataRow["TanuloAnyjaNeve"]), TantargyId = tantargyId, TantargyNev = SDAConvert.ToString(dataRow["TantargyNev"]), OsztalyCsoportNev = tanuloOsztalyCoList.Single(x => x.TanuloId == tanuloId).TanuloOsztalyNev, TanuloErtekelesOsztalyzatList = new List<(int Osztalyzat, int? Suly)>() }; coList.Add(co); } TanuloTantargyiAtlagBukasraAlloCo currentCo = coList.Single(x => x.TanuloId == tanuloId && x.TantargyId == tantargyId); if (!currentCo.ErtekeloNyomtatasiNevList.Contains(ertekeloNyomtatasiNev)) { currentCo.ErtekeloNyomtatasiNevList.Add(ertekeloNyomtatasiNev); } int? ertekelesSuly = SDAConvert.ToNullableInt32(dataRow["ErtekelesSuly"]); currentCo.TanuloErtekelesOsztalyzatList.Add((ertekelesOsztalyzat, ertekelesSuly)); } } } } } DataTable gridDataTable = new DataTable { TableName = osztalyCsoportHelper.GetOsztalyCsoportNevById(osztalyCsoportId) }; gridDataTable.Columns.Add(new DataColumn(NyomtatvanyokResource.OktAzon, typeof(string))); gridDataTable.Columns.Add(new DataColumn(NyomtatvanyokResource.TanuloSzulHelyIdejeAnyjaNeve, typeof(string))); gridDataTable.Columns.Add(new DataColumn(NyomtatvanyokResource.Tanulo, typeof(string))); gridDataTable.Columns.Add(new DataColumn(NyomtatvanyokResource.Osztaly, typeof(string))); gridDataTable.Columns.Add(new DataColumn(NyomtatvanyokResource.TantargyNev, typeof(string))); gridDataTable.Columns.Add(new DataColumn(NyomtatvanyokResource.Atlag, typeof(double))); gridDataTable.Columns.Add(new DataColumn(NyomtatvanyokResource.TantargyatTanitoTanar, typeof(string))); double ertesitesBukasraAlloTanulokrolValue = SystemSettingsManager.GetSystemSettingValue(RendszerBeallitasTipusEnum.Bukas_Veszelyre_Figyelmeztetes_Hatara, IntezmenyAzonosito, TanevId); foreach (TanuloTantargyiAtlagBukasraAlloCo co in coList.Where(x => x.Atlag < ertesitesBukasraAlloTanulokrolValue)) { DataRow gridDataRow = gridDataTable.NewRow(); gridDataRow.SetField(NyomtatvanyokResource.OktAzon, co.TanuloOktatasiAzonosito); gridDataRow.SetField(NyomtatvanyokResource.TanuloSzulHelyIdejeAnyjaNeve, $"{co.TanuloSzuletesiHely}, {co.TanuloSzuletesiIdo.ToString(Constants.ToStringPattern.HungarianDate)}, {co.TanuloAnyjaNeve}"); gridDataRow.SetField(NyomtatvanyokResource.Tanulo, co.TanuloNev); gridDataRow.SetField(NyomtatvanyokResource.Osztaly, co.OsztalyCsoportNev); gridDataRow.SetField(NyomtatvanyokResource.TantargyNev, co.TantargyNev); gridDataRow.SetField(NyomtatvanyokResource.Atlag, co.Atlag); gridDataRow.SetField(NyomtatvanyokResource.TantargyatTanitoTanar, string.Join(", ", co.ErtekeloNyomtatasiNevList)); gridDataTable.Rows.Add(gridDataRow); } gridDataSet.Tables.Add(gridDataTable); } return gridDataSet; } public DataSet GetKozossegiSzolgalatokExcelExport(KozossegiSzolgalatokSearchCo co) { DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, h => h.TanuloKozossegiSzolgalat(GridParameters).GetKozossegiSzolgalatokExcelExport(IntezmenyId, KozossegiSzolgalatokSearchCoToPco(co))); DataTable osszesitoDataTable = dataSet.Tables[0]; osszesitoDataTable.Columns["TanuloNev"].ColumnName = FelhasznalokResource.TanuloNeve; osszesitoDataTable.Columns["SzuletesiIdo"].ColumnName = TanuloResource.SzuletesiIdo; osszesitoDataTable.Columns["AnyjaNeve"].ColumnName = AdminisztracioResource.AnyjaNeve; osszesitoDataTable.Columns["OsszesOraszam"].ColumnName = FeljegyzesekResource.OsszesOraszam; osszesitoDataTable.Columns["OsztalyNev"].ColumnName = TanuloResource.TanuloOsztalya; var osztalyTableList = new Dictionary(); foreach (DataRow dataRow in dataSet.Tables[0].AsEnumerable()) { var osztalyNev = SDAConvert.ToString(dataRow[TanuloResource.TanuloOsztalya]); if (!osztalyTableList.TryGetValue(osztalyNev, out var osztalyTable)) { osztalyTable = new DataTable(osztalyNev); osztalyTable.Columns.Add(FelhasznalokResource.TanuloNeve, typeof(string)); osztalyTable.Columns.Add(TanuloResource.SzuletesiIdo, typeof(string)); osztalyTable.Columns.Add(AdminisztracioResource.AnyjaNeve, typeof(string)); osztalyTable.Columns.Add(FeljegyzesekResource.OsszesOraszam, typeof(double)); osztalyTable.Columns.Add(TanuloResource.TanuloOsztalya, typeof(string)); osztalyTableList.Add(osztalyNev, osztalyTable); } DataRow gridDataRow = osztalyTable.NewRow(); gridDataRow.SetField(FelhasznalokResource.TanuloNeve, SDAConvert.ToString(dataRow[FelhasznalokResource.TanuloNeve])); gridDataRow.SetField(AdminisztracioResource.AnyjaNeve, SDAConvert.ToString(dataRow[AdminisztracioResource.AnyjaNeve])); gridDataRow.SetField(TanuloResource.SzuletesiIdo, SDAConvert.ToDateTime(dataRow[TanuloResource.SzuletesiIdo]).ToShortDateString()); gridDataRow.SetField(FeljegyzesekResource.OsszesOraszam, SDAConvert.ToDouble(dataRow[FeljegyzesekResource.OsszesOraszam])); gridDataRow.SetField(TanuloResource.TanuloOsztalya, SDAConvert.ToString(dataRow[TanuloResource.TanuloOsztalya])); osztalyTable.Rows.Add(gridDataRow); } var tanuloTableList = new Dictionary<(int TanuloId, string TanuloNev, string OsztalyNev), DataTable>(); foreach (DataRow dataRow in dataSet.Tables[1].Rows) { int tanuloId = SDAConvert.ToInt32(dataRow["TanuloId"]); var tanuloNev = SDAConvert.ToString(dataRow["TanuloNev"]); var osztalyNev = SDAConvert.ToString(dataRow["OsztalyNev"]); var oktatasiAzonosito = SDAConvert.ToString(dataRow["OktatasiAzonosito"]); if (!tanuloTableList.TryGetValue((tanuloId, tanuloNev, osztalyNev), out var tanuloTable)) { tanuloTable = new DataTable(tanuloNev + " - " + oktatasiAzonosito); tanuloTable.Columns.Add(FeljegyzesekResource.OsztalyNev, typeof(string));//OsztalyNev tanuloTable.Columns.Add(FeljegyzesekResource.IntervallumKezdete, typeof(string));//IntervallumKezdete tanuloTable.Columns.Add(FeljegyzesekResource.IntervallumVege, typeof(string));//IntervallumVege tanuloTable.Columns.Add(FeljegyzesekResource.IntezmenyNeve, typeof(string));//TeljesitesiHelye tanuloTable.Columns.Add(FeljegyzesekResource.Oraszam, typeof(string));//Oraszam tanuloTable.Columns.Add(FeljegyzesekResource.Tevekenyseg, typeof(string));//KozossegiSzolgalatTipusa_DNAME tanuloTable.Columns.Add(FeljegyzesekResource.Megjegyzes, typeof(string));//Megjegyzes tanuloTable.Columns.Add(FeljegyzesekResource.RogzitesDatuma, typeof(string));//RogzitesDatuma tanuloTableList.Add((tanuloId, tanuloNev, osztalyNev), tanuloTable); } DataRow gridDataRow = tanuloTable.NewRow(); gridDataRow.SetField(FeljegyzesekResource.OsztalyNev, SDAConvert.ToString(dataRow["OsztalyNev"])); gridDataRow.SetField(FeljegyzesekResource.IntervallumKezdete, SDAConvert.ToDateTime(dataRow["IntervallumKezdete"]).ToShortDateString()); gridDataRow.SetField(FeljegyzesekResource.IntervallumVege, SDAConvert.ToDateTime(dataRow["IntervallumVege"]).ToShortDateString()); gridDataRow.SetField(FeljegyzesekResource.IntezmenyNeve, SDAConvert.ToString(dataRow["TeljesitesiHelye"])); gridDataRow.SetField(FeljegyzesekResource.Oraszam, SDAConvert.ToString(dataRow["Oraszam"])); gridDataRow.SetField(FeljegyzesekResource.Tevekenyseg, SDAConvert.ToString(dataRow["KozossegiSzolgalatTipusa_DNAME"])); gridDataRow.SetField(FeljegyzesekResource.Megjegyzes, SDAConvert.ToString(dataRow["Megjegyzes"])); gridDataRow.SetField(FeljegyzesekResource.RogzitesDatuma, SDAConvert.ToDateTime(dataRow["RogzitesDatuma"]).ToShortDateString()); tanuloTable.Rows.Add(gridDataRow); } var resultDataSet = new DataSet(); var orderedOsztalyTables = osztalyTableList.OrderBy(o => o.Key).Select(o => o.Value).ToArray(); resultDataSet.Tables.AddRange(orderedOsztalyTables); var orderedTanuloTables = tanuloTableList.OrderBy(t => t.Key.OsztalyNev).ThenBy(t => t.Key.TanuloNev).Select(t => t.Value).ToArray(); resultDataSet.Tables.AddRange(orderedTanuloTables); return resultDataSet; } private KozossegiSzolgalatokSearchPco KozossegiSzolgalatokSearchCoToPco(KozossegiSzolgalatokSearchCo co) { KozossegiSzolgalatokSearchPco pco = new KozossegiSzolgalatokSearchPco { IntervallumKezdete = co.IntervallumKezdete, IntervallumVege = co.IntervallumVege, TeljesitesiHelye = co.TeljesitesiHelye, Oraszam = co.Oraszam, TanuloNev = co.TanuloNev, OsztalyNev = co.OsztalyNev, KozossegiSzolgalatTipusa = co.KozossegiSzolgalatTipusa, AnyjaNeve = co.AnyjaNeve, OsszesOraszamKezdete = co.OsszesOraszamKezdete, OsszesOraszamVege = co.OsszesOraszamVege, OsztalyCsoportIdList = co.OsztalyCsoportIdList, TanuloIdList = new List() }; if (co.TanuloIdList != null && co.TanuloIdList.Count > 0) pco.TanuloIdList.AddRange(co.TanuloIdList); return pco; } private int GetLocalizedResourceKey(string col, string colData) { bool result = int.TryParse(string.IsNullOrWhiteSpace(col) ? colData : colData.Replace(col, ""), out int number); if (result) { return number; } return -1; } public DataSet GetOsztalyokHaviHianyzasiOsszesitoje() { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetOsztalyokHaviHianyzasiOsszesitoje(IntezmenyId, TanevId); foreach (DataTable dts in ds.Tables) { for (int i = 0; i < dts.Columns.Count; i++) { if (dts.Columns[i].ColumnName.IndexOf("COLUMN", StringComparison.OrdinalIgnoreCase) >= 0) { dts.Columns[i].ColumnName = StringResourcesUtil.GetString(GetLocalizedResourceKey("COLUMN", dts.Columns[i].ToString())); } } } return ds; }); } public MemoryStream GetIntezmenyMulasztasiOsszesitojeMemoryStream() { DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.NyomtatvanyokDal().GetIntezmenyiMulasztasiOsszesitoje(TanevId)); var daoList = dataSet.ToDaoList(); List simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos(IntezmenyiMulasztasiOsszesitoDao.ExportAttributeId); MemoryStream result = SimpleExportLogic.GetExport(dataSet.Tables[0].TableName, simpleExportColumnCos, daoList, TanevId); return result; } public DataSet GetIntezmenyiTanulokNevsoraOsszesitoje() { var ds = Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); return nyomtatvanyokDal.GetIntezmenyiTanulokNevsoraOsszesitoje(TanevId); }); Dictionary mapColumn = new Dictionary { {"Intezmeny", NyomtatvanyokResource.IntezmenyNeve}, {"OktatasiAzonosito", TanuloResource.OktatasiAzonosito}, {"Nev", CommonResource.Nev }, {"Osztaly",CommonResource.Osztaly }, {"BelepesDatuma", OsztalyCsoportResource.BelepesDatuma}, {"KilepesDatuma", OsztalyCsoportResource.KilepesDatuma}, {"KeresztFeleves", OsztalyCsoportResource.Keresztfeleves}, }; foreach (var item in mapColumn) ds.Tables[0].Columns[item.Key].ColumnName = item.Value; return ds; } public DataSet GetTanuloiAdatlap(int osztCsopID, bool isSzakkepzoIntezmenyAnd21_22TanevOrLater) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var tanevHelper = new TanevHelper(new DalHandlerConnectionType(ConnectionType, handler)); var tanevKezdete = tanevHelper.GetTanevKezdete(); var datum = DateTime.Now < tanevKezdete ? tanevKezdete : DateTime.Now; var ds = nyomtatvanyokDal.GetTanuloiAdatlap(osztCsopID, TanevId, datum); ds.Tables[1].Columns.Remove("Kepzesiforma"); if (isSzakkepzoIntezmenyAnd21_22TanevOrLater) { ds.Tables[1].Columns["Munkarend"].ColumnName = "Kepzesiforma"; } else { ds.Tables[1].Columns["Kepzesiforma_DNAME"].SetOrdinal(5); ds.Tables[1].Columns["Kepzesiforma_DNAME"].ColumnName = "Kepzesiforma"; } ds.Tables[1].Columns.Remove("Szuletesiorszag"); ds.Tables[1].Columns["Szuletesiorszag_DNAME"].SetOrdinal(12); ds.Tables[1].Columns["Szuletesiorszag_DNAME"].ColumnName = "Szuletesiorszag"; ds.Tables[1].Columns.Remove("Allampolgarsag"); ds.Tables[1].Columns["Allampolgarsag_DNAME"].SetOrdinal(14); ds.Tables[1].Columns["Allampolgarsag_DNAME"].ColumnName = "Allampolgarsag"; ds.Tables[1].Columns.Remove("Anyanyelv"); ds.Tables[1].Columns["Anyanyelv_DNAME"].SetOrdinal(15); ds.Tables[1].Columns["Anyanyelv_DNAME"].ColumnName = "Anyanyelv"; ds.Tables[1].Columns.Remove("Tankotelezett"); ds.Tables[1].Columns["Tankotelezett_BNAME"].SetOrdinal(17); ds.Tables[1].Columns["Tankotelezett_BNAME"].ColumnName = "Tankotelezett"; ds.Tables[1].Columns.Remove("Bejaro"); ds.Tables[1].Columns["Bejaro_BNAME"].SetOrdinal(39); ds.Tables[1].Columns["Bejaro_BNAME"].ColumnName = "Bejaro"; ds.Tables[1].Columns.Remove("Szakmaigyak"); ds.Tables[1].Columns["Szakmaigyak_BNAME"].SetOrdinal(40); ds.Tables[1].Columns["Szakmaigyak_BNAME"].ColumnName = "Szakmaigyak"; ds.Tables[1].Columns.Remove("Vendeg"); ds.Tables[1].Columns["Vendeg_BNAME"].SetOrdinal(41); ds.Tables[1].Columns["Vendeg_BNAME"].ColumnName = "Vendeg"; ds.Tables[1].Columns.Remove("Jogviszonyszunetelteto"); ds.Tables[1].Columns["Jogviszonyszunetelteto_BNAME"].SetOrdinal(42); ds.Tables[1].Columns["Jogviszonyszunetelteto_BNAME"].ColumnName = "Jogviszonyszunetelteto"; ds.Tables[1].Columns.Remove("Magantanulo"); ds.Tables[1].Columns["Magantanulo_BNAME"].SetOrdinal(43); ds.Tables[1].Columns["Magantanulo_BNAME"].ColumnName = "Magantanulo"; ds.Tables[1].Columns.Remove("Szoctam"); ds.Tables[1].Columns["Szoctam_BNAME"].SetOrdinal(44); ds.Tables[1].Columns["Szoctam_BNAME"].ColumnName = "Szoctam"; ds.Tables[1].Columns.Remove("C_HATRANYOSHELYZETU"); ds.Tables[1].Columns["C_HATRANYOSHELYZETU_DNAME"].SetOrdinal(45); ds.Tables[1].Columns["C_HATRANYOSHELYZETU_DNAME"].ColumnName = "C_HATRANYOSHELYZETU"; ds.Tables[1].Columns.Remove("C_ETKEZESIKEDVEZMENY"); ds.Tables[1].Columns["C_ETKEZESIKEDVEZMENY_DNAME"].SetOrdinal(48); ds.Tables[1].Columns["C_ETKEZESIKEDVEZMENY_DNAME"].ColumnName = "C_ETKEZESIKEDVEZMENY"; ds.Tables[1].Columns.Remove("Evismetlo"); ds.Tables[1].Columns["Evismetlo_BNAME"].SetOrdinal(50); ds.Tables[1].Columns["Evismetlo_BNAME"].ColumnName = "Evismetlo"; ds.Tables[1].Columns.Remove("C_INGYENESTANKONVYELLATASA"); ds.Tables[1].Columns["C_INGYENESTANKONVYELLATASA_DNAME"].SetOrdinal(51); ds.Tables[1].Columns["C_INGYENESTANKONVYELLATASA_DNAME"].ColumnName = "C_INGYENESTANKONVYELLATASA"; ds.Tables[1].Columns.Remove("Veszelyeztetett"); ds.Tables[1].Columns["Veszelyeztetett_BNAME"].SetOrdinal(53); ds.Tables[1].Columns["Veszelyeztetett_BNAME"].ColumnName = "Veszelyeztetett"; ds.Tables[1].Columns.Remove("Halmfogyatekos"); ds.Tables[1].Columns["Halmfogyatekos_BNAME"].SetOrdinal(54); ds.Tables[1].Columns["Halmfogyatekos_BNAME"].ColumnName = "Halmfogyatekos"; ds.Tables[1].Columns.Remove("Teriteses"); ds.Tables[1].Columns["Teriteses_BNAME"].SetOrdinal(56); ds.Tables[1].Columns["Teriteses_BNAME"].ColumnName = "Teriteses"; ds.Tables[1].Columns.Remove("Tandijas"); ds.Tables[1].Columns["Tandijas_BNAME"].SetOrdinal(57); ds.Tables[1].Columns["Tandijas_BNAME"].ColumnName = "Tandijas"; ds.Tables[1].Columns.Remove("Tanszerzodeses"); ds.Tables[1].Columns["Tanszerzodeses_BNAME"].SetOrdinal(59); ds.Tables[1].Columns["Tanszerzodeses_BNAME"].ColumnName = "Tanszerzodeses"; ds.Tables[1].Columns.Remove("Polgszerzodeses"); ds.Tables[1].Columns["Polgszerzodeses_BNAME"].SetOrdinal(60); ds.Tables[1].Columns["Polgszerzodeses_BNAME"].ColumnName = "Polgszerzodeses"; ds.Tables[1].Columns.Remove("Allamigond"); ds.Tables[1].Columns["Allamigond_BNAME"].SetOrdinal(62); ds.Tables[1].Columns["Allamigond_BNAME"].ColumnName = "Allamigond"; ds.Tables[1].Columns.Remove("Kollegiumi"); ds.Tables[1].Columns["Kollegiumi_BNAME"].SetOrdinal(63); ds.Tables[1].Columns["Kollegiumi_BNAME"].ColumnName = "Kollegiumi"; ds.Tables[1].Columns.Remove("Sajatosnevelesu"); ds.Tables[1].Columns["Sajatosnevelesu_BNAME"].SetOrdinal(65); ds.Tables[1].Columns["Sajatosnevelesu_BNAME"].ColumnName = "Sajatosnevelesu"; ds.Tables[1].Columns.Remove("Btmproblemas"); ds.Tables[1].Columns["Btmproblemas_BNAME"].SetOrdinal(69); ds.Tables[1].Columns["Btmproblemas_BNAME"].ColumnName = "Btmproblemas"; return ds; }); } public DataSet GetTanulokJegyeiReszletezes(int osztCsopID, bool isMagatartasSzorgalomNemLatszik = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanulokJegyeiReszletezes(osztCsopID, TanevId); foreach (DataRow row in ds.Tables["JegyekReszletezese"].Rows) { row["OSZTALYZAT"] = GetFastReportCompatibleHtmlString(row["OSZTALYZAT"].ToString()); } if (isMagatartasSzorgalomNemLatszik) { var jegyekReszletezeseDataTable = ds.Tables["JegyekReszletezese"]; jegyekReszletezeseDataTable.RemoveDataRowIfAnyColumnValueMatch("RENDEZ1", new List() { 0, 1 }); } return ds; }); } public DataSet GetMunkaidoElszamololap(int honapId, bool isKlebersbergOrNSZFH, int tanarId, OktNevelesiKategoriaEnum? kategoria, int bontas, bool felnottkepzesKulon, bool elmeletGyakorlatKulon, bool tanoraiFoglalkozasokUresBlokkMegjelenites, bool tanoranKivuliFoglalkozasokUresBlokkMegjelenites, bool egyeniFoglalkozasokUresBlokkMegjelenites, bool helyettesitesekUresBlokkMegjelenites, bool oktNevLeNemKotottMunkaidoUresBlokkMegjelenites, out double szakszeruHelySzorzo, out double nemSzakszeruHelySzorzo, out double osszevonasSzorzo, out double osszevontFelSzorzo, bool parhuzamosOrakMegjelenitese, Dictionary kotelezoOraszamok) { var dataSet = new DataSet(); var pSzakszeruHelySzorzo = szakszeruHelySzorzo = SystemSettingsManager.GetSystemSettingValue(RendszerBeallitasTipusEnum.Szakszeru_helyettesites_Szazalekos_Ertek_Osszegbe, IntezmenyAzonosito, TanevId) / 100; var pNemSzakszeruHelySzorzo = nemSzakszeruHelySzorzo = SystemSettingsManager.GetSystemSettingValue(RendszerBeallitasTipusEnum.Nem_Szakszeru_Helyettesites_Szazalekos_Ertek_Osszegbe, IntezmenyAzonosito, TanevId) / 100; var pOsszevonasSzorzo = osszevonasSzorzo = SystemSettingsManager.GetSystemSettingValue(RendszerBeallitasTipusEnum.Oraosszevonas_Szazalekos_Ertek_Osszegbe, IntezmenyAzonosito, TanevId) / 100; var pOsszevontFelSzorzo = osszevontFelSzorzo = SystemSettingsManager.GetSystemSettingValue(RendszerBeallitasTipusEnum.Osszevont_Felugyelet_Szazalekos_Ertek_Osszegbe, IntezmenyAzonosito, TanevId) / 100; Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); dataSet = nyomtatvanyokDal.GetMunkaidoElszamololap( new MunkaidoElszamololapPCO() { IntezmenyId = IntezmenyId, TanevId = TanevId, HonapId = honapId, IsKlebersbergOrNSZFH = isKlebersbergOrNSZFH, TanarId = tanarId, Kategoria = kategoria, SzakszeruHelyettesitesSzorzo = pSzakszeruHelySzorzo, NemSzakszeruHelyettesitesSzorzo = pNemSzakszeruHelySzorzo, OraOsszevonasSzorzo = pOsszevonasSzorzo, OsszevontFelugyeletSzorzo = pOsszevontFelSzorzo, Bontas = bontas, FelnottkepzesKulon = felnottkepzesKulon, ElmeletGyakorlatKulon = elmeletGyakorlatKulon, ParhuzamosOrakMegjelenitese = parhuzamosOrakMegjelenitese }); dataSet.Tables["Fejlec"]?.Rows[0]?.SetField("KotelezoOraszam", kotelezoOraszamok.Keys.Contains(tanarId) ? kotelezoOraszamok[tanarId] : NyomtatvanyokResource.NA); MunkaidoelszamolasTevekenysegek? tevekenysegek = null; if (!tanoraiFoglalkozasokUresBlokkMegjelenites) { tevekenysegek = (tevekenysegek != null) ? tevekenysegek | MunkaidoelszamolasTevekenysegek.Tanorak : MunkaidoelszamolasTevekenysegek.Tanorak; } if (!tanoranKivuliFoglalkozasokUresBlokkMegjelenites) { tevekenysegek = (tevekenysegek != null) ? tevekenysegek | MunkaidoelszamolasTevekenysegek.TanoranKivuli : MunkaidoelszamolasTevekenysegek.TanoranKivuli; } if (!egyeniFoglalkozasokUresBlokkMegjelenites) { tevekenysegek = (tevekenysegek != null) ? tevekenysegek | MunkaidoelszamolasTevekenysegek.EgyeniFoglalkozas : MunkaidoelszamolasTevekenysegek.EgyeniFoglalkozas; } if (!oktNevLeNemKotottMunkaidoUresBlokkMegjelenites) { tevekenysegek = (tevekenysegek != null) ? tevekenysegek | MunkaidoelszamolasTevekenysegek.NemKotott : MunkaidoelszamolasTevekenysegek.NemKotott; } if (!helyettesitesekUresBlokkMegjelenites) { tevekenysegek = (tevekenysegek != null) ? tevekenysegek | (MunkaidoelszamolasTevekenysegek.SzakszeruHelyettesites | MunkaidoelszamolasTevekenysegek.NemSzakszeruHelyettesites | MunkaidoelszamolasTevekenysegek.OraOsszevonas | MunkaidoelszamolasTevekenysegek.OsszevontFelugyelet) : (MunkaidoelszamolasTevekenysegek.SzakszeruHelyettesites | MunkaidoelszamolasTevekenysegek.NemSzakszeruHelyettesites | MunkaidoelszamolasTevekenysegek.OraOsszevonas | MunkaidoelszamolasTevekenysegek.OsszevontFelugyelet); } MunkaidoElszamololapTablakFixUresBlokkoknal(dataSet, tevekenysegek); }); return dataSet; } private void MunkaidoElszamololapTablakFixUresBlokkoknal(DataSet ds, MunkaidoelszamolasTevekenysegek? tevekenysegTipusok) { if (tevekenysegTipusok.HasValue) { var dv = ds.Tables["Minden"].DefaultView; List indices = new List(); foreach (MunkaidoelszamolasTevekenysegek flag in Enum.GetValues(typeof(MunkaidoelszamolasTevekenysegek))) { if ((tevekenysegTipusok.Value & flag) != 0) { indices.Add(Array.IndexOf(Enum.GetValues(typeof(MunkaidoelszamolasTevekenysegek)), flag)); } } dv.RowFilter = "OsztalyCsoportID <> -1 OR TevekenysegTipus NOT IN (" + string.Join(",", indices) + ")"; ds.Tables.Remove("Minden"); ds.Tables.Add(dv.ToTable("Minden")); } } public DataSet GetErtesitesSzulonekEsIntezmenynek(int osztCsopID, bool iskolaErdekuSzamit, int igazolatlanOrakSzama, bool tankoteles = false, bool gondviselonek = true, bool kiiratkozottTanulokMegjelenitese = false, bool isMuveszetOktatas = false, bool gondviseloIsTorvenyes = false) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); return nyomtatvanyokDal.GetErtesitesSzuloknekEsIntezmenyeknek(osztCsopID, TanevId, iskolaErdekuSzamit, igazolatlanOrakSzama, tankoteles, gondviselonek, kiiratkozottTanulokMegjelenitese, isMuveszetOktatas, gondviseloIsTorvenyes); }); } public DataSet GetHelyettesitesiNaplo(int tanarID, HelyettesitesiNaploBontasEnum bontas) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetHelyettesitesiNaplo(tanarID, TanevId, IntezmenyId, bontas); var orderedDS = new DataSet(); if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { foreach (DataTable table in ds.Tables) { DataTable orderedTable = null; if (bontas == HelyettesitesiNaploBontasEnum.Heti) { orderedTable = table.AsEnumerable().OrderBy(r => int.Parse(r.Field("EvHonap"))).CopyToDataTable(); } else { orderedTable = table.AsEnumerable().OrderBy(r => DateTime.ParseExact(r.Field("EvHonap"), "yyyy.MM", System.Globalization.CultureInfo.CurrentCulture)).CopyToDataTable(); } orderedTable.TableName = table.TableName; orderedDS.Tables.Add(orderedTable); } } return orderedDS; }); } public DataSet GetOsztalyokEvesOraszama(int tanitasiHetekSzamaVegzos, int tanitasiHetekSzamaNemVegzos, bool altantargyBeszamitasa, OktNevelesiKategoriaEnum? oktNevelesiKategoriaId) { DataSet dataSet = new DataSet(); Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); dataSet = nyomtatvanyokDal.GetOsztalyokEvesOraszama(TanevId, tanitasiHetekSzamaVegzos, tanitasiHetekSzamaNemVegzos, altantargyBeszamitasa, oktNevelesiKategoriaId); }); foreach (DataTable tabla in dataSet.Tables) { if (tabla.TableName == "IktatasAdat") continue; tabla.Columns["TanuloNev"].ColumnName = StringResourcesUtil.GetString(455) /*Tanuló neve*/; tabla.Columns["OktAzon"].ColumnName = NyomtatvanyokResource.OktAzon; tabla.Columns["TantargyNev"].ColumnName = StringResourcesUtil.GetString(252) /*Tantárgy*/; tabla.Columns["EvesOraszam"].ColumnName = StringResourcesUtil.GetString(3381) /*Éves óraszám*/; } DataTable[] tables = new DataTable[dataSet.Tables.Count]; dataSet.Tables.CopyTo(tables, 0); dataSet.Tables.Clear(); foreach (DataTable table in tables.OrderBy(t => Regex.Replace(t.TableName, @"\d+", n => n.Value.PadLeft(2, '0')))) { dataSet.Tables.Add(table); } return dataSet; } public DataSet GetDokumentumFejlecLablecSablon() { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); return nyomtatvanyokDal.GetDokumentumFejlecLablecSablon(IntezmenyId, TanevId); }); } public List GetNebuloErtesitoZip(int statusz) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); DataSet dataSet = nyomtatvanyokDal.GetNebuloErtesitoStatusz(IntezmenyId, TanevId, statusz); var nebuloIdList = new List(); DataTable dataTable = dataSet.Tables[0]; foreach (DataRow dataRow in dataTable.Rows) { nebuloIdList.Add(SDAConvert.ToInt32(dataRow["NebuloId"].ToString())); } var result = new List(); foreach (int nebulo in nebuloIdList) { DataSet nebuloErtesitoDataSet = nyomtatvanyokDal.GetNebuloErtesito(IntezmenyId, TanevId, nebulo); DataTable nebuloErtesitoDataTable = nebuloErtesitoDataSet.Tables[0]; nebuloErtesitoDataTable.Columns.Add("EtikaHitErkolcsTanText"); List rows = nebuloErtesitoDataTable.Rows.Cast().ToList(); foreach (DataRow row in rows) { try { row["EtikaHitErkolcsTanText"] = int.Parse(row["EtikaHitErkolcsTan"].ToString()).GetDisplayName(TanevId); } catch { row["EtikaHitErkolcsTanText"] = ""; } } result.Add(nebuloErtesitoDataSet); } return result; }); } public DataSet GetNebuloErtesito(int nebulo) { DataSet dataSet = new DataSet(); Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); dataSet = nyomtatvanyokDal.GetNebuloErtesito(IntezmenyId, TanevId, nebulo); }); DataTable dataTable = dataSet.Tables[0]; dataTable.Columns.Add("EtikaHitErkolcsTanText"); List rows = dataTable.Rows.Cast().ToList(); foreach (DataRow row in rows) { try { row["EtikaHitErkolcsTanText"] = int.Parse(row["EtikaHitErkolcsTan"].ToString()).GetDisplayName(TanevId); } catch { row["EtikaHitErkolcsTanText"] = string.Empty; } } return dataSet; } public DataSet GetNyomtatvanyStoredProcedureDataSet(string storedProcedure, Dictionary spParameters) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); return nyomtatvanyokDal.GetNyomtatvanyStoredProcedureDataSet(storedProcedure, spParameters); }); } public bool IsIntezmenyValidIktatashoz() { return Dal.CustomConnection.Run(ConnectionType, handler => { IIntezmenyDal intezmenyDal = handler.IntezmenyDal(); var intezmeny = intezmenyDal.Get(IntezmenyId); return (intezmeny.PoszeidonBejelentkezesiNev != null) && (intezmeny.IktatoSzervezetAzonosito != null); }); } public bool IsCsoportVagyOsztalyByTanev(int osztalyCsoportId) { return Dal.CustomConnection.Run(ConnectionType, handler => { INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal(); return nyomtatvanyokDal.IsCsoportVagyOsztalyByTanev(TanevId, IntezmenyId, osztalyCsoportId); }); } #region KIRStat public List GetKirStatForTanulo(string filePath, int feladatellatasiHelyId) { return Dal.CustomConnection.Run(ConnectionType, handler => { string oktatasiNevelesiFeladatNev; var szirStatHelper = new SZIRStatHelper(new DalHandlerConnectionType(ConnectionType, handler)); KirSzirFeladatellatasiHelyCO kirSzirFeladatellatasiHelyCO = szirStatHelper.GetKirSzirFeladatellatasiHely(feladatellatasiHelyId); oktatasiNevelesiFeladatNev = kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyNev; bool isEngedelyezettFeladatellatasiHelyTipus = ( oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.ovoda.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.altalanos_iskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakiskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.keszsegfejleszto_iskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakkozepiskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.gimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakgimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.OvodaGyogypedagogia.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.AltalanosIskolaGyogypedagogia.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.MuveszetiSzakgimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.ovoda_nemzetisegi_.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.altalanos_iskola_nemzetisegi_.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.gimnazium_nemzetisegi_.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakgimnazium_nemzetisegi_.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakkozepiskola_nemzetisegi_.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.technikum.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakkepzo_iskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.koznevelesi_es_szakkepzesi_hidprogram.GetDisplayName(TanevId) ); var dal = handler.NyomtatvanyokDal(); DataSet kirStatEvfolyamDataSet = isEngedelyezettFeladatellatasiHelyTipus ? dal.GetKirStatEvfolyam(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId) : new DataSet(); DataSet kirStatTanuloEletkorDataSet = isEngedelyezettFeladatellatasiHelyTipus ? dal.GetKirStatTanuloEletkor(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId, isKirstat: true) : new DataSet(); DataSet kirStatTanuloLakohelyDataSet = isEngedelyezettFeladatellatasiHelyTipus ? dal.GetKirStatTanuloLakohely(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId) : new DataSet(); List kirStatEvfolyamList = kirStatEvfolyamDataSet != null && kirStatEvfolyamDataSet.Tables.Count > 0 && kirStatEvfolyamDataSet.Tables[0].Rows.Count > 0 ? kirStatEvfolyamDataSet.Tables[0].Rows.Cast().ToList() : new List(); List kirStatTanuloLakohelyList = kirStatTanuloLakohelyDataSet != null && kirStatTanuloLakohelyDataSet.Tables.Count > 0 && kirStatTanuloLakohelyDataSet.Tables[0].Rows.Count > 0 ? kirStatTanuloLakohelyDataSet.Tables[0].Rows.Cast().ToList() : new List(); List kirStatTanuloEletkorList = kirStatTanuloEletkorDataSet != null && kirStatTanuloEletkorDataSet.Tables.Count > 0 && kirStatTanuloEletkorDataSet.Tables[0].Rows.Count > 0 ? kirStatTanuloEletkorDataSet.Tables[0].Rows.Cast().ToList() : new List(); var tanevHelper = new TanevHelper(new DalHandlerConnectionType(ConnectionType, handler)); var aktivTanev = tanevHelper.GetTanevInfo(); var elozoTanev = tanevHelper.GetElozoTanev(); List memoryStreamList = new List(); #region Constans const string columnNameEvfolyamNev = "C_NAME_4"; const string columnNameEvfolyam = "Evfolyam"; const string columnNameEletkor = "Eletkor"; const string columnNameNeme = "Neme"; const string columnNameSni = "SNI"; const string columnNameKettosMagyarAllampolgar = "KettosMagyarAllampolgar"; const string columnNameKettosMagyarAllampolgarText = "KettosMagyarAllampolgarText"; const string columnNameMagyarTartozkodasiHely = "MagyarTartozkodasiHely"; const string columnNameMagyarTartozkodasiHelyText = "MagyarTartozkodasiHelyText"; const string columnNameTanuloId = "TanuloId"; const string columnNameTanuloNev = "TanuloNev"; const string columnValueLeany = "Leány"; const string columnValueEvfolyamNev = "Évfolyam neve"; const string columnValueTanuloNev = "Tanuló neve"; const string columnValueKettosMagyarAllampolgar = "Kettős magyar állampolgár"; const string columnValueMagyarTartozkodasiHely = "Magyar tartózkodási hely"; const string columnValueEletkor = "Életkor"; const string adatszolgaltatasDatumaAddress = "N14:Q14"; const string beszamolasiIdoszakAddress = "N16:Q16"; const string nyitoadatokAddress = "N19:Q19"; #endregion Constans #region Sablon stream MemoryStream sablonStream = new MemoryStream(); using (ExcelPackage excelPackage = new ExcelPackage(new FileInfo(filePath))) { ExcelWorkbook excelWorkbook = excelPackage.Workbook; ExcelWorksheets excelWorksheets = excelWorkbook.Worksheets; ExcelWorksheet currentExcelWorksheet; List oszlopNevList; string osztlopNevPrefix; if (isEngedelyezettFeladatellatasiHelyTipus) { #region 1. MUNKALAP currentExcelWorksheet = excelWorksheets[1]; //TODO KezdiH: egyelore nem updateljuk //1. MUNKALAP - OMAzonosito //const string omAzonositoCellName = "a01g01c01"; //currentExcelWorksheet.Cells[omAzonositoCellName].Value = new IntezmenyHelper(TanevId); var adatszolgaltatasDatuma = new DateTime(aktivTanev.ElsoTanitasiNap.Year, 10, 1).ToShortDateString(); currentExcelWorksheet.Cells[adatszolgaltatasDatumaAddress].Value = adatszolgaltatasDatuma; currentExcelWorksheet.Cells[beszamolasiIdoszakAddress].Value = elozoTanev.Value; currentExcelWorksheet.Cells[nyitoadatokAddress].Value = aktivTanev.Nev; #endregion 1. MUNKALAP #region 5. MUNKALAP //5. MUNKALAP - A04T21 - GYERMEKEK, TANULÓK SZÁMA ÉLETKORUK SZERINT, NYITÓADATOK currentExcelWorksheet = excelWorksheets[5]; oszlopNevList = new List { "Q", "T", "W", "Z", "AC", "AF", "AI", "AL", "AO", "AR", "AU", "AX", "BA" }; //Gyermekek, tanulók száma életkoruk szerint évfolyamokra bontva for (int i = 0; i < kirStatEvfolyamList.Count; i++) { string evfolyamNev = kirStatEvfolyamList[i]?.Field(columnNameEvfolyamNev).Trim() ?? string.Empty; osztlopNevPrefix = oszlopNevList[i]; currentExcelWorksheet.Cells[osztlopNevPrefix + 4].Value = evfolyamNev; for (int j = 6; j < 37; j++) { if (j == 6) { //3 évesnél fiatalabb currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) < 3 && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j > 6 && j < 34) { //3 - 29 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) == j - 4 && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 34) { //30-34 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 29 && x.Field(columnNameEletkor) < 35 && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 35) { //35-39 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 34 && x.Field(columnNameEletkor) < 40 && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 36) { //39 évesnél idősebb currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 39 && x.Field(columnNameEvfolyam) == evfolyamNev); } } } #endregion 5. MUNKALAP #region 7. MUNKALAP //7. MUNKALAP - A04T23 - A GYERMEKEK, TANULÓK SZÁMÁNAK NYITÓADATAI A SZÜLŐ(GONDVISELŐ) LAKÓHELYE SZERINT currentExcelWorksheet = excelWorksheets[7]; oszlopNevList = new List { "V", "Y", "AB", "AE", "AH", "AK", "AN", "AQ", "AT", "AW", "AZ", "BC", "BF" }; const string columnNameMegye = "Megye"; for (int i = 0; i < kirStatEvfolyamList.Count; i++) { string evfolyamNev = kirStatEvfolyamList[i]?.Field(columnNameEvfolyamNev).Trim() ?? string.Empty; osztlopNevPrefix = oszlopNevList[i]; currentExcelWorksheet.Cells[osztlopNevPrefix + 04].Value = evfolyamNev; currentExcelWorksheet.Cells[osztlopNevPrefix + 07].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Budapest && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 08].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Baranya && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 09].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.BacsKiskun && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 10].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Bekes && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 11].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.BorsodAbaujZemplen && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 12].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Csongrad && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 13].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Fejer && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 14].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.GyorMosonSopron && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 15].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.HajduBihar && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 16].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Heves && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 17].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.JaszNagykunSzolnok && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 18].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.KomaromEsztergom && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 19].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Nograd && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 20].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Pest && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 21].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Somogy && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 22].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.SzabolcsSzatmarBereg && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 23].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Tolna && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 24].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Vas && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 25].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Veszprem && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 26].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Zala && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 28].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMagyarTartozkodasiHely) != null && x.Field(columnNameMagyarTartozkodasiHely).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); currentExcelWorksheet.Cells[osztlopNevPrefix + 29].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMagyarTartozkodasiHely) != null && x.Field(columnNameMagyarTartozkodasiHely).ToBool() == false && x.Field(columnNameEvfolyam) == evfolyamNev); } osztlopNevPrefix = "BM"; currentExcelWorksheet.Cells[osztlopNevPrefix + 07].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Budapest && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 08].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Baranya && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 09].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.BacsKiskun && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 10].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Bekes && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 11].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.BorsodAbaujZemplen && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 12].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Csongrad && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 13].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Fejer && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 14].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.GyorMosonSopron && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 15].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.HajduBihar && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 16].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Heves && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 17].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.JaszNagykunSzolnok && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 18].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.KomaromEsztergom && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 19].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Nograd && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 20].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Pest && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 21].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Somogy && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 22].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.SzabolcsSzatmarBereg && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 23].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Tolna && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 24].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Vas && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 25].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Veszprem && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 26].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMegye) == Constants.Megye.Zala && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 28].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMagyarTartozkodasiHely) != null && x.Field(columnNameMagyarTartozkodasiHely).ToBool() == true && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); currentExcelWorksheet.Cells[osztlopNevPrefix + 29].Value = kirStatTanuloLakohelyList.Count(x => x.Field(columnNameMagyarTartozkodasiHely) != null && x.Field(columnNameMagyarTartozkodasiHely).ToBool() == false && x.Field(columnNameKettosMagyarAllampolgar).ToBool() == true); #endregion 7. MUNKALAP #region 11. MUNKALAP //11.MUNKALAP - A04T63 - LEÁNY GYERMEKEK, TANULÓK SZÁMA ÉLETKORUK SZERINT, NYITÓADATOK currentExcelWorksheet = excelWorksheets[11]; oszlopNevList = new List { "Q", "T", "W", "Z", "AC", "AF", "AI", "AL", "AO", "AR", "AU", "AX", "BA" }; //Leány gyermekek, tanulók száma életkoruk szerint évfolyamokra bontva for (int i = 0; i < kirStatEvfolyamList.Count; i++) { string evfolyamNev = kirStatEvfolyamList[i]?.Field(columnNameEvfolyamNev).Trim() ?? string.Empty; osztlopNevPrefix = oszlopNevList[i]; currentExcelWorksheet.Cells[osztlopNevPrefix + 4].Value = evfolyamNev; for (int j = 6; j < 37; j++) { if (j == 6) { //3 évesnél fiatalabb currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) < 3 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j > 6 && j < 34) { //3 - 29 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) == j - 4 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 34) { //30-34 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 29 && x.Field(columnNameEletkor) < 35 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 35) { //35-39 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 34 && x.Field(columnNameEletkor) < 40 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 36) { //39 évesnél idősebb currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 39 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameEvfolyam) == evfolyamNev); } } } #endregion 11. MUNKALAP #region 18. MUNKALAP //18. MUNKALAP - A04T92 - 30 ÉVES ÉS IDŐSEBB TANULÓK SZÁMA ÉLETKORUK SZERINT, NYITÓADATOK if (oktatasiNevelesiFeladatNev != OktatasiNevelesiFeladatEnum.OvodaGyogypedagogia.GetDisplayName(TanevId) && oktatasiNevelesiFeladatNev != OktatasiNevelesiFeladatEnum.AltalanosIskolaGyogypedagogia.GetDisplayName(TanevId)) { currentExcelWorksheet = excelWorksheets[18]; oszlopNevList = new List { "R", "U", "X", "AA", "AAD", "AG", "AJ", "AM", "AP", "AS", "AV", "AY", "BB" }; //30 éves és idősebb tanulók száma életkoruk szerint évfolyamokra bontva for (int i = 0; i < kirStatEvfolyamList.Count; i++) { string evfolyamNev = kirStatEvfolyamList[i]?.Field(columnNameEvfolyamNev).Trim() ?? string.Empty; osztlopNevPrefix = oszlopNevList[i]; currentExcelWorksheet.Cells[osztlopNevPrefix + 15].Value = evfolyamNev; for (int j = 17; j < 41; j++) { if (j < 37) { //30 - 49 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) == j + 13 && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 37) { //50 - 54 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 49 && x.Field(columnNameEletkor) < 55 && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 38) { //55 - 59 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 54 && x.Field(columnNameEletkor) < 60 && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 39) { //60 - 64 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 59 && x.Field(columnNameEletkor) < 65 && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 40) { //65 évesnél idősebb currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 64 && x.Field(columnNameEvfolyam) == evfolyamNev); } } } } #endregion 18. MUNKALAP #region 19. MUNKALAP //19. MUNKALAP - A04T93- 30 ÉVES ÉS IDŐSEBB LEÁNY TANULÓK SZÁMA ÉLETKORUK SZERINT, NYITÓADATOK currentExcelWorksheet = excelWorksheets[19]; oszlopNevList = new List { "Q", "T", "W", "Z", "AC", "AF", "AI", "AL", "AO", "AR", "AU", "AX", "BA" }; //30 éves és idősebb leány tanulók száma életkoruk szerint évfolyamokra bontva for (int i = 0; i < kirStatEvfolyamList.Count; i++) { string evfolyamNev = kirStatEvfolyamList[i]?.Field(columnNameEvfolyamNev).Trim() ?? string.Empty; osztlopNevPrefix = oszlopNevList[i]; currentExcelWorksheet.Cells[osztlopNevPrefix + 4].Value = evfolyamNev; for (int j = 6; j < 30; j++) { if (j < 26) { //30 - 49 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) == j + 24 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 26) { //50 - 54 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 49 && x.Field(columnNameEletkor) < 55 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 27) { //55 - 59 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 54 && x.Field(columnNameEletkor) < 60 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 28) { //60 - 64 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 59 && x.Field(columnNameEletkor) < 65 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 29) { //65 évesnél idősebb currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 64 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameEvfolyam) == evfolyamNev); } } } #endregion 19. MUNKALAP #region 21. MUNKALAP //21. MUNKALAP - A04T101 - INTEGRÁLTAN OKTATOTT SAJÁTOS NEVELÉSI IGÉNYŰ GYERMEKEK, TANULÓK SZÁMA ÉLETKORUK SZERINT, NYITÓADATOK currentExcelWorksheet = excelWorksheets[21]; oszlopNevList = new List { "Q", "T", "W", "Z", "AC", "AF", "AI", "AL", "AO", "AR", "AU", "AX", "BA" }; //SNI gyermekek, tanulók száma életkoruk szerint évfolyamokra bontva for (int i = 0; i < kirStatEvfolyamList.Count; i++) { string evfolyamNev = kirStatEvfolyamList[i]?.Field(columnNameEvfolyamNev).Trim() ?? string.Empty; osztlopNevPrefix = oszlopNevList[i]; currentExcelWorksheet.Cells[osztlopNevPrefix + 4].Value = evfolyamNev; for (int j = 6; j < 37; j++) { if (j == 6) { //3 évesnél fiatalabb currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) < 3 && x.Field(columnNameSni).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j > 6 && j < 34) { //3 - 29 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) == j - 4 && x.Field(columnNameSni).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 34) { //30 - 34 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 29 && x.Field(columnNameEletkor) < 35 && x.Field(columnNameSni).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 35) { //35 - 39 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 34 && x.Field(columnNameEletkor) < 40 && x.Field(columnNameSni).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 36) { //40 évesnél idősebb currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 39 && x.Field(columnNameSni).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); } } } #endregion 21. MUNKALAP #region 22. MUNKALAP //22. MUNKALAP - A04T102 - INTEGRÁLTAN OKTATOTT SAJÁTOS NEVELÉSI IGÉNYŰ LEÁNY GYERMEKEK, TANULÓK SZÁMA ÉLETKORUK SZERINT, NYITÓADATOK currentExcelWorksheet = excelWorksheets[22]; oszlopNevList = new List { "Q", "T", "W", "Z", "AC", "AF", "AI", "AL", "AO", "AR", "AU", "AX", "BA" }; //SNI leány gyermekek, tanulók száma életkoruk szerint évfolyamokra bontva for (int i = 0; i < kirStatEvfolyamList.Count; i++) { string evfolyamNev = kirStatEvfolyamList[i]?.Field(columnNameEvfolyamNev).Trim() ?? string.Empty; osztlopNevPrefix = oszlopNevList[i]; currentExcelWorksheet.Cells[osztlopNevPrefix + 4].Value = evfolyamNev; for (int j = 6; j < 37; j++) { if (j == 6) { //3 évesnél fiatalabb currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) < 3 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameSni).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j > 6 && j < 34) { //3 - 29 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) == j - 4 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameSni).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 34) { //30 - 34 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 29 && x.Field(columnNameEletkor) < 35 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameSni).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 35) { //35 - 39 éves currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 34 && x.Field(columnNameEletkor) < 40 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameSni).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); } else if (j == 36) { //40 évesnél idősebb currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x => x.Field(columnNameEletkor) > 39 && x.Field(columnNameNeme) == columnValueLeany && x.Field(columnNameSni).ToBool() == true && x.Field(columnNameEvfolyam) == evfolyamNev); } } } #endregion 22. MUNKALAP } excelPackage.SaveAs(sablonStream); } sablonStream.Position = 0; memoryStreamList.Add(sablonStream); #endregion Sablon stream #region Segédlet stream MemoryStream segedletStream = new MemoryStream(); const string startCellName = "A1"; using (ExcelPackage excelPackage = new ExcelPackage()) { #region Worksheet évfolyam if (kirStatEvfolyamDataSet != null && kirStatEvfolyamDataSet.Tables != null && kirStatEvfolyamDataSet.Tables.Count > 0) { kirStatEvfolyamDataSet.Tables[0].Columns[columnNameEvfolyamNev].ColumnName = columnValueEvfolyamNev; if (kirStatEvfolyamDataSet.Tables[0].Columns.Contains("Sort")) kirStatEvfolyamDataSet.Tables[0].Columns.Remove("Sort"); ExcelWorksheet worksheetEvfolyam = excelPackage.Workbook.Worksheets.Add("KIRStat_Evfolyam"); worksheetEvfolyam.Cells[startCellName].LoadFromDataTable(kirStatEvfolyamDataSet.Tables[0], true); } else { throw new ApplicationException(NyomtatvanyokResource.UresDokumentum); } #endregion Worksheet évfolyam #region Worksheet tanuló életkor if (kirStatTanuloEletkorDataSet.Tables[0].Rows != null) { foreach (DataRow item in kirStatTanuloEletkorDataSet.Tables[0].Rows) { item[columnNameSni] = SDAConvert.ToBooleanFromTF(item.Field(columnNameSni)).GetDisplayName(); } } kirStatTanuloEletkorDataSet.Tables[0].Columns[columnNameTanuloNev].ColumnName = columnValueTanuloNev; kirStatTanuloEletkorDataSet.Tables[0].Columns[columnNameEletkor].ColumnName = columnValueEletkor; kirStatTanuloEletkorDataSet.Tables[0].Columns[columnNameEvfolyam].ColumnName = columnValueEvfolyamNev; if (kirStatTanuloEletkorDataSet.Tables[0].Columns.Contains(columnNameTanuloId)) { kirStatTanuloEletkorDataSet.Tables[0].Columns.Remove(columnNameTanuloId); } ExcelWorksheet worksheetTanuloEletkor = excelPackage.Workbook.Worksheets.Add("KIRStat_TanuloEletkor"); worksheetTanuloEletkor.Cells[startCellName].LoadFromDataTable(kirStatTanuloEletkorDataSet.Tables[0], true); #endregion Worksheet tanuló életkor #region Worksheet tanuló lakohely if (kirStatTanuloLakohelyDataSet.Tables[0].Rows != null) { kirStatTanuloLakohelyDataSet.Tables[0].Columns.Add(columnNameKettosMagyarAllampolgarText, typeof(string)); kirStatTanuloLakohelyDataSet.Tables[0].Columns.Add(columnNameMagyarTartozkodasiHelyText, typeof(string)); foreach (DataRow item in kirStatTanuloLakohelyDataSet.Tables[0].Rows) { item[columnNameKettosMagyarAllampolgarText] = item.Field(columnNameKettosMagyarAllampolgar) != null ? item.Field(columnNameKettosMagyarAllampolgar).ToBool().GetDisplayName() : string.Empty; item[columnNameMagyarTartozkodasiHelyText] = item.Field(columnNameMagyarTartozkodasiHely) != null ? item.Field(columnNameMagyarTartozkodasiHely).ToBool().GetDisplayName() : string.Empty; } } kirStatTanuloLakohelyDataSet.Tables[0].Columns[columnNameKettosMagyarAllampolgarText].ColumnName = columnValueKettosMagyarAllampolgar; kirStatTanuloLakohelyDataSet.Tables[0].Columns[columnNameMagyarTartozkodasiHelyText].ColumnName = columnValueMagyarTartozkodasiHely; kirStatTanuloLakohelyDataSet.Tables[0].Columns[columnNameTanuloNev].ColumnName = columnValueTanuloNev; kirStatTanuloLakohelyDataSet.Tables[0].Columns[columnNameEvfolyam].ColumnName = columnValueEvfolyamNev; if (kirStatTanuloLakohelyDataSet.Tables[0].Columns.Contains(columnNameTanuloId)) { kirStatTanuloLakohelyDataSet.Tables[0].Columns.Remove(columnNameTanuloId); } if (kirStatTanuloLakohelyDataSet.Tables[0].Columns.Contains(columnNameKettosMagyarAllampolgar)) { kirStatTanuloLakohelyDataSet.Tables[0].Columns.Remove(columnNameKettosMagyarAllampolgar); } if (kirStatTanuloLakohelyDataSet.Tables[0].Columns.Contains(columnNameMagyarTartozkodasiHely)) { kirStatTanuloLakohelyDataSet.Tables[0].Columns.Remove(columnNameMagyarTartozkodasiHely); } ExcelWorksheet worksheetTanuloLakohely = excelPackage.Workbook.Worksheets.Add("KIRStat_TanuloLakohely"); worksheetTanuloLakohely.Cells[startCellName].LoadFromDataTable(kirStatTanuloLakohelyDataSet.Tables[0], true); #endregion Worksheet tanuló lakohely excelPackage.SaveAs(segedletStream); } segedletStream.Seek(0, SeekOrigin.Begin); memoryStreamList.Add(segedletStream); #endregion Segédlet stream return memoryStreamList; }); } public List GetKirStatForFelhasznalo(string filePath, int feladatellatasiHelyId, bool isKlebelsberg) { return Dal.CustomConnection.Run(ConnectionType, handler => { #region Constans const string columnNameEvfolyamNev = "C_NAME_4"; const string columnNameAllampolgarsag = "Allampolgarsag"; const string columnNameAllampolgarsag2 = "Allampolgarsag2"; const string columnNameCimSzerintiOrszag = "CimSzerintiOrszag"; const string magyar = "Magyar"; const string columnNameEvfolyam = "Evfolyam"; const string columnNameEletkor = "Eletkor"; const string columnNameNeme = "Neme"; const string leanyMegnevezes = "Leány"; const string noMegnevezes = "Nő"; const string columnNameTestnevelesTipusa = "TestnevelesTipusa"; const string columnNameTeremTipus = "TeremTipus"; const string columnNameKapacitas = "Kapacitas"; const string columnNameMunkakor = "Munkakor"; const string columnNameReszmunkaidos = "Reszmunkaidos"; const string columnNameMegbizasos = "Megbizasos"; const string columnNamePedagogus = "Pedagogus"; const string columnNameTanuloId = "TanuloId"; const string columnNameBesorolas = "Besorolas"; const string columnNameCsoportTipus = "CsoportTipus"; const string columnNameTanulokSzama = "TanulokSzama"; const string columnNamePedagogusOraszam = "PedagogusOraszam"; const string columnNameFoglalkozasTipusa = "FoglalkozasTipusa"; const string columnNameReszmunkaidoSzazalek = "ReszmunkaidoSzazalek"; const string columnNameOvoda = "Ovoda"; const string columnNameAlsoTagozat = "AlsoTagozat"; const string columnNameFelsoTagozat = "FelsoTagozat"; const string columnNameKozepiskolaKozismeretiOsszes = "KozepiskolaKozismeretiOsszes"; const string columnNameKozepiskolaKozismeretiNemErettsegiFelkeszito = "KozepiskolaKozismeretiNemErettsegiFelkeszito"; const string columnNameKozepiskolaKozismeretiErettsegiFelkeszito = "KozepiskolaKozismeretiErettsegiFelkeszito"; const string columnNameKozepiskolaSzakmaiElmelet = "KozepiskolaSzakmaiElmelet"; const string columnNameKozepiskolaKSzakmaiGyakorlat = "KozepiskolaKSzakmaiGyakorlat"; const string columnNameSzakgimnaziumElmelet = "SzakgimnaziumElmelet"; const string columnNameSzakgimnaziumGyakorlat = "SzakgimnaziumGyakorlat"; const string columnNameAMI = "AMI"; const string columnNameKollegium = "Kollegium"; const string columnNamePedagogiai = "Pedagogiai"; const string columnNameFejlesztoNevelesOktatas = "FejlesztoNevelesOktatas"; const string columnNameMenedekjoggalRendelkezo = "MenedekjoggalRendelkezo"; const string columnNameAlkalmazottId = "AlkalmazottId"; const string adatszolgaltatasDatumaAddress = "N14:Q14"; const string beszamolasiIdoszakAddress = "N17:Q17"; const string nyitoadatokAddress = "N20:Q20"; #endregion Constans string oktatasiNevelesiFeladatNev; var szirStatHelper = new SZIRStatHelper(new DalHandlerConnectionType(ConnectionType, handler)); KirSzirFeladatellatasiHelyCO kirSzirFeladatellatasiHelyCO = szirStatHelper.GetKirSzirFeladatellatasiHely(feladatellatasiHelyId); oktatasiNevelesiFeladatNev = kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyNev; var dal = handler.NyomtatvanyokDal(); DataSet kirStatEvfolyamDataSet = dal.GetKirStatEvfolyam(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId); DataSet kirStatFelhasznaloKettosMagyarAllampolgarDataSet = dal.GetKirStatFelhasznaloKettosAllampolgar(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId); DataSet kirStatFelhasznaloGyogytestnevelesDataSet = dal.GetKirStatFelhasznaloGyogytestneveles(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId); DataSet kirStatFelhasznaloTeremDataSet = dal.GetKirStatFelhasznaloTerem(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId); DataSet kirStatFelhasznaloKonduktivDataSet = dal.GetKirStatFelhasznaloKonduktiv(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId); DataSet kirStatFelhasznaloNoksDataSet = dal.GetKirStatFelhasznaloNoks(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId); DataSet kirStatFelhasznaloPedagogusDataSet = dal.GetKirStatFelhasznaloPedagogus(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId); DataSet kirStatFelhasznaloTanoranKivuliCsoportDataSet = dal.GetKirStatFelhasznaloTanoranKivuliCsoport(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId); List kirStatEvfolyamList = kirStatEvfolyamDataSet != null && kirStatEvfolyamDataSet.Tables.Count > 0 && kirStatEvfolyamDataSet.Tables[0].Rows.Count > 0 ? kirStatEvfolyamDataSet.Tables[0].Rows.Cast().ToList() : new List(); List kirStatFelhasznaloKettosMagyarAllampolgarList = kirStatFelhasznaloKettosMagyarAllampolgarDataSet != null && kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables.Count > 0 && kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Rows.Cast().ToList() : new List(); List kirStatFelhasznaloGyogytestnevelesList = kirStatFelhasznaloGyogytestnevelesDataSet != null && kirStatFelhasznaloGyogytestnevelesDataSet.Tables.Count > 0 && kirStatFelhasznaloGyogytestnevelesDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloGyogytestnevelesDataSet.Tables[0].Rows.Cast().ToList() : new List(); List kirStatFelhasznaloTeremList = kirStatFelhasznaloTeremDataSet != null && kirStatFelhasznaloTeremDataSet.Tables.Count > 0 && kirStatFelhasznaloTeremDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloTeremDataSet.Tables[0].Rows.Cast().ToList() : new List(); List kirStatFelhasznaloKonduktivList = kirStatFelhasznaloKonduktivDataSet != null && kirStatFelhasznaloKonduktivDataSet.Tables.Count > 0 && kirStatFelhasznaloKonduktivDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloKonduktivDataSet.Tables[0].Rows.Cast().ToList() : new List(); List kirStatFelhasznaloNoksList = kirStatFelhasznaloNoksDataSet != null && kirStatFelhasznaloNoksDataSet.Tables.Count > 0 && kirStatFelhasznaloNoksDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloNoksDataSet.Tables[0].Rows.Cast().ToList() : new List(); List kirStatFelhasznaloPedagogusList = kirStatFelhasznaloPedagogusDataSet != null && kirStatFelhasznaloPedagogusDataSet.Tables.Count > 0 && kirStatFelhasznaloPedagogusDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloPedagogusDataSet.Tables[0].Rows.Cast().ToList() : new List(); List kirStatFelhasznaloTanoranKivuliCsoportList = kirStatFelhasznaloTanoranKivuliCsoportDataSet != null && kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables.Count > 0 && kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables[0].Rows.Cast().ToList() : new List(); var tanevHelper = new TanevHelper(new DalHandlerConnectionType(ConnectionType, handler)); var aktivTanev = tanevHelper.GetTanevInfo(); var elozoTanev = tanevHelper.GetElozoTanev(); List streams = new List(); #region sablonStream MemoryStream sablonStream = new MemoryStream(); using (ExcelPackage excelPackage = new ExcelPackage(new FileInfo(filePath))) { ExcelWorkbook excelWorkbook = excelPackage.Workbook; ExcelWorksheets excelWorksheets = excelWorkbook.Worksheets; ExcelWorksheet currentExcelWorksheet; List oszlopNevList; List cimSzerintiOrszagList; List allampolgarsagList; #region 1. MUNKALAP currentExcelWorksheet = excelWorksheets[1]; //KezdiH -- egyelore nem updateljuk //1.MUNKALAP - OMAzonosito //const string omAzonositoCellName = "N11"; //currentExcelWorksheet.Cells[omAzonositoCellName].Value = new IntezmenyHelper(TanevId); var adatszolgaltatasDatuma = new DateTime(aktivTanev.ElsoTanitasiNap.Year, 10, 1).ToShortDateString(); currentExcelWorksheet.Cells[adatszolgaltatasDatumaAddress].Value = adatszolgaltatasDatuma; currentExcelWorksheet.Cells[beszamolasiIdoszakAddress].Value = elozoTanev.Value; currentExcelWorksheet.Cells[nyitoadatokAddress].Value = aktivTanev.Nev; #endregion 1. MUNKALAP #region 2. MUNKALAP //2. MUNKALAP - A02T09 - GYERMEKEK, TANULÓK SZÁMA A LAKÓHELY ORSZÁGA SZERINT, NYITÓADATOK if (oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.ovoda.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.altalanos_iskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakkozepiskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakiskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.gimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakgimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.keszsegfejleszto_iskola.GetDisplayName(TanevId)) { currentExcelWorksheet = excelWorksheets[2]; oszlopNevList = new List { "B", "J", "M", "P" }; cimSzerintiOrszagList = kirStatFelhasznaloKettosMagyarAllampolgarList.Select(x => x.Field(columnNameCimSzerintiOrszag)).Distinct().ToList(); //Gyermekek, tanulók száma a lakóhely országa szerint for (int i = 0; i < cimSzerintiOrszagList.Count; i++) { string cimSzerintiOrszagNev = cimSzerintiOrszagList[i]; currentExcelWorksheet.Cells[oszlopNevList[0] + ((i * 2) + 9).ToString()].Value = cimSzerintiOrszagNev; //minden tanulo aki az adott orszagban van a cime currentExcelWorksheet.Cells[oszlopNevList[1] + ((i * 2) + 9).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x => x.Field(columnNameCimSzerintiOrszag) == cimSzerintiOrszagNev); //kulfoldi allampolgar currentExcelWorksheet.Cells[oszlopNevList[2] + ((i * 2) + 9).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x => x.Field(columnNameCimSzerintiOrszag) == cimSzerintiOrszagNev && x.Field(columnNameAllampolgarsag) != magyar && x.Field(columnNameAllampolgarsag2) != magyar && x.Field(columnNameAllampolgarsag) != "Na" && x.Field(columnNameAllampolgarsag2) != "Na"); //Dupla allampolgar currentExcelWorksheet.Cells[oszlopNevList[3] + ((i * 2) + 9).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x => x.Field(columnNameCimSzerintiOrszag) == cimSzerintiOrszagNev && ( //Mindenkepp van masodik allampolgarsag es nem Magyar es nem Na (x.Field(columnNameAllampolgarsag) == magyar && !string.IsNullOrWhiteSpace(x.Field(columnNameAllampolgarsag2)) && x.Field(columnNameAllampolgarsag2) != "Na" && x.Field(columnNameAllampolgarsag2) != magyar) || //vagy ha Magyar a masodik allampolgarsak akkor az elso nem Na es nem Magyar (x.Field(columnNameAllampolgarsag2) == magyar && x.Field(columnNameAllampolgarsag) != "Na" && x.Field(columnNameAllampolgarsag) != magyar)) ); } } #endregion 2. MUNKALAP #region 4. MUNKALAP if (oktatasiNevelesiFeladatNev != OktatasiNevelesiFeladatEnum.AlapfokuMuveszetoktatas.GetDisplayName(TanevId)) { //4. MUNKALAP FELSŐ - A02T11 - GYÓGYTESTNEVELÉS, NYITÓADATOK currentExcelWorksheet = excelWorksheets[4]; //Gyógytestnevelés currentExcelWorksheet.Cells["X6"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x => x.Field(columnNameTestnevelesTipusa) == CommonResource.KonnyitettTestneveles); currentExcelWorksheet.Cells["AC6"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x => x.Field(columnNameTestnevelesTipusa) == CommonResource.KonnyitettTestneveles && x.Field(columnNameNeme) == leanyMegnevezes); currentExcelWorksheet.Cells["X7"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x => x.Field(columnNameTestnevelesTipusa) == CommonResource.Gyogytestneveles); currentExcelWorksheet.Cells["AC7"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x => x.Field(columnNameTestnevelesTipusa) == CommonResource.Gyogytestneveles && x.Field(columnNameNeme) == leanyMegnevezes); currentExcelWorksheet.Cells["X8"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x => x.Field(columnNameTestnevelesTipusa) == CommonResource.Felmentett); currentExcelWorksheet.Cells["AC8"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x => x.Field(columnNameTestnevelesTipusa) == CommonResource.Felmentett && x.Field(columnNameNeme) == leanyMegnevezes); } #endregion 4. MUNKALAP #region 5. MUNKALAP //5. MUNKALAP - FELSŐ - A02T13 - OSZTÁLYTERMEK/ÓVODAI CSOPORTSZOBÁK/FÉRŐHELYEK NYITÓÁLLOMÁNYA //5. MUNKALAP - KÖZÉPSŐ - A02T14 - MAGYARORSZÁGON TANULÓ KÜLFÖLDI ÁLLAMPOLGÁR GYERMEKEK, TANULÓK SZÁMA ORSZÁGONKÉNT, NYITÓADATOK //5. MUNKALAP - ALSÓ - A02T15 - A SZERVEZETT TANÓRÁN KÍVÜLI FOGLALKOZÁSOK NYITÓADATAI currentExcelWorksheet = excelWorksheets[5]; //A02T13 - Osztálytermek/óvodai csoportszobák /férőhelyek if (oktatasiNevelesiFeladatNev != OktatasiNevelesiFeladatEnum.PedagogiaiSzakszolgaltatas.GetDisplayName(TanevId) && oktatasiNevelesiFeladatNev != OktatasiNevelesiFeladatEnum.pedagogiai_szakmai_szolgaltatas.GetDisplayName(TanevId)) { currentExcelWorksheet.Cells["Q7"].Value = kirStatFelhasznaloTeremList.Count(x => x.Field(columnNameTeremTipus) == CommonResource.OsztalyteremCsoportszoba); currentExcelWorksheet.Cells["V7"].Value = kirStatFelhasznaloTeremList.Where(x => x.Field(columnNameTeremTipus) == CommonResource.OsztalyteremCsoportszoba).Sum(y => y.Field(columnNameKapacitas)); currentExcelWorksheet.Cells["Q8"].Value = kirStatFelhasznaloTeremList.Count(x => x.Field(columnNameTeremTipus) == CommonResource.Szakterem); currentExcelWorksheet.Cells["V8"].Value = kirStatFelhasznaloTeremList.Where(x => x.Field(columnNameTeremTipus) == CommonResource.Szakterem).Sum(y => y.Field(columnNameKapacitas)); currentExcelWorksheet.Cells["Q9"].Value = kirStatFelhasznaloTeremList.Count(x => x.Field(columnNameTeremTipus) == CommonResource.Tornaterem); currentExcelWorksheet.Cells["Q10"].Value = kirStatFelhasznaloTeremList.Count(x => x.Field(columnNameTeremTipus) == CommonResource.Tornaszoba); } //A02T14 - Magyarországon tanuló külföldi állampolgár gyermekek, tanulók száma országonként, nyitóadatok if (oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.ovoda.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.altalanos_iskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakkozepiskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakiskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.gimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakgimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.keszsegfejleszto_iskola.GetDisplayName(TanevId)) { oszlopNevList = new List { "J", "M", "P", "S", "V", "Y", "AB", "AE", "AH", "AK", "AN", "AQ", "AT" }; allampolgarsagList = kirStatFelhasznaloKettosMagyarAllampolgarList.Where(x => (x.Field(columnNameAllampolgarsag) == magyar || x.Field(columnNameAllampolgarsag2) == magyar) == false).ToList() .Select(x => x.Field(columnNameAllampolgarsag)).Distinct().ToList(); for (int i = 0; i < allampolgarsagList.Count; i++) { string currentAllampolgarsag = allampolgarsagList[i]; //Allampolgarsag oszlop kitoltese currentExcelWorksheet.Cells["B" + (i + 22).ToString()].Value = currentAllampolgarsag; for (int j = 0; j < kirStatEvfolyamList.Count; j++) { string evfolyamNev = kirStatEvfolyamList[j]?.Field(columnNameEvfolyamNev).Trim() ?? string.Empty; currentExcelWorksheet.Cells[oszlopNevList[j] + "18"].Value = evfolyamNev; currentExcelWorksheet.Cells[oszlopNevList[j] + (i + 22).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x => x.Field(columnNameAllampolgarsag) == currentAllampolgarsag && x.Field(columnNameEvfolyam) == evfolyamNev); } //Leány oszlop kitoltese currentExcelWorksheet.Cells["AZ" + (i + 22).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x => x.Field(columnNameAllampolgarsag) == currentAllampolgarsag && x.Field(columnNameNeme) == leanyMegnevezes); //Menedékjogot kérő, menekült, menedékes oszlop kitoltese currentExcelWorksheet.Cells["BF" + (i + 22).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x => x.Field(columnNameAllampolgarsag) == currentAllampolgarsag && x.Field(columnNameMenedekjoggalRendelkezo) == "T"); } } //A02T15 - A szervezett tanórán kívüli foglalkozások nyitóadatai if (oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.AltalanosIskolaGyogypedagogia.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.altalanos_iskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.altalanos_iskola_nemzetisegi_.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.felnottoktatas.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.gimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.gimnazium_nemzetisegi_.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.GyermekotthoniFeladatok.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.keszsegfejleszto_iskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.kollegium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.kollegium_nemzetisegi_.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.koznevelesi_es_szakkepzesi_hidprogram.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.MuveszetiSzakgimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakgimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakgimnazium_nemzetisegi_.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakiskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakkozepiskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakkozepiskola_nemzetisegi_.GetDisplayName(TanevId) ) { for (int i = 0; i < 7; i++) { string csoportTipus = currentExcelWorksheet.Cells["B" + (39 + i).ToString()].Value.ToString(); currentExcelWorksheet.Cells["X" + (39 + i).ToString()].Value = kirStatFelhasznaloTanoranKivuliCsoportList.Count(x => x.Field(columnNameBesorolas) == csoportTipus); currentExcelWorksheet.Cells["AE" + (39 + i).ToString()].Value = kirStatFelhasznaloTanoranKivuliCsoportList.Where(x => x.Field(columnNameBesorolas) == csoportTipus && x.Field(columnNameTanulokSzama) != null).ToList().Sum(y => y.Field(columnNameTanulokSzama)); currentExcelWorksheet.Cells["AL" + (39 + i).ToString()].Value = kirStatFelhasznaloTanoranKivuliCsoportList.Where(x => x.Field(columnNameBesorolas) == csoportTipus && x.Field(columnNamePedagogusOraszam) != null).ToList().Sum(y => y.Field(columnNamePedagogusOraszam)); } } #endregion 5. MUNKALAP #region 10. MUNKALAP //10. MUNKALAP - A02T57 - NEVELŐ ÉS OKTATÓ MUNKÁT KÖZVETLENÜL SEGÍTŐ MUNKAKÖRBEN DOLGOZÓK LÉTSZÁMA, NYITÓADATOK currentExcelWorksheet = excelWorksheets[10]; oszlopNevList = new List { "X", "AB", "AF", "AJ", "AV", "AZ", "BD", "BH", "BL", "BP", "CB", "CF" }; //Nevelő és oktató munkát közvetlenül segítő munkakörben dolgozók létszáma for (int i = 0; i < oszlopNevList.Count; i++) { string osztlopNevPrefix = oszlopNevList[i]; List currentListyByColumnLogic = new List(); //Teljes munkaidős összesen if (i == 0) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(false)).ToList(); } //Teljes munkaidős nők if (i == 1) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(false) && x.Field(columnNameNeme) == noMegnevezes).ToList(); } //Részmunkaidős összesen if (i == 2) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(true)).ToList(); } //Részmunkaidős nők if (i == 3) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(true) && x.Field(columnNameNeme) == noMegnevezes).ToList(); } //Megbízási jogviszony összesen if (i == 4) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNameMegbizasos) == SDAConvert.ToSDABoolean(true)).ToList(); } //Megbízási jogviszony nők if (i == 5) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNameMegbizasos) == SDAConvert.ToSDABoolean(true) && x.Field(columnNameNeme) == noMegnevezes).ToList(); } if (isKlebelsberg) { //Pedagógus szakképzettséggel rendelkező teljes munkaidős összesen if (i == 6) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) && x.Field(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(false)).ToList(); } //Pedagógus szakképzettséggel rendelkező teljes munkaidős nők if (i == 7) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) && x.Field(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(false) && x.Field(columnNameNeme) == noMegnevezes).ToList(); } //Pedagógus szakképzettséggel rendelkező részmunkaidős összesen if (i == 8) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) && x.Field(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(true)).ToList(); } //Pedagógus szakképzettséggel rendelkező részmunkaidős nők if (i == 9) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) && x.Field(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(true) && x.Field(columnNameNeme) == noMegnevezes).ToList(); } //Pedagógus szakképzettséggel rendelkező megbízásos jogviszony (megbízási szerződés) összesen if (i == 10) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) && x.Field(columnNameMegbizasos) == SDAConvert.ToSDABoolean(true)).ToList(); } //Pedagógus szakképzettséggel rendelkező megbízásos jogviszony (megbízási szerződés) nők if (i == 11) { currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x => x.Field(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) && x.Field(columnNameMegbizasos) == SDAConvert.ToSDABoolean(true) && x.Field(columnNameNeme) == noMegnevezes).ToList(); } } currentExcelWorksheet.Cells[osztlopNevPrefix + 08].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Titkar); currentExcelWorksheet.Cells[osztlopNevPrefix + 09].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Dajka); currentExcelWorksheet.Cells[osztlopNevPrefix + 10].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.GondozonoEsTakarito); currentExcelWorksheet.Cells[osztlopNevPrefix + 11].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Laborans); currentExcelWorksheet.Cells[osztlopNevPrefix + 12].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.PedagogiaiAsszisztens); currentExcelWorksheet.Cells[osztlopNevPrefix + 13].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.GyogypedagogiaiAsszisztens); currentExcelWorksheet.Cells[osztlopNevPrefix + 14].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Konyvtaros); currentExcelWorksheet.Cells[osztlopNevPrefix + 15].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Szakorvos); currentExcelWorksheet.Cells[osztlopNevPrefix + 16].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.GyermekEsIfjusagvedelmiFelugyelo); currentExcelWorksheet.Cells[osztlopNevPrefix + 17].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.SzabadidoSzervezo); currentExcelWorksheet.Cells[osztlopNevPrefix + 18].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Pszichopedagogus); currentExcelWorksheet.Cells[osztlopNevPrefix + 19].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.MuszakiVezeto); currentExcelWorksheet.Cells[osztlopNevPrefix + 20].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.JelmezEsViseletTaros); currentExcelWorksheet.Cells[osztlopNevPrefix + 21].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Apolo); currentExcelWorksheet.Cells[osztlopNevPrefix + 22].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Hangszerkarbantarto); currentExcelWorksheet.Cells[osztlopNevPrefix + 23].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Uszomester); currentExcelWorksheet.Cells[osztlopNevPrefix + 24].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Rendszergazda); currentExcelWorksheet.Cells[osztlopNevPrefix + 25].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.PedagogiaiFelugyelo); currentExcelWorksheet.Cells[osztlopNevPrefix + 27].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.SzocialisMunkas); currentExcelWorksheet.Cells[osztlopNevPrefix + 28].Value = currentListyByColumnLogic.Count(x => x.Field(columnNameMunkakor) == CommonResource.Gyogytornasz); } //nullozni a cellakat ha nem Klebelsberg if (!isKlebelsberg) { oszlopNevList = new List { "AV", "AZ", "BD", "BH", "BL", "BP", "BT", "BX", "CB", "CF" }; for (int i = 7; i < 29; i++) { for (int j = 0; j < oszlopNevList.Count; j++) { currentExcelWorksheet.Cells[oszlopNevList[j] + i.ToString()].Value = ""; } } } #endregion 10. MUNKALAP #region 11. MUNKALAP //11. MUNKALAP - A02T59 - PEDAGÓGUSOK NYITÓÁLLOMÁNYA MUNKAIDŐ SZERINT, OKTATÁSI SZINTENKÉNT currentExcelWorksheet = excelWorksheets[11]; //Pedagógusok nyitóállománya munkaidő szerint, oktatási szintenként oszlopNevList = new List { "N", "R", "V", "Z", "AD", "AH", "AL", "AP", "AT", "AX", "BB", "BF", "BJ" }; List alkalmazottIdList = new List(); for (int i = 0; i < oszlopNevList.Count; i++) { string currentColumnName = string.Empty; if (oszlopNevList[i] == "N") currentColumnName = columnNameOvoda; if (oszlopNevList[i] == "R") currentColumnName = columnNameAlsoTagozat; if (oszlopNevList[i] == "V") currentColumnName = columnNameFelsoTagozat; if (oszlopNevList[i] == "Z") currentColumnName = columnNameKozepiskolaKozismeretiOsszes; if (oszlopNevList[i] == "AD") currentColumnName = columnNameKozepiskolaKozismeretiErettsegiFelkeszito; if (oszlopNevList[i] == "AH") currentColumnName = columnNameKozepiskolaSzakmaiElmelet; if (oszlopNevList[i] == "AL") currentColumnName = columnNameKozepiskolaKSzakmaiGyakorlat; if (oszlopNevList[i] == "AP") currentColumnName = columnNameSzakgimnaziumElmelet; if (oszlopNevList[i] == "AT") currentColumnName = columnNameSzakgimnaziumGyakorlat; if (oszlopNevList[i] == "AX") currentColumnName = columnNameAMI; if (oszlopNevList[i] == "BB") currentColumnName = columnNameKollegium; if (oszlopNevList[i] == "BF") currentColumnName = columnNamePedagogiai; if (oszlopNevList[i] == "BJ") currentColumnName = columnNameFejlesztoNevelesOktatas; //leszurjuk az adott kategoria max oraszamos alkalmazottat aki meg nem szerepelt az elozo oszlopokban List currentalkalmazottDataRowList = kirStatFelhasznaloPedagogusList.Where(x => x.Field(currentColumnName) > 0 && (x.Field(currentColumnName) > x.Field(columnNameOvoda) || currentColumnName == columnNameOvoda) && (x.Field(currentColumnName) >= x.Field(columnNameAlsoTagozat) || currentColumnName == columnNameAlsoTagozat) && (x.Field(currentColumnName) >= x.Field(columnNameFelsoTagozat) || currentColumnName == columnNameFelsoTagozat) && (x.Field(currentColumnName) >= x.Field(columnNameKozepiskolaKozismeretiOsszes) || currentColumnName == columnNameKozepiskolaKozismeretiOsszes) && (x.Field(currentColumnName) >= x.Field(columnNameKozepiskolaKozismeretiErettsegiFelkeszito) || currentColumnName == columnNameKozepiskolaKozismeretiErettsegiFelkeszito) && (x.Field(currentColumnName) >= x.Field(columnNameKozepiskolaSzakmaiElmelet) || currentColumnName == columnNameKozepiskolaSzakmaiElmelet) && (x.Field(currentColumnName) >= x.Field(columnNameKozepiskolaKSzakmaiGyakorlat) || currentColumnName == columnNameKozepiskolaKSzakmaiGyakorlat) && (x.Field(currentColumnName) >= x.Field(columnNameSzakgimnaziumElmelet) || currentColumnName == columnNameSzakgimnaziumElmelet) && (x.Field(currentColumnName) >= x.Field(columnNameSzakgimnaziumGyakorlat) || currentColumnName == columnNameSzakgimnaziumGyakorlat) && (x.Field(currentColumnName) >= x.Field(columnNameAMI) || currentColumnName == columnNameAMI) && (x.Field(currentColumnName) >= x.Field(columnNameKollegium) || currentColumnName == columnNameKollegium) && (x.Field(currentColumnName) >= x.Field(columnNamePedagogiai) || currentColumnName == columnNamePedagogiai) && (x.Field(currentColumnName) >= x.Field(columnNameFejlesztoNevelesOktatas) || currentColumnName == columnNameFejlesztoNevelesOktatas) && alkalmazottIdList.Contains(x.Field(columnNameAlkalmazottId)) == false //meg nem szamoltuk bele egyik kategoriaban sem ).ToList(); //kiboviteni az igy kapott alkalmazottIdListat alkalmazottIdList.AddRange(currentalkalmazottDataRowList.Select(x => x.Field(columnNameAlkalmazottId)).ToList()); for (int j = 9; j < 15; j++) { string currentFoglalkozasTipusa = string.Empty; if (j < 11) currentFoglalkozasTipusa = "Teljes munkaidős"; if (j > 10 && j < 13) currentFoglalkozasTipusa = "Részmunkaidős"; if (j > 12) currentFoglalkozasTipusa = "Óraadó"; currentExcelWorksheet.Cells[oszlopNevList[i] + j.ToString()].Value = currentalkalmazottDataRowList.Count(x => x.Field(columnNameFoglalkozasTipusa) == currentFoglalkozasTipusa && (j % 2 == 1 || x.Field(columnNameNeme) == noMegnevezes) ); } } #endregion 11. MUNKALAP #region 12. MUNKALAP //12. MUNKALAP - A02T61 - FŐ MUNKAVISZONY KERETÉBEN, PEDAGÓGUS MUNKAKÖRBEN ALKALMAZOTT PEDAGÓGUSOK SZÁMÁNAK NYITÓÁLLOMÁNYA ÉLETKOR ÉS NEM SZERINT, OKTATÁSI SZINTENKÉNT currentExcelWorksheet = excelWorksheets[12]; //Fő munkaviszony keretében, pedagógus munkakörben alkalmazott pedagógusok számának nyitóállománya életkor és nem szerint, oktatási szintenként oszlopNevList = new List { "T", "X", "AB", "AF", "AJ", "AN", "AR", "AV", "AZ", "BD", "BH", "BL", "BP" }; alkalmazottIdList = new List(); for (int i = 0; i < oszlopNevList.Count; i++) { string currentColumnName = string.Empty; if (oszlopNevList[i] == "T") currentColumnName = columnNameOvoda; if (oszlopNevList[i] == "X") currentColumnName = columnNameAlsoTagozat; if (oszlopNevList[i] == "AB") currentColumnName = columnNameFelsoTagozat; if (oszlopNevList[i] == "AF") currentColumnName = columnNameKozepiskolaKozismeretiOsszes; if (oszlopNevList[i] == "AJ") currentColumnName = columnNameKozepiskolaKozismeretiErettsegiFelkeszito; if (oszlopNevList[i] == "AN") currentColumnName = columnNameKozepiskolaSzakmaiElmelet; if (oszlopNevList[i] == "AR") currentColumnName = columnNameKozepiskolaKSzakmaiGyakorlat; if (oszlopNevList[i] == "AV") currentColumnName = columnNameSzakgimnaziumElmelet; if (oszlopNevList[i] == "AZ") currentColumnName = columnNameSzakgimnaziumGyakorlat; if (oszlopNevList[i] == "BD") currentColumnName = columnNameAMI; if (oszlopNevList[i] == "BH") currentColumnName = columnNameKollegium; if (oszlopNevList[i] == "BL") currentColumnName = columnNamePedagogiai; if (oszlopNevList[i] == "BP") currentColumnName = columnNameFejlesztoNevelesOktatas; //leszurjuk az adott kategoria max oraszamos alkalmazottat aki meg nem szerepelt az elozo oszlopokban List currentalkalmazottDataRowList = kirStatFelhasznaloPedagogusList.Where(x => x.Field(currentColumnName) > 0 && (x.Field(currentColumnName) > x.Field(columnNameOvoda) || currentColumnName == columnNameOvoda) && (x.Field(currentColumnName) >= x.Field(columnNameAlsoTagozat) || currentColumnName == columnNameAlsoTagozat) && (x.Field(currentColumnName) >= x.Field(columnNameFelsoTagozat) || currentColumnName == columnNameFelsoTagozat) && (x.Field(currentColumnName) >= x.Field(columnNameKozepiskolaKozismeretiOsszes) || currentColumnName == columnNameKozepiskolaKozismeretiOsszes) && (x.Field(currentColumnName) >= x.Field(columnNameKozepiskolaKozismeretiErettsegiFelkeszito) || currentColumnName == columnNameKozepiskolaKozismeretiErettsegiFelkeszito) && (x.Field(currentColumnName) >= x.Field(columnNameKozepiskolaSzakmaiElmelet) || currentColumnName == columnNameKozepiskolaSzakmaiElmelet) && (x.Field(currentColumnName) >= x.Field(columnNameKozepiskolaKSzakmaiGyakorlat) || currentColumnName == columnNameKozepiskolaKSzakmaiGyakorlat) && (x.Field(currentColumnName) >= x.Field(columnNameSzakgimnaziumElmelet) || currentColumnName == columnNameSzakgimnaziumElmelet) && (x.Field(currentColumnName) >= x.Field(columnNameSzakgimnaziumGyakorlat) || currentColumnName == columnNameSzakgimnaziumGyakorlat) && (x.Field(currentColumnName) >= x.Field(columnNameAMI) || currentColumnName == columnNameAMI) && (x.Field(currentColumnName) >= x.Field(columnNameKollegium) || currentColumnName == columnNameKollegium) && (x.Field(currentColumnName) >= x.Field(columnNamePedagogiai) || currentColumnName == columnNamePedagogiai) && (x.Field(currentColumnName) >= x.Field(columnNameFejlesztoNevelesOktatas) || currentColumnName == columnNameFejlesztoNevelesOktatas) && alkalmazottIdList.Contains(x.Field(columnNameAlkalmazottId)) == false //meg nem szamoltuk bele egyik kategoriaban sem ).ToList(); //kiboviteni az igy kapott alkalmazottIdListat alkalmazottIdList.AddRange(currentalkalmazottDataRowList.Select(x => x.Field(columnNameAlkalmazottId)).ToList()); for (int j = 9; j < 29; j++) { int currentMinEletkor = 0; int currentMaxEletkor = 200; if (j < 11) { currentMinEletkor = 0; currentMaxEletkor = 24; } if (j < 13 && j > 10) { currentMinEletkor = 25; currentMaxEletkor = 29; } if (j < 15 && j > 12) { currentMinEletkor = 30; currentMaxEletkor = 34; } if (j < 17 && j > 14) { currentMinEletkor = 35; currentMaxEletkor = 39; } if (j < 19 && j > 16) { currentMinEletkor = 40; currentMaxEletkor = 44; } if (j < 21 && j > 18) { currentMinEletkor = 45; currentMaxEletkor = 49; } if (j < 23 && j > 20) { currentMinEletkor = 50; currentMaxEletkor = 54; } if (j < 25 && j > 22) { currentMinEletkor = 55; currentMaxEletkor = 59; } if (j < 27 && j > 24) { currentMinEletkor = 60; currentMaxEletkor = 64; } if (j > 26) { currentMinEletkor = 65; currentMaxEletkor = 200; } currentExcelWorksheet.Cells[oszlopNevList[i] + j.ToString()].Value = currentalkalmazottDataRowList.Count(x => x.Field(columnNameEletkor) > currentMinEletkor - 1 && x.Field(columnNameEletkor) < currentMaxEletkor + 1 && (j % 2 == 1 || x.Field(columnNameNeme) == noMegnevezes) ); } } #endregion 12. MUNKALAP #region 17. MUNKALAP //17. MUNKALAP JOBB FELSŐ - A02T86 - KONDUKTÍV PEDAGÓGIAI ELLÁTOTTAK SZÁMA KORÉV SZERINT, BESZÁMOLÁSI IDŐSZAK currentExcelWorksheet = excelWorksheets[17]; //if (oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.PedagogiaiSzakszolgaltatas.GetDisplayName() || // oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.pedagogiai_szakmai_szolgaltatas.GetDisplayName() || // oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.KonduktivPedagogiaiEllatas.GetDisplayName()) //{ //Konduktív pedagógiai ellátottak száma korév szerint, beszámolási időszak currentExcelWorksheet.Cells["AW8"].Value = kirStatFelhasznaloKonduktivList.Count(x => x.Field(columnNameEletkor) < 3); currentExcelWorksheet.Cells["BA8"].Value = kirStatFelhasznaloKonduktivList.Count(x => x.Field(columnNameEletkor) < 3 && x.Field(columnNameNeme) == leanyMegnevezes); currentExcelWorksheet.Cells["AW9"].Value = kirStatFelhasznaloKonduktivList.Count(x => x.Field(columnNameEletkor) > 3 && x.Field(columnNameEletkor) < 6); currentExcelWorksheet.Cells["BA9"].Value = kirStatFelhasznaloKonduktivList.Count(x => x.Field(columnNameEletkor) > 3 && x.Field(columnNameEletkor) < 6 && x.Field(columnNameNeme) == leanyMegnevezes); currentExcelWorksheet.Cells["AW10"].Value = kirStatFelhasznaloKonduktivList.Count(x => x.Field(columnNameEletkor) > 5 && x.Field(columnNameEletkor) < 11); currentExcelWorksheet.Cells["BA10"].Value = kirStatFelhasznaloKonduktivList.Count(x => x.Field(columnNameEletkor) > 5 && x.Field(columnNameEletkor) < 11 && x.Field(columnNameNeme) == leanyMegnevezes); currentExcelWorksheet.Cells["AW11"].Value = kirStatFelhasznaloKonduktivList.Count(x => x.Field(columnNameEletkor) > 10 && x.Field(columnNameEletkor) < 15); currentExcelWorksheet.Cells["BA11"].Value = kirStatFelhasznaloKonduktivList.Count(x => x.Field(columnNameEletkor) > 10 && x.Field(columnNameEletkor) < 15 && x.Field(columnNameNeme) == leanyMegnevezes); currentExcelWorksheet.Cells["AW12"].Value = kirStatFelhasznaloKonduktivList.Count(x => x.Field(columnNameEletkor) > 14); currentExcelWorksheet.Cells["BA12"].Value = kirStatFelhasznaloKonduktivList.Count(x => x.Field(columnNameEletkor) > 14 && x.Field(columnNameNeme) == leanyMegnevezes); //} #endregion 17. MUNKALAP #region 22. MUNKALAP //22. MUNKALAP - A02T106 - MAGYARORSZÁGON TANULÓ KETTŐS - MAGYAR ÉS EGYÉB- ÁLLAMPOLGÁR GYERMEKEK, TANULÓK SZÁMA ORSZÁGONKÉNT, NYITÓADATOK if (oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.ovoda.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.altalanos_iskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakkozepiskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakiskola.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.gimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.szakgimnazium.GetDisplayName(TanevId) || oktatasiNevelesiFeladatNev == OktatasiNevelesiFeladatEnum.keszsegfejleszto_iskola.GetDisplayName(TanevId)) { currentExcelWorksheet = excelWorksheets[22]; oszlopNevList = new List { "J", "M", "P", "S", "V", "Y", "AB", "AE", "AH", "AK", "AN", "AQ", "AT" }; List kotelezoOszlopNevList = new List { "B", "AZ", "BC" }; List allampolgarsagDataRowList = kirStatFelhasznaloKettosMagyarAllampolgarList.Where(x => (x.Field(columnNameAllampolgarsag) == magyar && !string.IsNullOrWhiteSpace(x.Field(columnNameAllampolgarsag2)) && x.Field(columnNameAllampolgarsag2) != "Na" && x.Field(columnNameAllampolgarsag2) != magyar) || (x.Field(columnNameAllampolgarsag2) == magyar && !string.IsNullOrWhiteSpace(x.Field(columnNameAllampolgarsag)) && x.Field(columnNameAllampolgarsag) != "Na" && x.Field(columnNameAllampolgarsag) != magyar)).ToList(); List allampolgarsagTemporaryList = new List();// egy allampolgarsag szerepelhet egyszer allampolgarsag1 maskor allampolgarsag2 allampolgarsagTemporaryList = allampolgarsagDataRowList.Where(x => x.Field(columnNameAllampolgarsag) != magyar && x.Field(columnNameAllampolgarsag) != "Na").ToList() .Select(y => y.Field(columnNameAllampolgarsag)).Distinct().ToList(); allampolgarsagTemporaryList.AddRange(allampolgarsagDataRowList.Where(x => x.Field(columnNameAllampolgarsag2) != magyar && x.Field(columnNameAllampolgarsag2) != "Na").ToList() .Select(y => y.Field(columnNameAllampolgarsag2)).Distinct().ToList()); allampolgarsagList = allampolgarsagTemporaryList.Distinct().ToList(); //Magyarországon tanuló kettős - magyar és egyéb- állampolgár gyermekek, tanulók száma országonként for (int o = 0; o < allampolgarsagList.Count; o++) { string allampolgarsag = allampolgarsagList[o]; //OrszagOszlop currentExcelWorksheet.Cells["B" + (o + 9).ToString()].Value = allampolgarsag; for (int i = 0; i < kirStatEvfolyamList.Count; i++) { string osztlopNevPrefix = oszlopNevList[i]; string evfolyamNev = kirStatEvfolyamList[i]?.Field(columnNameEvfolyamNev).Trim() ?? string.Empty; //Évfolyam csak az elso orszagnal futtatjuk mivel nincs szukseg ugyanazon ertekekkel updatelni az erteket if (o == 0) { currentExcelWorksheet.Cells[osztlopNevPrefix + 5].Value = evfolyamNev; } //Évfolyam és ország filter currentExcelWorksheet.Cells[osztlopNevPrefix + (o + 9).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x => ((x.Field(columnNameAllampolgarsag) == allampolgarsag && x.Field(columnNameAllampolgarsag2) == magyar) || (x.Field(columnNameAllampolgarsag2) == allampolgarsag && x.Field(columnNameAllampolgarsag) == magyar)) && x.Field(columnNameEvfolyam) == evfolyamNev); } //LeányOszlop currentExcelWorksheet.Cells["AZ" + (o + 9).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x => ((x.Field(columnNameAllampolgarsag) == allampolgarsag && x.Field(columnNameAllampolgarsag2) == magyar) || (x.Field(columnNameAllampolgarsag2) == allampolgarsag && x.Field(columnNameAllampolgarsag) == magyar)) && x.Field(columnNameNeme) == leanyMegnevezes); } } #endregion 22. MUNKALAP excelPackage.SaveAs(sablonStream); } sablonStream.Position = 0; streams.Add(sablonStream); #endregion sablonStream #region segedletStream MemoryStream segedletStream = new MemoryStream(); using (ExcelPackage excelPackage = new ExcelPackage()) { #region worksheetEvfolyam kirStatEvfolyamDataSet.Tables[0].Columns["C_NAME_4"].ColumnName = "Évfolyam neve"; if (kirStatEvfolyamDataSet.Tables[0].Columns.Contains("Sort")) kirStatEvfolyamDataSet.Tables[0].Columns.Remove("Sort"); ExcelWorksheet worksheetEvfolyam = excelPackage.Workbook.Worksheets.Add("KIRStat_Evfolyam"); worksheetEvfolyam.Cells["A1"].LoadFromDataTable(kirStatEvfolyamDataSet.Tables[0], true); #endregion worksheetEvfolyam #region worksheetFelhasznaloKettosMagyarAllampolgar if (kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Rows != null) { foreach (DataRow item in kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Rows) { item[columnNameMenedekjoggalRendelkezo] = SDAConvert.ToBooleanFromTF(item.Field(columnNameMenedekjoggalRendelkezo)).GetDisplayName(); } } kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Columns["TanuloNev"].ColumnName = "Tanuló neve"; kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Columns[columnNameAllampolgarsag].ColumnName = "Állampolgarság"; kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Columns[columnNameAllampolgarsag2].ColumnName = "Állampolgarság2"; kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Columns[columnNameMenedekjoggalRendelkezo].ColumnName = "Menedék joggal rendelkező"; kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Columns["CimSzerintiOrszag"].ColumnName = "Ország neve"; if (kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Columns.Contains(columnNameTanuloId)) kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Columns.Remove(columnNameTanuloId); ExcelWorksheet worksheetFelhasznaloKettosMagyarAllampolgar = excelPackage.Workbook.Worksheets.Add("KIRStat_FelhasznaloKettosMagyarAllampolgar"); worksheetFelhasznaloKettosMagyarAllampolgar.Cells["A1"].LoadFromDataTable(kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0], true); #endregion worksheetFelhasznaloKettosMagyarAllampolgar #region worksheetFelhasznaloGyogytestneveles kirStatFelhasznaloGyogytestnevelesDataSet.Tables[0].Columns["TanuloNev"].ColumnName = "Tanuló neve"; kirStatFelhasznaloGyogytestnevelesDataSet.Tables[0].Columns[columnNameTestnevelesTipusa].ColumnName = "Testnevelás tipusa"; kirStatFelhasznaloGyogytestnevelesDataSet.Tables[0].Columns[columnNameEvfolyam].ColumnName = "Évfolyam neve"; if (kirStatFelhasznaloGyogytestnevelesDataSet.Tables[0].Columns.Contains(columnNameTanuloId)) kirStatFelhasznaloGyogytestnevelesDataSet.Tables[0].Columns.Remove(columnNameTanuloId); ExcelWorksheet worksheetFelhasznaloGyogytestneveles = excelPackage.Workbook.Worksheets.Add("KIRStat_FelhasznaloGyogytestneveles"); worksheetFelhasznaloGyogytestneveles.Cells["A1"].LoadFromDataTable(kirStatFelhasznaloGyogytestnevelesDataSet.Tables[0], true); #endregion worksheetFelhasznaloGyogytestneveles #region worksheetFelhasznaloTerem kirStatFelhasznaloTeremDataSet.Tables[0].Columns["TeremNev"].ColumnName = "Terem neve"; kirStatFelhasznaloTeremDataSet.Tables[0].Columns[columnNameTeremTipus].ColumnName = "Terem tipusa"; kirStatFelhasznaloTeremDataSet.Tables[0].Columns[columnNameKapacitas].ColumnName = "Kapacitás"; if (kirStatFelhasznaloTeremDataSet.Tables[0].Columns.Contains("TeremId")) kirStatFelhasznaloTeremDataSet.Tables[0].Columns.Remove("TeremId"); ExcelWorksheet worksheetFelhasznaloTerem = excelPackage.Workbook.Worksheets.Add("KIRStat_FelhasznaloTerem"); worksheetFelhasznaloTerem.Cells["A1"].LoadFromDataTable(kirStatFelhasznaloTeremDataSet.Tables[0], true); #endregion worksheetFelhasznaloTerem #region worksheetFelhasznaloKonduktiv if (kirStatFelhasznaloKonduktivDataSet.Tables[0].Rows != null) { kirStatFelhasznaloKonduktivDataSet.Tables[0].Columns.Add("Nyilvántartás kezdete", typeof(string)); foreach (DataRow item in kirStatFelhasznaloKonduktivDataSet.Tables[0].Rows) { item["Nyilvántartás kezdete"] = SDAConvert.ToDateTime(item.Field("NyilvantartasKezdete")).ToShortDateString(); } } kirStatFelhasznaloKonduktivDataSet.Tables[0].Columns["TanuloNev"].ColumnName = "Tanuló neve"; kirStatFelhasznaloKonduktivDataSet.Tables[0].Columns[columnNameEletkor].ColumnName = "Életkor"; if (kirStatFelhasznaloKonduktivDataSet.Tables[0].Columns.Contains(columnNameTanuloId)) kirStatFelhasznaloKonduktivDataSet.Tables[0].Columns.Remove(columnNameTanuloId); if (kirStatFelhasznaloKonduktivDataSet.Tables[0].Columns.Contains("NyilvantartasKezdete")) kirStatFelhasznaloKonduktivDataSet.Tables[0].Columns.Remove("NyilvantartasKezdete"); ExcelWorksheet worksheetFelhasznaloKonduktiv = excelPackage.Workbook.Worksheets.Add("KIRStat_FelhasznaloKonduktiv"); worksheetFelhasznaloKonduktiv.Cells["A1"].LoadFromDataTable(kirStatFelhasznaloKonduktivDataSet.Tables[0], true); #endregion worksheetFelhasznaloKonduktiv #region worksheetFelhasznaloNOKS if (kirStatFelhasznaloNoksDataSet.Tables[0].Rows != null) { foreach (DataRow item in kirStatFelhasznaloNoksDataSet.Tables[0].Rows) { item["Reszmunkaidos"] = SDAConvert.ToBooleanFromTF(item.Field("Reszmunkaidos")) ? "Igen" : "Nem"; item["Megbizasos"] = SDAConvert.ToBooleanFromTF(item.Field("Megbizasos")) ? "Igen" : "Nem"; item["Pedagogus"] = SDAConvert.ToBooleanFromTF(item.Field("Pedagogus")) ? "Igen" : "Nem"; } } kirStatFelhasznaloNoksDataSet.Tables[0].Columns["AlkalmazottNev"].ColumnName = "Alkalmazott neve"; kirStatFelhasznaloNoksDataSet.Tables[0].Columns[columnNameMunkakor].ColumnName = "Munkakör"; kirStatFelhasznaloNoksDataSet.Tables[0].Columns[columnNameReszmunkaidos].ColumnName = "Részmunkaidős"; kirStatFelhasznaloNoksDataSet.Tables[0].Columns[columnNameMegbizasos].ColumnName = "Megbízásos"; kirStatFelhasznaloNoksDataSet.Tables[0].Columns[columnNamePedagogus].ColumnName = "Pedagógus"; ExcelWorksheet worksheetFelhasznaloNOKS = excelPackage.Workbook.Worksheets.Add("KIRStat_FelhasznaloNOKS"); worksheetFelhasznaloNOKS.Cells["A1"].LoadFromDataTable(kirStatFelhasznaloNoksDataSet.Tables[0], true); #endregion worksheetFelhasznaloNOKS #region worksheetFelhasznaloTanoranKivuliCsoport kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables[0].Columns["C_NEV"].ColumnName = "Csoport neve"; kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables[0].Columns[columnNameBesorolas].ColumnName = "Besorolás"; kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables[0].Columns[columnNameCsoportTipus].ColumnName = "Csoport tipusa"; kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables[0].Columns[columnNameTanulokSzama].ColumnName = "Tanulók száma"; kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables[0].Columns[columnNamePedagogusOraszam].ColumnName = "Pedagógus óraszám"; ExcelWorksheet worksheetFelhasznaloTanoranKivuliCsoport = excelPackage.Workbook.Worksheets.Add("KIRStat_FelhasznaloTanoranKivuliCsoport"); worksheetFelhasznaloTanoranKivuliCsoport.Cells["A1"].LoadFromDataTable(kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables[0], true); #endregion worksheetFelhasznaloTanoranKivuliCsoport #region worksheetFelhasznaloPedagogus kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameOvoda].ColumnName = "Óvodában foglalkoztatott"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameAlsoTagozat].ColumnName = "1-4. évfolyamon"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameFelsoTagozat].ColumnName = "5-8. évfolyamon"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameKozepiskolaKozismeretiOsszes].ColumnName = "Középiskola közismereti összes"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameKozepiskolaKozismeretiNemErettsegiFelkeszito].ColumnName = "Középiskola közismereti nem érettségi felkészítő"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameKozepiskolaKozismeretiErettsegiFelkeszito].ColumnName = "Középiskola közismereti érettségi felkészítő"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameKozepiskolaSzakmaiElmelet].ColumnName = "Középiskola szakmai elmélet"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameKozepiskolaKSzakmaiGyakorlat].ColumnName = "Középiskola szakmai gyakorlat"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameSzakgimnaziumElmelet].ColumnName = "Szakgimnázium elmélet"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameSzakgimnaziumGyakorlat].ColumnName = "Szakgimnázium gyakorlat"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameAMI].ColumnName = "Alapfokú művészeti iskolában"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameKollegium].ColumnName = "Kollégium"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNamePedagogiai].ColumnName = "Pedagógiai szakszolgálatnál,..."; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameFejlesztoNevelesOktatas].ColumnName = "Fejlesztő nevelés-oktatásban"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns["Nev"].ColumnName = "Alkalmozott neve"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameFoglalkozasTipusa].ColumnName = "Foglalkozás tipusa"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameReszmunkaidoSzazalek].ColumnName = "Részmunkaidő százalék"; kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns[columnNameEletkor].ColumnName = "Életkor"; if (kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns.Contains(columnNameAlkalmazottId)) kirStatFelhasznaloPedagogusDataSet.Tables[0].Columns.Remove(columnNameAlkalmazottId); ExcelWorksheet worksheetFelhasznaloPedagogus = excelPackage.Workbook.Worksheets.Add("KIRStat_FelhasznaloPedagogus"); worksheetFelhasznaloPedagogus.Cells["A1"].LoadFromDataTable(kirStatFelhasznaloPedagogusDataSet.Tables[0], true); #endregion worksheetFelhasznaloPedagogus excelPackage.SaveAs(segedletStream); } segedletStream.Position = 0; streams.Add(segedletStream); #endregion segedletStream return streams; }); } #endregion KIRStat public Dictionary GetUjTorzslapBetuMeretList(List removedItems = null, bool isDescending = false) { var result = new Dictionary(); var orderedList = Core.Constants.UjTorzslapBetuMeretek; if (isDescending) { orderedList = orderedList.OrderByDescending(x => x).ToList(); } foreach (var item in orderedList) { if ((removedItems != null) && removedItems.Contains(item)) { continue; } result.Add(item.ToString(), item.ToString()); } return result; } private string GetFastReportCompatibleHtmlString(string text) { string result = text.Replace("
", Environment.NewLine); return result; } public List GetKapcsolodoOsztalyCsoportokForComboBox(OktNevelesiKategoriaEnum? feladatKategoria, string osztalyGroupName = null, string csoportGroupName = null) { return Dal.CustomConnection.Run(ConnectionType, h => { if (string.IsNullOrWhiteSpace(osztalyGroupName)) { osztalyGroupName = CommonResource.OsztalyGroupName; } if (string.IsNullOrWhiteSpace(csoportGroupName)) { csoportGroupName = CommonResource.CsoportGroupName; } DataSet dataSet = GetKapcsolodoOsztalyCsoportDataSet(h, true, true, false, feladatKategoria, osztalyGroupName, csoportGroupName); List result = LogicUtil.CreateMvcGroupedSelectListItem(dataSet, "ID", "Nev", "GroupName"); return result; }); } public List GetKapcsolodoOsztalyokForComboBox(OktNevelesiKategoriaEnum? feladatKategoria, string osztalyGroupName = null, string csoportGroupName = null) { return Dal.CustomConnection.Run(ConnectionType, h => { if (string.IsNullOrWhiteSpace(osztalyGroupName)) { osztalyGroupName = CommonResource.OsztalyGroupName; } DataSet dataSet = GetKapcsolodoOsztalyCsoportDataSet(h, true, false, false, feladatKategoria, osztalyGroupName, csoportGroupName); List result = LogicUtil.CreateMvcGroupedSelectListItem(dataSet, "ID", "Nev", "GroupName"); return result; }); } public List GetKapcsolodoCsoportokForComboBox(OktNevelesiKategoriaEnum? feladatKategoria, string osztalyGroupName = null, string csoportGroupName = null) { return Dal.CustomConnection.Run(ConnectionType, h => { if (string.IsNullOrWhiteSpace(csoportGroupName)) { csoportGroupName = CommonResource.CsoportGroupName; } DataSet dataSet = GetKapcsolodoOsztalyCsoportDataSet(h, false, true, false, feladatKategoria, osztalyGroupName, csoportGroupName); List result = LogicUtil.CreateMvcGroupedSelectListItem(dataSet, "ID", "Nev", "GroupName"); return result; }); } public List GetKapcsolodoOsztalyokByMuveszetiAgForComboBox(MuveszetiAgEnum? muveszetiAg, string osztalyGroupName = null, string csoportGroupName = null) { return Dal.CustomConnection.Run(ConnectionType, h => { if (string.IsNullOrWhiteSpace(osztalyGroupName)) { osztalyGroupName = CommonResource.OsztalyGroupName; } DataSet dataSet = GetKapcsolodoOsztalyCsoportDataSet(h, true, false, false, muveszetiAg, osztalyGroupName, csoportGroupName); List result = LogicUtil.CreateMvcGroupedSelectListItem(dataSet, "ID", "Nev", "GroupName"); return result; }); } private DataSet GetKapcsolodoOsztalyCsoportDataSet(IDalHandler h, bool osztalyKell, bool csoportKell, bool tartottOraKell, MuveszetiAgEnum? muveszetiAg, string osztalyGroupName = null, string csoportGroupName = null) { return h.NyomtatvanyokDal().GetKapcsolodoOsztalyCsoportokByTanarId(FelhasznaloId, TanevId, osztalyKell, csoportKell, tartottOraKell, muveszetiAg, osztalyGroupName, csoportGroupName); } private DataSet GetKapcsolodoOsztalyCsoportDataSet(IDalHandler h, bool osztalyKell, bool csoportKell, bool tartottOraKell, OktNevelesiKategoriaEnum? feladatKategoria, string osztalyGroupName = null, string csoportGroupName = null) { return h.NyomtatvanyokDal().GetKapcsolodoOsztalyCsoportokByTanarId(FelhasznaloId, TanevId, osztalyKell, csoportKell, tartottOraKell, feladatKategoria, osztalyGroupName, csoportGroupName); } public void MentesNaplozarasParameterRendszerbeallitasba(int osztalyId) { var systemSettingsHelper = new SystemSettingsHelper(ConnectionType); var lezartNaplokSettings = systemSettingsHelper.GetSystemSettingValue>(RendszerBeallitasTipusEnum.lezart_osztalynaplok); if (!lezartNaplokSettings.Contains(osztalyId.ToString())) { lezartNaplokSettings.Add(osztalyId.ToString()); systemSettingsHelper.SetSystemSettings(new Dictionary { { RendszerBeallitasTipusEnum.lezart_osztalynaplok, new JArray(lezartNaplokSettings) } }, null); } } public bool IsTanuloFelnottkepzesJogviszonyByTanulocsoportId(int tanulocsoportId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.NyomtatvanyokDal(); var ds = dal.GetJogviszonyTipusTanterviJellegByTanulocsoportIdList(new List() { tanulocsoportId }); var isNemFelnottkepzesesBesorolasExist = ds.Tables[0].AsEnumerable().Any(x => SDAConvert.ToInt32(x["JogviszonyTipusId"]) != (int)JogviszonyTipusEnum.felnottkepzesi_jogviszony); return !isNemFelnottkepzesesBesorolasExist; }); } public bool IsAllTanuloFelnottkepzesJogviszonyByTanulocsoportIdList(List tanulocsoportIdList) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.NyomtatvanyokDal(); var ds = dal.GetJogviszonyTipusTanterviJellegByTanulocsoportIdList(tanulocsoportIdList); var isNemFelnottkepzesesTanuloExist = ds.Tables[0].AsEnumerable().Any(x => SDAConvert.ToInt32(x["JogviszonyTipusId"]) != (int)JogviszonyTipusEnum.felnottkepzesi_jogviszony); return !isNemFelnottkepzesesTanuloExist; }); } public int? GetNumberOfTanuloNemFelnottkepzesJogviszonyByOsztalyIdList(List osztalyIdList) { return Dal.CustomConnection.Run(ConnectionType, h => { var elsoTanitasiNap = GetElsoTanitasiNap(h); var nyomtatvanyokDal = h.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetJogviszonyTipusTanterviJellegByOsztalyIdList(osztalyIdList, TanevId, elsoTanitasiNap); return ds.Tables[0].AsEnumerable().Where(x => SDAConvert.ToInt32(x["JogviszonyTipusId"]) != (int)JogviszonyTipusEnum.felnottkepzesi_jogviszony)?.ToList().Count(); }); } public List<(int jogviszonyId, int tanterviJellegId)> GetJogviszonyTipusTanterviJellegByTanulocsoportIdList(List tanulocsoportIdList) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.NyomtatvanyokDal(); var ds = dal.GetJogviszonyTipusTanterviJellegByTanulocsoportIdList(tanulocsoportIdList); return ds.Tables[0].AsEnumerable().Select(x => (SDAConvert.ToInt32(x["JogviszonyTipusId"]), SDAConvert.ToInt32(x["TanterviJellegId"]))).ToList(); }); } public List<(int jogviszonyId, int tanterviJellegId)> GetJogviszonyTipusTanterviJellegByOsztalyIdList(List osztalyIdList) { return Dal.CustomConnection.Run(ConnectionType, h => { var elsoTanitasiNap = GetElsoTanitasiNap(h); var dal = h.NyomtatvanyokDal(); var ds = dal.GetJogviszonyTipusTanterviJellegByOsztalyIdList(osztalyIdList, TanevId, elsoTanitasiNap); return ds.Tables[0].AsEnumerable().Select(x => (SDAConvert.ToInt32(x["JogviszonyTipusId"]), SDAConvert.ToInt32(x["TanterviJellegId"]))).ToList(); }); } public List GetTanuloIdListByTanulocsoportIdList(List tanulocsoportIdList) { return Dal.CustomConnection.Run(ConnectionType, h => { var nyomtatvanyokDal = h.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetBesorolasDetailsByTanulocsoportIdList(tanulocsoportIdList); var list = ds.Tables[0].AsEnumerable().Select(x => (int)x["TanuloId"]).ToList(); return list; }); } public List GetOsztalyIdListByTanulocsoportIdList(List tanulocsoportIdList) { return Dal.CustomConnection.Run(ConnectionType, h => { var nyomtatvanyokDal = h.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetBesorolasDetailsByTanulocsoportIdList(tanulocsoportIdList); var list = ds.Tables[0].AsEnumerable().Select(x => (int)x["OsztalyId"]).Distinct().ToList(); return list; }); } public List GetTanulocsoportIdByOsztalyIdList(List osztalyIdList) { return Dal.CustomConnection.Run(ConnectionType, h => { var nyomtatvanyokDal = h.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetTanulocsoportIdListByOsztalyIdList(osztalyIdList); var list = ds.Tables[0].AsEnumerable().Select(x => (int)x["TanulocsoportId"]).Distinct().ToList(); return list; }); } public DataSet GetPedagogusIgazolas(int alkalmazottId, bool isIntezmenyNevMegjelenik, bool isFelhelyCimMegjelenik) { return Dal.CustomConnection.Run(ConnectionType, h => { var nyomtatvanyokDal = h.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetPedagogusIgazolas(TanevId, alkalmazottId); ds.Tables[0].Columns.Add("IntezmenyiAdatok", typeof(string)); if (ds.Tables[0].Rows.Count > 0) { var dataRow = ds.Tables[0].Rows[0]; var sb = new StringBuilder(); if (isIntezmenyNevMegjelenik) { sb.Append($"{NyomtatvanyokResource.IntezmenyNeve} {dataRow.Field("IntezmenyNev")}"); } if (isFelhelyCimMegjelenik) { if (sb.Length != 0) { sb.AppendLine().AppendLine(); } sb.Append($"{NyomtatvanyokResource.FeladatellatasiHelyCime} {dataRow.Field("FeladatellatasiHelyCime")}"); } dataRow.SetField("IntezmenyiAdatok", sb.ToString()); } return ds; }); } public DataSet GetEbedNormativaRiport(int orasorszam, bool isAmiHianyzasIsMegjelenjen) { return Dal.CustomConnection.Run(ConnectionType, h => { var tanevInfo = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanevInfo(); var intezmenyInfo = new IntezmenyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetIntezmenyiAdatok(); var nyomtatvanyokDal = h.NyomtatvanyokDal(); var ds = nyomtatvanyokDal.GetEbedNormativaRiport(TanevId, orasorszam, tanevInfo.ElsoTanitasiNap, tanevInfo.UtolsoTanitasiNap, isAmiHianyzasIsMegjelenjen); ds.Tables[0].Columns.Add("IntezmenyNev"); foreach (var x in ds.Tables[0].AsEnumerable()) { x["IntezmenyNev"] = intezmenyInfo.Nev; } ds.Tables[0].Columns["IntezmenyNev"].SetOrdinal(0); ds.Tables[0].Columns["TanuloNev"].SetOrdinal(1); ds.Tables[0].Columns["OktatasiAzonosito"].SetOrdinal(2); ds.Tables[0].Columns["OsztalyNev"].SetOrdinal(3); ds.Tables[0].Columns["NapDatuma"].SetOrdinal(4); ds.Tables[0].Columns["Hianyzott"].SetOrdinal(5); ds.Tables[0].Columns["IntezmenyNev"].ColumnName = NyomtatvanyokResource.Intezmeny; ds.Tables[0].Columns["TanuloNev"].ColumnName = TanuloResource.TanuloNeve; ds.Tables[0].Columns["OktatasiAzonosito"].ColumnName = TanuloResource.OktatasiAzonosito; ds.Tables[0].Columns["OsztalyNev"].ColumnName = TanuloResource.Osztaly; ds.Tables[0].Columns["NapDatuma"].ColumnName = OrarendResource.Datum; ds.Tables[0].Columns["Hianyzott"].ColumnName = NyomtatvanyokResource.Hianyzas; return ds; }); } public string HtmlConvertToBase64Image(string htmlContent) { var imgConverter = new HtmlToImage(); imgConverter.WebPageWidth = 980; imgConverter.WebPageHeight = 140; var image = imgConverter.ConvertHtmlString(htmlContent); byte[] bytes = (byte[])(new ImageConverter()).ConvertTo(image, typeof(byte[])); return $"data:image/jpeg;base64,{Convert.ToBase64String(bytes)}"; } } }