kreta/Kreta.BusinessLogic/Helpers/NyomtatvanyokHelper.cs
2024-03-13 00:33:46 +01:00

4383 lines
259 KiB
C#

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<int> GetOsztalyByTanevList(int? felhasznaloId, OktNevelesiKategoriaEnum? kategoria)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
return GetOsztalyByTanevList(h, felhasznaloId, kategoria);
});
}
private List<int> GetOsztalyByTanevList(IDalHandler h, int? felhasznaloId, OktNevelesiKategoriaEnum? kategoria)
{
INyomtatvanyokDal nyomtatvanyokDal = h.NyomtatvanyokDal();
var result = new List<string>();
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<int> GetCsoportByTanevList(IDalHandler h, int? felhasznaloId, OktNevelesiKategoriaEnum? kategoria)
{
INyomtatvanyokDal nyomtatvanyokDal = h.NyomtatvanyokDal();
var result = new List<string>();
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<int> GetCsoportByTanevList(int? felhasznaloId, OktNevelesiKategoriaEnum? kategoria)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
return GetCsoportByTanevList(h, felhasznaloId, kategoria);
});
}
public List<int> 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<int> GetPedagogusByTanevList(int? felhasznaloId, OktNevelesiKategoriaEnum? oktNevKategoria)
{
return Dal.CustomConnection.Run(ConnectionType, handler =>
{
INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal();
var result = new List<string>();
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<int> GetTeremByTanevList()
{
return Dal.CustomConnection.Run(ConnectionType, handler =>
{
INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal();
var result = new List<string>();
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<int> GetTanulokByOsztalyList(int osztalyId)
{
return Dal.CustomConnection.Run(ConnectionType, handler =>
{
INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal();
var result = new List<string>();
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<int> GetoFoglalkozasByTanevList(int? felhasznaloId)
{
return Dal.CustomConnection.Run(ConnectionType, handler =>
{
INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal();
var lista = new List<string>();
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<int, string> GetPedagogusByTanevDictionary(IDalHandler handler, int? felhasznaloId)
{
INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal();
var dictionary = new Dictionary<int, string>();
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<int> GetLezartNaplosOsztalyokList()
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
INyomtatvanyokDal nyomtatvanyokDal = h.NyomtatvanyokDal();
var lista = new List<string>();
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<List<string>>(RendszerBeallitasTipusEnum.lezart_osztalynaplok);
lista.AddRange(lezartOsztalyokSettings);
return lista.Select(int.Parse).ToList();
});
}
public List<int> GetKeresztfelevesOsztalyIdList()
{
return Dal.CustomConnection.Run(ConnectionType, handler =>
{
INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal();
var lista = new List<string>();
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<int>() { 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<int> 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<string>(((!byHetNapjaTipusSzoveg) ? ((int)HetNapjaTipusEnum.Szombat).ToString() : HetNapjaTipusEnum.Szombat.ToString()))));
bool isVasarnapiOra = orarendTable.AsEnumerable().Any(r => !string.IsNullOrWhiteSpace(r.Field<string>(((!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<int>() { 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<DataTable>().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<int>() { 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<int>() { -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"] = $"<b>{row["TARGY"]}</b>";
}
else
{
row["TargyWithOraszam"] = $"<b>{row["TARGY"]}{Environment.NewLine}{row["Oraszam"]} {GetNyelvesitettOraszam(nyomtatvanyNyelvEnumId)}</b>";
}
}
}
else
{
foreach (DataRow row in ds.Tables["Ertekeles"].Rows)
{
row["TargyWithOraszam"] = $"<b>{row["TARGY"]}:</b>";
}
}
}
else
{
if (isEvesOraszamMegjelenjen)
{
foreach (DataRow row in ds.Tables["Ertekeles"].Rows)
{
if (string.IsNullOrWhiteSpace(row["Oraszam"].ToString()))
{
row["TargyWithOraszamAndErtekeles"] = $"<b>{row["TARGY"]}:</b> {row["ErtekelesJegyzettel"]}";
}
else
{
row["TargyWithOraszamAndErtekeles"] = $"<b>{row["TARGY"]} ({row["Oraszam"]} {GetNyelvesitettOraszam(nyomtatvanyNyelvEnumId)}):</b> {row["ErtekelesJegyzettel"]}";
}
}
}
else
{
foreach (DataRow row in ds.Tables["Ertekeles"].Rows)
{
row["TargyWithOraszamAndErtekeles"] = $"<b>{row["TARGY"]}:</b> {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<int>() { -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<DataColumn>()
.Select(c => c.ColumnName)
.ToArray();
// prep results table
DataTable result = temp.DefaultView.ToTable(true, pkColumnNames).Copy();
result.PrimaryKey = result.Columns.Cast<DataColumn>().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;
}
/// <summary>
///
/// </summary>
/// <param name="osztalyId"></param>
/// <returns></returns>
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;
});
}
/// <summary>
///
/// </summary>
/// <param name="osztalyId"></param>
/// <returns></returns>
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;
});
}
/// <summary>
///
/// </summary>
/// <param name="osztalyId"></param>
/// <returns></returns>
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;
});
}
/// <summary>
///
/// </summary>
/// <param name="osztalyId"></param>
/// <returns></returns>
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<string>("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<string>("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<int>() { -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<string>(RegiOkjAgazat)))
{
szakmaJegyzekAndOkjSb.Append(" ");
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(RegiOkjAgazat));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(UjAgazat)))
{
if (szakmaJegyzekAndOkjSb.Length == NyomtatvanyokResource.JegyzekFelirat.Length)
{
szakmaJegyzekAndOkjSb.Append(" ");
}
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(UjAgazat));
}
// NOTE: Innentől mindent új sorba, ha nem szerepelt ágazat.
if (szakmaJegyzekAndOkjSb.Length == NyomtatvanyokResource.JegyzekFelirat.Length)
{
szakmaJegyzekAndOkjSb.AppendLine();
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(RegiOkjSzakmaCsoport)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(RegiOkjSzakmaCsoport));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(RegiOkjSzakkepesites)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(RegiOkjSzakkepesites));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(RegiOkjReszszakkepesites)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(RegiOkjReszszakkepesites));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(UjSzakma)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(UjSzakma));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(UjSzakmaIrany)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(UjSzakmaIrany));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(NktSzakkepesitesTipus)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(NktSzakkepesitesTipus));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(NktSzakiranyTipus)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(NktSzakiranyTipus));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(NktTanulmanyiTerulet)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(NktTanulmanyiTerulet));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(AgazatReszszakmaTipus)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(AgazatReszszakmaTipus));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(ReszszakmaTipus)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(ReszszakmaTipus));
}
if (!string.IsNullOrWhiteSpace(row.Field<string>(SzakmaReszszakma)))
{
szakmaJegyzekAndOkjSb.AppendLine(row.Field<string>(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<string>(RegiOkjAgazat)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field<string>(RegiOkjAgazat))))
{
szakmaJegyzekAndOkjSb.Append(" ");
szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field<string>(RegiOkjAgazat)) ? osztalyDetails.Field<string>(RegiOkjAgazat) : row.Field<string>(RegiOkjAgazat));
}
if ((!isUjTorzslap || isUjSzktAgazat) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field<string>(UjAgazat)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field<string>(UjAgazat))))
{
if (szakmaJegyzekAndOkjSb.Length == NyomtatvanyokResource.JegyzekFelirat.Length)
{
szakmaJegyzekAndOkjSb.Append(" ");
}
szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field<string>(UjAgazat)) ? osztalyDetails.Field<string>(UjAgazat) : row.Field<string>(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<string>(RegiOkjSzakmaCsoport))
|| !string.IsNullOrWhiteSpace(osztalyDetails.Field<string>(RegiOkjSzakmaCsoport))))
{
szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field<string>(RegiOkjSzakmaCsoport)) ? osztalyDetails.Field<string>(RegiOkjSzakmaCsoport) : row.Field<string>(RegiOkjSzakmaCsoport));
}
if ((!isUjTorzslap || isOkjSzakkepesites) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field<string>(RegiOkjSzakkepesites)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field<string>(RegiOkjSzakkepesites))))
{
szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field<string>(RegiOkjSzakkepesites)) ? osztalyDetails.Field<string>(RegiOkjSzakkepesites) : row.Field<string>(RegiOkjSzakkepesites));
}
if ((!isUjTorzslap || isOkjReszszakkepesites) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field<string>(RegiOkjReszszakkepesites)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field<string>(RegiOkjReszszakkepesites))))
{
szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field<string>(RegiOkjReszszakkepesites)) ? osztalyDetails.Field<string>(RegiOkjReszszakkepesites) : row.Field<string>(RegiOkjReszszakkepesites));
}
if ((!isUjTorzslap || isUjSzktSzakma) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field<string>(UjSzakma)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field<string>(UjSzakma))))
{
szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field<string>(UjSzakma)) ? osztalyDetails.Field<string>(UjSzakma) : row.Field<string>(UjSzakma));
}
if ((!isUjTorzslap || isUjSzktSzakmairany) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field<string>(UjSzakmaIrany)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field<string>(UjSzakmaIrany))))
{
szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field<string>(UjSzakmaIrany)) ? osztalyDetails.Field<string>(UjSzakmaIrany) : row.Field<string>(UjSzakmaIrany));
}
if ((!isUjTorzslap || isNktSzakkepesites) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field<string>(NktSzakkepesitesTipus)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field<string>(NktSzakkepesitesTipus))))
{
szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field<string>(NktSzakkepesitesTipus)) ? osztalyDetails.Field<string>(NktSzakkepesitesTipus) : row.Field<string>(NktSzakkepesitesTipus));
}
if ((!isUjTorzslap || isNktSzakirany) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field<string>(NktSzakiranyTipus)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field<string>(NktSzakiranyTipus))))
{
szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field<string>(NktSzakiranyTipus)) ? osztalyDetails.Field<string>(NktSzakiranyTipus) : row.Field<string>(NktSzakiranyTipus));
}
if ((!isUjTorzslap || isNktTanulmanyiTerulet) && (isUjTorzslap && !string.IsNullOrWhiteSpace(row.Field<string>(NktTanulmanyiTerulet)) || !string.IsNullOrWhiteSpace(osztalyDetails.Field<string>(NktTanulmanyiTerulet))))
{
szakmaJegyzekAndOkjSb.AppendLine(string.IsNullOrWhiteSpace(row.Field<string>(NktTanulmanyiTerulet)) ? osztalyDetails.Field<string>(NktTanulmanyiTerulet) : row.Field<string>(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<string>(TartozkodasiJogCim)) && !string.IsNullOrWhiteSpace(row.Field<string>(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<DataTable>().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<DataTable>().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<int> osztalyCsoportIdList)
{
var gridDataSet = new DataSet();
List<DictionaryItem> 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<TanuloOsztalyCo> tanuloOsztalyCoList = new List<TanuloOsztalyCo>();
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<TanuloTantargyiAtlagBukasraAlloCo>();
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<double>(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<string, DataTable>();
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<int>()
};
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<IntezmenyiMulasztasiOsszesitoDao>();
List<SimpleExportColumnCo> simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<IntezmenyiMulasztasiOsszesitoDao>(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<string, string> mapColumn = new Dictionary<string, string> {
{"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<int>() { 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<int, string> kotelezoOraszamok)
{
var dataSet = new DataSet();
var pSzakszeruHelySzorzo = szakszeruHelySzorzo = SystemSettingsManager.GetSystemSettingValue<double>(RendszerBeallitasTipusEnum.Szakszeru_helyettesites_Szazalekos_Ertek_Osszegbe, IntezmenyAzonosito, TanevId) / 100;
var pNemSzakszeruHelySzorzo = nemSzakszeruHelySzorzo = SystemSettingsManager.GetSystemSettingValue<double>(RendszerBeallitasTipusEnum.Nem_Szakszeru_Helyettesites_Szazalekos_Ertek_Osszegbe, IntezmenyAzonosito, TanevId) / 100;
var pOsszevonasSzorzo = osszevonasSzorzo = SystemSettingsManager.GetSystemSettingValue<double>(RendszerBeallitasTipusEnum.Oraosszevonas_Szazalekos_Ertek_Osszegbe, IntezmenyAzonosito, TanevId) / 100;
var pOsszevontFelSzorzo = osszevontFelSzorzo = SystemSettingsManager.GetSystemSettingValue<double>(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<string>("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<int> indices = new List<int>();
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<string>("EvHonap"))).CopyToDataTable();
}
else
{
orderedTable = table.AsEnumerable().OrderBy(r => DateTime.ParseExact(r.Field<string>("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<DataSet> GetNebuloErtesitoZip(int statusz)
{
return Dal.CustomConnection.Run(ConnectionType, handler =>
{
INyomtatvanyokDal nyomtatvanyokDal = handler.NyomtatvanyokDal();
DataSet dataSet = nyomtatvanyokDal.GetNebuloErtesitoStatusz(IntezmenyId, TanevId, statusz);
var nebuloIdList = new List<int>();
DataTable dataTable = dataSet.Tables[0];
foreach (DataRow dataRow in dataTable.Rows)
{
nebuloIdList.Add(SDAConvert.ToInt32(dataRow["NebuloId"].ToString()));
}
var result = new List<DataSet>();
foreach (int nebulo in nebuloIdList)
{
DataSet nebuloErtesitoDataSet = nyomtatvanyokDal.GetNebuloErtesito(IntezmenyId, TanevId, nebulo);
DataTable nebuloErtesitoDataTable = nebuloErtesitoDataSet.Tables[0];
nebuloErtesitoDataTable.Columns.Add("EtikaHitErkolcsTanText");
List<DataRow> rows = nebuloErtesitoDataTable.Rows.Cast<DataRow>().ToList();
foreach (DataRow row in rows)
{
try
{
row["EtikaHitErkolcsTanText"] = int.Parse(row["EtikaHitErkolcsTan"].ToString()).GetDisplayName<EtikaHitErkolcstanEnum>(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<DataRow> rows = dataTable.Rows.Cast<DataRow>().ToList();
foreach (DataRow row in rows)
{
try
{
row["EtikaHitErkolcsTanText"] = int.Parse(row["EtikaHitErkolcsTan"].ToString()).GetDisplayName<EtikaHitErkolcstanEnum>(TanevId);
}
catch
{
row["EtikaHitErkolcsTanText"] = string.Empty;
}
}
return dataSet;
}
public DataSet GetNyomtatvanyStoredProcedureDataSet(string storedProcedure, Dictionary<String, String> 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<MemoryStream> 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<DataRow> kirStatEvfolyamList =
kirStatEvfolyamDataSet != null &&
kirStatEvfolyamDataSet.Tables.Count > 0 &&
kirStatEvfolyamDataSet.Tables[0].Rows.Count > 0 ? kirStatEvfolyamDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
List<DataRow> kirStatTanuloLakohelyList =
kirStatTanuloLakohelyDataSet != null &&
kirStatTanuloLakohelyDataSet.Tables.Count > 0 &&
kirStatTanuloLakohelyDataSet.Tables[0].Rows.Count > 0 ? kirStatTanuloLakohelyDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
List<DataRow> kirStatTanuloEletkorList =
kirStatTanuloEletkorDataSet != null &&
kirStatTanuloEletkorDataSet.Tables.Count > 0 &&
kirStatTanuloEletkorDataSet.Tables[0].Rows.Count > 0 ? kirStatTanuloEletkorDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
var tanevHelper = new TanevHelper(new DalHandlerConnectionType(ConnectionType, handler));
var aktivTanev = tanevHelper.GetTanevInfo();
var elozoTanev = tanevHelper.GetElozoTanev();
List<MemoryStream> memoryStreamList = new List<MemoryStream>();
#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<string> 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<string> { "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<string>(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<int>(columnNameEletkor) < 3 &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j > 6 && j < 34)
{
//3 - 29 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) == j - 4 &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 34)
{
//30-34 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 29 &&
x.Field<int>(columnNameEletkor) < 35 &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 35)
{
//35-39 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 34 &&
x.Field<int>(columnNameEletkor) < 40 &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 36)
{
//39 évesnél idősebb
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 39 &&
x.Field<string>(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<string> { "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<string>(columnNameEvfolyamNev).Trim() ?? string.Empty;
osztlopNevPrefix = oszlopNevList[i];
currentExcelWorksheet.Cells[osztlopNevPrefix + 04].Value = evfolyamNev;
currentExcelWorksheet.Cells[osztlopNevPrefix + 07].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Budapest &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 08].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Baranya &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 09].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.BacsKiskun &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 10].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Bekes &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 11].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.BorsodAbaujZemplen &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 12].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Csongrad &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 13].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Fejer &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 14].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.GyorMosonSopron &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 15].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.HajduBihar &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 16].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Heves &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 17].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.JaszNagykunSzolnok &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 18].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.KomaromEsztergom &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 19].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Nograd &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 20].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Pest &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 21].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Somogy &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 22].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.SzabolcsSzatmarBereg &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 23].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Tolna &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 24].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Vas &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 25].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Veszprem &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 26].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Zala &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 28].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<int?>(columnNameMagyarTartozkodasiHely) != null &&
x.Field<int?>(columnNameMagyarTartozkodasiHely).ToBool() == true &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
currentExcelWorksheet.Cells[osztlopNevPrefix + 29].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<int?>(columnNameMagyarTartozkodasiHely) != null &&
x.Field<int?>(columnNameMagyarTartozkodasiHely).ToBool() == false &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
osztlopNevPrefix = "BM";
currentExcelWorksheet.Cells[osztlopNevPrefix + 07].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Budapest &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 08].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Baranya &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 09].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.BacsKiskun &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 10].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Bekes &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 11].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.BorsodAbaujZemplen &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 12].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Csongrad &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 13].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Fejer &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 14].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.GyorMosonSopron &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 15].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.HajduBihar &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 16].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Heves &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 17].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.JaszNagykunSzolnok &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 18].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.KomaromEsztergom &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 19].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Nograd &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 20].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Pest &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 21].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Somogy &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 22].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.SzabolcsSzatmarBereg &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 23].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Tolna &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 24].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Vas &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 25].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Veszprem &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 26].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<string>(columnNameMegye) == Constants.Megye.Zala &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 28].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<int?>(columnNameMagyarTartozkodasiHely) != null &&
x.Field<int?>(columnNameMagyarTartozkodasiHely).ToBool() == true &&
x.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool() == true);
currentExcelWorksheet.Cells[osztlopNevPrefix + 29].Value = kirStatTanuloLakohelyList.Count(x =>
x.Field<int?>(columnNameMagyarTartozkodasiHely) != null &&
x.Field<int?>(columnNameMagyarTartozkodasiHely).ToBool() == false &&
x.Field<int?>(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<string> { "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<string>(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<int>(columnNameEletkor) < 3 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j > 6 && j < 34)
{
//3 - 29 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) == j - 4 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 34)
{
//30-34 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 29 &&
x.Field<int>(columnNameEletkor) < 35 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 35)
{
//35-39 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 34 &&
x.Field<int>(columnNameEletkor) < 40 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 36)
{
//39 évesnél idősebb
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 39 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(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<string> { "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<string>(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<int>(columnNameEletkor) == j + 13 &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 37)
{
//50 - 54 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 49 &&
x.Field<int>(columnNameEletkor) < 55 &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 38)
{
//55 - 59 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 54 &&
x.Field<int>(columnNameEletkor) < 60 &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 39)
{
//60 - 64 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 59 &&
x.Field<int>(columnNameEletkor) < 65 &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 40)
{
//65 évesnél idősebb
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 64 &&
x.Field<string>(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<string> { "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<string>(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<int>(columnNameEletkor) == j + 24 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 26)
{
//50 - 54 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 49 &&
x.Field<int>(columnNameEletkor) < 55 &&
x.Field<string>(columnNameNeme) == columnValueLeany
&& x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 27)
{
//55 - 59 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 54 &&
x.Field<int>(columnNameEletkor) < 60 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 28)
{
//60 - 64 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 59 &&
x.Field<int>(columnNameEletkor) < 65 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 29)
{
//65 évesnél idősebb
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 64 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(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<string> { "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<string>(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<int>(columnNameEletkor) < 3 &&
x.Field<string>(columnNameSni).ToBool() == true &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j > 6 && j < 34)
{
//3 - 29 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) == j - 4 &&
x.Field<string>(columnNameSni).ToBool() == true &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 34)
{
//30 - 34 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 29 &&
x.Field<int>(columnNameEletkor) < 35 &&
x.Field<string>(columnNameSni).ToBool() == true &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 35)
{
//35 - 39 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 34 &&
x.Field<int>(columnNameEletkor) < 40 &&
x.Field<string>(columnNameSni).ToBool() == true &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 36)
{
//40 évesnél idősebb
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 39 &&
x.Field<string>(columnNameSni).ToBool() == true &&
x.Field<string>(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<string> { "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<string>(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<int>(columnNameEletkor) < 3 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameSni).ToBool() == true &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j > 6 && j < 34)
{
//3 - 29 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) == j - 4 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameSni).ToBool() == true &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 34)
{
//30 - 34 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 29 &&
x.Field<int>(columnNameEletkor) < 35 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameSni).ToBool() == true &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 35)
{
//35 - 39 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 34 &&
x.Field<int>(columnNameEletkor) < 40 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameSni).ToBool() == true &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 36)
{
//40 évesnél idősebb
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 39 &&
x.Field<string>(columnNameNeme) == columnValueLeany &&
x.Field<string>(columnNameSni).ToBool() == true &&
x.Field<string>(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<string>(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<int?>(columnNameKettosMagyarAllampolgar) != null ? item.Field<int?>(columnNameKettosMagyarAllampolgar).ToBool().GetDisplayName() : string.Empty;
item[columnNameMagyarTartozkodasiHelyText] = item.Field<int?>(columnNameMagyarTartozkodasiHely) != null ? item.Field<int?>(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<MemoryStream> 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<DataRow> kirStatEvfolyamList =
kirStatEvfolyamDataSet != null &&
kirStatEvfolyamDataSet.Tables.Count > 0 &&
kirStatEvfolyamDataSet.Tables[0].Rows.Count > 0 ? kirStatEvfolyamDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
List<DataRow> kirStatFelhasznaloKettosMagyarAllampolgarList =
kirStatFelhasznaloKettosMagyarAllampolgarDataSet != null &&
kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables.Count > 0 &&
kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
List<DataRow> kirStatFelhasznaloGyogytestnevelesList =
kirStatFelhasznaloGyogytestnevelesDataSet != null &&
kirStatFelhasznaloGyogytestnevelesDataSet.Tables.Count > 0 &&
kirStatFelhasznaloGyogytestnevelesDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloGyogytestnevelesDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
List<DataRow> kirStatFelhasznaloTeremList =
kirStatFelhasznaloTeremDataSet != null &&
kirStatFelhasznaloTeremDataSet.Tables.Count > 0 &&
kirStatFelhasznaloTeremDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloTeremDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
List<DataRow> kirStatFelhasznaloKonduktivList =
kirStatFelhasznaloKonduktivDataSet != null &&
kirStatFelhasznaloKonduktivDataSet.Tables.Count > 0 &&
kirStatFelhasznaloKonduktivDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloKonduktivDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
List<DataRow> kirStatFelhasznaloNoksList =
kirStatFelhasznaloNoksDataSet != null &&
kirStatFelhasznaloNoksDataSet.Tables.Count > 0 &&
kirStatFelhasznaloNoksDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloNoksDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
List<DataRow> kirStatFelhasznaloPedagogusList =
kirStatFelhasznaloPedagogusDataSet != null &&
kirStatFelhasznaloPedagogusDataSet.Tables.Count > 0 &&
kirStatFelhasznaloPedagogusDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloPedagogusDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
List<DataRow> kirStatFelhasznaloTanoranKivuliCsoportList =
kirStatFelhasznaloTanoranKivuliCsoportDataSet != null &&
kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables.Count > 0 &&
kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables[0].Rows.Count > 0 ? kirStatFelhasznaloTanoranKivuliCsoportDataSet.Tables[0].Rows.Cast<DataRow>().ToList() : new List<DataRow>();
var tanevHelper = new TanevHelper(new DalHandlerConnectionType(ConnectionType, handler));
var aktivTanev = tanevHelper.GetTanevInfo();
var elozoTanev = tanevHelper.GetElozoTanev();
List<MemoryStream> streams = new List<MemoryStream>();
#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<string> oszlopNevList;
List<string> cimSzerintiOrszagList;
List<string> 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<string> { "B", "J", "M", "P" };
cimSzerintiOrszagList = kirStatFelhasznaloKettosMagyarAllampolgarList.Select(x => x.Field<string>(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<string>(columnNameCimSzerintiOrszag) == cimSzerintiOrszagNev);
//kulfoldi allampolgar
currentExcelWorksheet.Cells[oszlopNevList[2] + ((i * 2) + 9).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x =>
x.Field<string>(columnNameCimSzerintiOrszag) == cimSzerintiOrszagNev &&
x.Field<string>(columnNameAllampolgarsag) != magyar &&
x.Field<string>(columnNameAllampolgarsag2) != magyar &&
x.Field<string>(columnNameAllampolgarsag) != "Na" &&
x.Field<string>(columnNameAllampolgarsag2) != "Na");
//Dupla allampolgar
currentExcelWorksheet.Cells[oszlopNevList[3] + ((i * 2) + 9).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x =>
x.Field<string>(columnNameCimSzerintiOrszag) == cimSzerintiOrszagNev &&
(
//Mindenkepp van masodik allampolgarsag es nem Magyar es nem Na
(x.Field<string>(columnNameAllampolgarsag) == magyar &&
!string.IsNullOrWhiteSpace(x.Field<string>(columnNameAllampolgarsag2)) &&
x.Field<string>(columnNameAllampolgarsag2) != "Na" &&
x.Field<string>(columnNameAllampolgarsag2) != magyar) ||
//vagy ha Magyar a masodik allampolgarsak akkor az elso nem Na es nem Magyar
(x.Field<string>(columnNameAllampolgarsag2) == magyar &&
x.Field<string>(columnNameAllampolgarsag) != "Na" &&
x.Field<string>(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<string>(columnNameTestnevelesTipusa) == CommonResource.KonnyitettTestneveles);
currentExcelWorksheet.Cells["AC6"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x =>
x.Field<string>(columnNameTestnevelesTipusa) == CommonResource.KonnyitettTestneveles &&
x.Field<string>(columnNameNeme) == leanyMegnevezes);
currentExcelWorksheet.Cells["X7"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x =>
x.Field<string>(columnNameTestnevelesTipusa) == CommonResource.Gyogytestneveles);
currentExcelWorksheet.Cells["AC7"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x =>
x.Field<string>(columnNameTestnevelesTipusa) == CommonResource.Gyogytestneveles &&
x.Field<string>(columnNameNeme) == leanyMegnevezes);
currentExcelWorksheet.Cells["X8"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x =>
x.Field<string>(columnNameTestnevelesTipusa) == CommonResource.Felmentett);
currentExcelWorksheet.Cells["AC8"].Value = kirStatFelhasznaloGyogytestnevelesList.Count(x =>
x.Field<string>(columnNameTestnevelesTipusa) == CommonResource.Felmentett &&
x.Field<string>(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<string>(columnNameTeremTipus) == CommonResource.OsztalyteremCsoportszoba);
currentExcelWorksheet.Cells["V7"].Value = kirStatFelhasznaloTeremList.Where(x =>
x.Field<string>(columnNameTeremTipus) == CommonResource.OsztalyteremCsoportszoba).Sum(y => y.Field<int>(columnNameKapacitas));
currentExcelWorksheet.Cells["Q8"].Value = kirStatFelhasznaloTeremList.Count(x =>
x.Field<string>(columnNameTeremTipus) == CommonResource.Szakterem);
currentExcelWorksheet.Cells["V8"].Value = kirStatFelhasznaloTeremList.Where(x =>
x.Field<string>(columnNameTeremTipus) == CommonResource.Szakterem).Sum(y => y.Field<int>(columnNameKapacitas));
currentExcelWorksheet.Cells["Q9"].Value = kirStatFelhasznaloTeremList.Count(x =>
x.Field<string>(columnNameTeremTipus) == CommonResource.Tornaterem);
currentExcelWorksheet.Cells["Q10"].Value = kirStatFelhasznaloTeremList.Count(x =>
x.Field<string>(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<string> { "J", "M", "P", "S", "V", "Y", "AB", "AE", "AH", "AK", "AN", "AQ", "AT" };
allampolgarsagList = kirStatFelhasznaloKettosMagyarAllampolgarList.Where(x =>
(x.Field<string>(columnNameAllampolgarsag) == magyar || x.Field<string>(columnNameAllampolgarsag2) == magyar) == false).ToList()
.Select(x => x.Field<string>(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<string>(columnNameEvfolyamNev).Trim() ?? string.Empty;
currentExcelWorksheet.Cells[oszlopNevList[j] + "18"].Value = evfolyamNev;
currentExcelWorksheet.Cells[oszlopNevList[j] + (i + 22).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x =>
x.Field<string>(columnNameAllampolgarsag) == currentAllampolgarsag &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
//Leány oszlop kitoltese
currentExcelWorksheet.Cells["AZ" + (i + 22).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x =>
x.Field<string>(columnNameAllampolgarsag) == currentAllampolgarsag &&
x.Field<string>(columnNameNeme) == leanyMegnevezes);
//Menedékjogot kérő, menekült, menedékes oszlop kitoltese
currentExcelWorksheet.Cells["BF" + (i + 22).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x =>
x.Field<string>(columnNameAllampolgarsag) == currentAllampolgarsag &&
x.Field<string>(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<string>(columnNameBesorolas) == csoportTipus);
currentExcelWorksheet.Cells["AE" + (39 + i).ToString()].Value = kirStatFelhasznaloTanoranKivuliCsoportList.Where(x =>
x.Field<string>(columnNameBesorolas) == csoportTipus &&
x.Field<int?>(columnNameTanulokSzama) != null).ToList().Sum(y => y.Field<int>(columnNameTanulokSzama));
currentExcelWorksheet.Cells["AL" + (39 + i).ToString()].Value = kirStatFelhasznaloTanoranKivuliCsoportList.Where(x =>
x.Field<string>(columnNameBesorolas) == csoportTipus &&
x.Field<decimal?>(columnNamePedagogusOraszam) != null).ToList().Sum(y => y.Field<decimal>(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<string> { "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<DataRow> currentListyByColumnLogic = new List<DataRow>();
//Teljes munkaidős összesen
if (i == 0)
{
currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x =>
x.Field<string>(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(false)).ToList();
}
//Teljes munkaidős nők
if (i == 1)
{
currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x =>
x.Field<string>(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(false) &&
x.Field<string>(columnNameNeme) == noMegnevezes).ToList();
}
//Részmunkaidős összesen
if (i == 2)
{
currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x =>
x.Field<string>(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(true)).ToList();
}
//Részmunkaidős nők
if (i == 3)
{
currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x =>
x.Field<string>(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(true) &&
x.Field<string>(columnNameNeme) == noMegnevezes).ToList();
}
//Megbízási jogviszony összesen
if (i == 4)
{
currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x =>
x.Field<string>(columnNameMegbizasos) == SDAConvert.ToSDABoolean(true)).ToList();
}
//Megbízási jogviszony nők
if (i == 5)
{
currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x =>
x.Field<string>(columnNameMegbizasos) == SDAConvert.ToSDABoolean(true) &&
x.Field<string>(columnNameNeme) == noMegnevezes).ToList();
}
if (isKlebelsberg)
{
//Pedagógus szakképzettséggel rendelkező teljes munkaidős összesen
if (i == 6)
{
currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x =>
x.Field<string>(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) &&
x.Field<string>(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<string>(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) &&
x.Field<string>(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(false) &&
x.Field<string>(columnNameNeme) == noMegnevezes).ToList();
}
//Pedagógus szakképzettséggel rendelkező részmunkaidős összesen
if (i == 8)
{
currentListyByColumnLogic = kirStatFelhasznaloNoksList.Where(x =>
x.Field<string>(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) &&
x.Field<string>(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<string>(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) &&
x.Field<string>(columnNameReszmunkaidos) == SDAConvert.ToSDABoolean(true) &&
x.Field<string>(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<string>(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) &&
x.Field<string>(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<string>(columnNamePedagogus) == SDAConvert.ToSDABoolean(true) &&
x.Field<string>(columnNameMegbizasos) == SDAConvert.ToSDABoolean(true) &&
x.Field<string>(columnNameNeme) == noMegnevezes).ToList();
}
}
currentExcelWorksheet.Cells[osztlopNevPrefix + 08].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Titkar);
currentExcelWorksheet.Cells[osztlopNevPrefix + 09].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Dajka);
currentExcelWorksheet.Cells[osztlopNevPrefix + 10].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.GondozonoEsTakarito);
currentExcelWorksheet.Cells[osztlopNevPrefix + 11].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Laborans);
currentExcelWorksheet.Cells[osztlopNevPrefix + 12].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.PedagogiaiAsszisztens);
currentExcelWorksheet.Cells[osztlopNevPrefix + 13].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.GyogypedagogiaiAsszisztens);
currentExcelWorksheet.Cells[osztlopNevPrefix + 14].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Konyvtaros);
currentExcelWorksheet.Cells[osztlopNevPrefix + 15].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Szakorvos);
currentExcelWorksheet.Cells[osztlopNevPrefix + 16].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.GyermekEsIfjusagvedelmiFelugyelo);
currentExcelWorksheet.Cells[osztlopNevPrefix + 17].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.SzabadidoSzervezo);
currentExcelWorksheet.Cells[osztlopNevPrefix + 18].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Pszichopedagogus);
currentExcelWorksheet.Cells[osztlopNevPrefix + 19].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.MuszakiVezeto);
currentExcelWorksheet.Cells[osztlopNevPrefix + 20].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.JelmezEsViseletTaros);
currentExcelWorksheet.Cells[osztlopNevPrefix + 21].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Apolo);
currentExcelWorksheet.Cells[osztlopNevPrefix + 22].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Hangszerkarbantarto);
currentExcelWorksheet.Cells[osztlopNevPrefix + 23].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Uszomester);
currentExcelWorksheet.Cells[osztlopNevPrefix + 24].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Rendszergazda);
currentExcelWorksheet.Cells[osztlopNevPrefix + 25].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.PedagogiaiFelugyelo);
currentExcelWorksheet.Cells[osztlopNevPrefix + 27].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.SzocialisMunkas);
currentExcelWorksheet.Cells[osztlopNevPrefix + 28].Value = currentListyByColumnLogic.Count(x => x.Field<string>(columnNameMunkakor) == CommonResource.Gyogytornasz);
}
//nullozni a cellakat ha nem Klebelsberg
if (!isKlebelsberg)
{
oszlopNevList = new List<string> { "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<string> { "N", "R", "V", "Z", "AD", "AH", "AL", "AP", "AT", "AX", "BB", "BF", "BJ" };
List<int> alkalmazottIdList = new List<int>();
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<DataRow> currentalkalmazottDataRowList = kirStatFelhasznaloPedagogusList.Where(x =>
x.Field<decimal>(currentColumnName) > 0 &&
(x.Field<decimal>(currentColumnName) > x.Field<decimal>(columnNameOvoda) || currentColumnName == columnNameOvoda) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameAlsoTagozat) || currentColumnName == columnNameAlsoTagozat) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameFelsoTagozat) || currentColumnName == columnNameFelsoTagozat) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameKozepiskolaKozismeretiOsszes) || currentColumnName == columnNameKozepiskolaKozismeretiOsszes) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameKozepiskolaKozismeretiErettsegiFelkeszito) || currentColumnName == columnNameKozepiskolaKozismeretiErettsegiFelkeszito) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameKozepiskolaSzakmaiElmelet) || currentColumnName == columnNameKozepiskolaSzakmaiElmelet) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameKozepiskolaKSzakmaiGyakorlat) || currentColumnName == columnNameKozepiskolaKSzakmaiGyakorlat) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameSzakgimnaziumElmelet) || currentColumnName == columnNameSzakgimnaziumElmelet) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameSzakgimnaziumGyakorlat) || currentColumnName == columnNameSzakgimnaziumGyakorlat) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameAMI) || currentColumnName == columnNameAMI) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameKollegium) || currentColumnName == columnNameKollegium) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNamePedagogiai) || currentColumnName == columnNamePedagogiai) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameFejlesztoNevelesOktatas) || currentColumnName == columnNameFejlesztoNevelesOktatas) &&
alkalmazottIdList.Contains(x.Field<int>(columnNameAlkalmazottId)) == false //meg nem szamoltuk bele egyik kategoriaban sem
).ToList();
//kiboviteni az igy kapott alkalmazottIdListat
alkalmazottIdList.AddRange(currentalkalmazottDataRowList.Select(x => x.Field<int>(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<string>(columnNameFoglalkozasTipusa) == currentFoglalkozasTipusa &&
(j % 2 == 1 || x.Field<string>(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<string> { "T", "X", "AB", "AF", "AJ", "AN", "AR", "AV", "AZ", "BD", "BH", "BL", "BP" };
alkalmazottIdList = new List<int>();
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<DataRow> currentalkalmazottDataRowList = kirStatFelhasznaloPedagogusList.Where(x =>
x.Field<decimal>(currentColumnName) > 0 &&
(x.Field<decimal>(currentColumnName) > x.Field<decimal>(columnNameOvoda) || currentColumnName == columnNameOvoda) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameAlsoTagozat) || currentColumnName == columnNameAlsoTagozat) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameFelsoTagozat) || currentColumnName == columnNameFelsoTagozat) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameKozepiskolaKozismeretiOsszes) || currentColumnName == columnNameKozepiskolaKozismeretiOsszes) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameKozepiskolaKozismeretiErettsegiFelkeszito) || currentColumnName == columnNameKozepiskolaKozismeretiErettsegiFelkeszito) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameKozepiskolaSzakmaiElmelet) || currentColumnName == columnNameKozepiskolaSzakmaiElmelet) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameKozepiskolaKSzakmaiGyakorlat) || currentColumnName == columnNameKozepiskolaKSzakmaiGyakorlat) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameSzakgimnaziumElmelet) || currentColumnName == columnNameSzakgimnaziumElmelet) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameSzakgimnaziumGyakorlat) || currentColumnName == columnNameSzakgimnaziumGyakorlat) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameAMI) || currentColumnName == columnNameAMI) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameKollegium) || currentColumnName == columnNameKollegium) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNamePedagogiai) || currentColumnName == columnNamePedagogiai) &&
(x.Field<decimal>(currentColumnName) >= x.Field<decimal>(columnNameFejlesztoNevelesOktatas) || currentColumnName == columnNameFejlesztoNevelesOktatas) &&
alkalmazottIdList.Contains(x.Field<int>(columnNameAlkalmazottId)) == false //meg nem szamoltuk bele egyik kategoriaban sem
).ToList();
//kiboviteni az igy kapott alkalmazottIdListat
alkalmazottIdList.AddRange(currentalkalmazottDataRowList.Select(x => x.Field<int>(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<int>(columnNameEletkor) > currentMinEletkor - 1 &&
x.Field<int>(columnNameEletkor) < currentMaxEletkor + 1 &&
(j % 2 == 1 || x.Field<string>(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<int>(columnNameEletkor) < 3);
currentExcelWorksheet.Cells["BA8"].Value = kirStatFelhasznaloKonduktivList.Count(x =>
x.Field<int>(columnNameEletkor) < 3 &&
x.Field<string>(columnNameNeme) == leanyMegnevezes);
currentExcelWorksheet.Cells["AW9"].Value = kirStatFelhasznaloKonduktivList.Count(x =>
x.Field<int>(columnNameEletkor) > 3 &&
x.Field<int>(columnNameEletkor) < 6);
currentExcelWorksheet.Cells["BA9"].Value = kirStatFelhasznaloKonduktivList.Count(x =>
x.Field<int>(columnNameEletkor) > 3 &&
x.Field<int>(columnNameEletkor) < 6 &&
x.Field<string>(columnNameNeme) == leanyMegnevezes);
currentExcelWorksheet.Cells["AW10"].Value = kirStatFelhasznaloKonduktivList.Count(x =>
x.Field<int>(columnNameEletkor) > 5 &&
x.Field<int>(columnNameEletkor) < 11);
currentExcelWorksheet.Cells["BA10"].Value = kirStatFelhasznaloKonduktivList.Count(x =>
x.Field<int>(columnNameEletkor) > 5 &&
x.Field<int>(columnNameEletkor) < 11 &&
x.Field<string>(columnNameNeme) == leanyMegnevezes);
currentExcelWorksheet.Cells["AW11"].Value = kirStatFelhasznaloKonduktivList.Count(x =>
x.Field<int>(columnNameEletkor) > 10 &&
x.Field<int>(columnNameEletkor) < 15);
currentExcelWorksheet.Cells["BA11"].Value = kirStatFelhasznaloKonduktivList.Count(x =>
x.Field<int>(columnNameEletkor) > 10 &&
x.Field<int>(columnNameEletkor) < 15 &&
x.Field<string>(columnNameNeme) == leanyMegnevezes);
currentExcelWorksheet.Cells["AW12"].Value = kirStatFelhasznaloKonduktivList.Count(x =>
x.Field<int>(columnNameEletkor) > 14);
currentExcelWorksheet.Cells["BA12"].Value = kirStatFelhasznaloKonduktivList.Count(x =>
x.Field<int>(columnNameEletkor) > 14 &&
x.Field<string>(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<string> { "J", "M", "P", "S", "V", "Y", "AB", "AE", "AH", "AK", "AN", "AQ", "AT" };
List<string> kotelezoOszlopNevList = new List<string> { "B", "AZ", "BC" };
List<DataRow> allampolgarsagDataRowList = kirStatFelhasznaloKettosMagyarAllampolgarList.Where(x =>
(x.Field<string>(columnNameAllampolgarsag) == magyar &&
!string.IsNullOrWhiteSpace(x.Field<string>(columnNameAllampolgarsag2)) &&
x.Field<string>(columnNameAllampolgarsag2) != "Na" &&
x.Field<string>(columnNameAllampolgarsag2) != magyar) ||
(x.Field<string>(columnNameAllampolgarsag2) == magyar &&
!string.IsNullOrWhiteSpace(x.Field<string>(columnNameAllampolgarsag)) &&
x.Field<string>(columnNameAllampolgarsag) != "Na" &&
x.Field<string>(columnNameAllampolgarsag) != magyar)).ToList();
List<string> allampolgarsagTemporaryList = new List<string>();// egy allampolgarsag szerepelhet egyszer allampolgarsag1 maskor allampolgarsag2
allampolgarsagTemporaryList = allampolgarsagDataRowList.Where(x => x.Field<string>(columnNameAllampolgarsag) != magyar &&
x.Field<string>(columnNameAllampolgarsag) != "Na").ToList()
.Select(y => y.Field<string>(columnNameAllampolgarsag)).Distinct().ToList();
allampolgarsagTemporaryList.AddRange(allampolgarsagDataRowList.Where(x => x.Field<string>(columnNameAllampolgarsag2) != magyar &&
x.Field<string>(columnNameAllampolgarsag2) != "Na").ToList()
.Select(y => y.Field<string>(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<string>(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<string>(columnNameAllampolgarsag) == allampolgarsag && x.Field<string>(columnNameAllampolgarsag2) == magyar) ||
(x.Field<string>(columnNameAllampolgarsag2) == allampolgarsag && x.Field<string>(columnNameAllampolgarsag) == magyar)) &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
//LeányOszlop
currentExcelWorksheet.Cells["AZ" + (o + 9).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x =>
((x.Field<string>(columnNameAllampolgarsag) == allampolgarsag && x.Field<string>(columnNameAllampolgarsag2) == magyar) ||
(x.Field<string>(columnNameAllampolgarsag2) == allampolgarsag && x.Field<string>(columnNameAllampolgarsag) == magyar)) &&
x.Field<string>(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<string>(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<DateTime?>("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<string>("Reszmunkaidos")) ? "Igen" : "Nem";
item["Megbizasos"] = SDAConvert.ToBooleanFromTF(item.Field<string>("Megbizasos")) ? "Igen" : "Nem";
item["Pedagogus"] = SDAConvert.ToBooleanFromTF(item.Field<string>("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<string, string> GetUjTorzslapBetuMeretList(List<int> removedItems = null, bool isDescending = false)
{
var result = new Dictionary<string, string>();
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("<br>", Environment.NewLine);
return result;
}
public List<ComboBoxListItem> 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<ComboBoxListItem> result = LogicUtil.CreateMvcGroupedSelectListItem(dataSet, "ID", "Nev", "GroupName");
return result;
});
}
public List<ComboBoxListItem> 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<ComboBoxListItem> result = LogicUtil.CreateMvcGroupedSelectListItem(dataSet, "ID", "Nev", "GroupName");
return result;
});
}
public List<ComboBoxListItem> 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<ComboBoxListItem> result = LogicUtil.CreateMvcGroupedSelectListItem(dataSet, "ID", "Nev", "GroupName");
return result;
});
}
public List<ComboBoxListItem> 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<ComboBoxListItem> 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<List<string>>(RendszerBeallitasTipusEnum.lezart_osztalynaplok);
if (!lezartNaplokSettings.Contains(osztalyId.ToString()))
{
lezartNaplokSettings.Add(osztalyId.ToString());
systemSettingsHelper.SetSystemSettings(new Dictionary<RendszerBeallitasTipusEnum, dynamic> { { 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<int>() { tanulocsoportId });
var isNemFelnottkepzesesBesorolasExist = ds.Tables[0].AsEnumerable().Any(x => SDAConvert.ToInt32(x["JogviszonyTipusId"]) != (int)JogviszonyTipusEnum.felnottkepzesi_jogviszony);
return !isNemFelnottkepzesesBesorolasExist;
});
}
public bool IsAllTanuloFelnottkepzesJogviszonyByTanulocsoportIdList(List<int> 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<int> 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<int> 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<int> 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<int> GetTanuloIdListByTanulocsoportIdList(List<int> 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<int> GetOsztalyIdListByTanulocsoportIdList(List<int> 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<int> GetTanulocsoportIdByOsztalyIdList(List<int> 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<string>("IntezmenyNev")}");
}
if (isFelhelyCimMegjelenik)
{
if (sb.Length != 0)
{
sb.AppendLine().AppendLine();
}
sb.Append($"{NyomtatvanyokResource.FeladatellatasiHelyCime} {dataRow.Field<string>("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)}";
}
}
}