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

1830 lines
120 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Utils;
using Kreta.Client.FileService.Request;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.Core.Exceptions;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using OfficeOpenXml;
namespace Kreta.BusinessLogic.Helpers
{
public class SZIRStatHelper : LogicBase
{
#region Fields
private readonly IFileServiceHelper fileServiceHelper;
#endregion Fields
#region Constructors
public SZIRStatHelper(IConnectionType connectionType, IFileServiceHelper fileServiceHelper) : base(connectionType)
{
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
public SZIRStatHelper(IConnectionType connectionType) : base(connectionType) { }
#endregion Constructors
#region SzirStatFileService Functions
public ISzirStatFile GetSzirStatFile(int id)
{
return Dal.CustomConnection.Run(ConnectionType, dalHandler =>
{
ISzirStatFile szirStatFile = dalHandler.SzirStatFileDAL().Get(id);
szirStatFile.File = dalHandler.FileDAL().Get(szirStatFile.FileId);
return szirStatFile;
});
}
public List<int> GetSzirStatFileIdByTipusIdAndFeladatellatasiHelyId(int szirStatTipusId, int feladatellatasiHelyId)
{
return Dal.CustomConnection.Run(ConnectionType, dalHandler =>
{
return dalHandler.SzirStatFileDAL().GetSzirStatFileIdByTipusIdAndFeladatellatasiHelyId(IntezmenyId, TanevId, szirStatTipusId, feladatellatasiHelyId);
});
}
public SZIRStatCO GetSzirStatFileByTipusIdAndFeladatellatasiHelyId(int szirStatTipusId, int feladatellatasiHelyId)
{
return Dal.CustomConnection.Run(ConnectionType, dalHandler =>
{
SZIRStatCO co = new SZIRStatCO();
ISzirStatFile szirStatFile;
List<int> szirStatFileIdList = dalHandler.SzirStatFileDAL().GetSzirStatFileIdByTipusIdAndFeladatellatasiHelyId(IntezmenyId, TanevId, szirStatTipusId, feladatellatasiHelyId);
if (szirStatFileIdList.Any())
{
int szirStatFileId = szirStatFileIdList[0];
szirStatFile = dalHandler.SzirStatFileDAL().Get(szirStatFileId);
szirStatFile.File = dalHandler.FileDAL().Get(szirStatFile.FileId);
}
else
{
szirStatFile = dalHandler.SzirStatFileDAL().Get();
}
if (feladatellatasiHelyId.IsEntityId())
{
szirStatFile.KirSzirFeladatellatasiHely = dalHandler.KirSzirFeladatellatasiHelyDAL().Get(feladatellatasiHelyId);
}
bool hasFile = szirStatFile.File != null;
return new SZIRStatCO
{
SzirStatTipusId = szirStatTipusId,
FeladatellatasiHelyId = feladatellatasiHelyId,
SzirStatFileId = szirStatFile.ID,
FileId = hasFile ? szirStatFile.File.ID : (int?)default,
Statusz = hasFile ? FileStatuszEnum.Feltoltve : FileStatuszEnum.NincsFeltoltve,
FileNev = hasFile ? string.Format("{0}.{1}", szirStatFile.File.FileNev, szirStatFile.File.Extension) : string.Empty,
FeltoltesDatuma = hasFile ? szirStatFile.File.FeltoltesDatum : (DateTime?)default,
FeladatellatasiHelyNev = szirStatTipusId == (int)SzirStatTipusEnum.osa1int ? Core.Constants.General.Intezmeny : $"{szirStatFile.KirSzirFeladatellatasiHely.MukodesihelyNev} - {szirStatFile.KirSzirFeladatellatasiHely.OktatasiNevelesiFeladatNev}"
};
});
}
public SZIRStatCO DeleteSzirStatFileAndGetSzirStatFileByTipusIdAndFeladatellatasiHelyId(int szirStatTipusId, int feladatellatasiHelyId)
{
return Dal.CustomConnection.Run(ConnectionType, dalHandler =>
{
SZIRStatCO co = new SZIRStatCO();
ISzirStatFile szirStatFile;
List<int> szirStatFileIdList = dalHandler.SzirStatFileDAL().GetSzirStatFileIdByTipusIdAndFeladatellatasiHelyId(IntezmenyId, TanevId, szirStatTipusId, feladatellatasiHelyId);
foreach (var szirStatFileId in szirStatFileIdList)
{
DeleteStatFile(dalHandler, szirStatFileId, true);
}
szirStatFile = dalHandler.SzirStatFileDAL().Get();
if (feladatellatasiHelyId.IsEntityId())
{
szirStatFile.KirSzirFeladatellatasiHely = dalHandler.KirSzirFeladatellatasiHelyDAL().Get(feladatellatasiHelyId);
}
bool hasFile = szirStatFile.File != null;
return new SZIRStatCO
{
SzirStatTipusId = szirStatTipusId,
FeladatellatasiHelyId = feladatellatasiHelyId,
SzirStatFileId = szirStatFile.ID,
FileId = hasFile ? szirStatFile.File.ID : (int?)default,
Statusz = hasFile ? FileStatuszEnum.Feltoltve : FileStatuszEnum.NincsFeltoltve,
FileNev = hasFile ? string.Format("{0}.{1}", szirStatFile.File.FileNev, szirStatFile.File.Extension) : string.Empty,
FeltoltesDatuma = hasFile ? szirStatFile.File.FeltoltesDatum : (DateTime?)default,
FeladatellatasiHelyNev = szirStatTipusId == (int)SzirStatTipusEnum.osa1int ? Core.Constants.General.Intezmeny : $"{szirStatFile.KirSzirFeladatellatasiHely.MukodesihelyNev} - {szirStatFile.KirSzirFeladatellatasiHely.OktatasiNevelesiFeladatNev}"
};
});
}
private void DeleteStatFile(IDalHandler dalHandler, int id, bool withFileServiceDelete)
{
ISzirStatFile szirStatFile = dalHandler.SzirStatFileDAL().Get(id);
new FileHelper(new DalHandlerConnectionType(ConnectionType, dalHandler), fileServiceHelper).DeleteFile(szirStatFile.FileId, withFileServiceDelete);
dalHandler.SzirStatFileDAL().Delete(id, FelhasznaloId);
}
public (string Name, byte[] Data) GetFileData(int id)
{
IFile file = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.FileDAL().Get(id));
var fileName = string.Concat(file.FileNev.TrimEnd('.'), '.', file.Extension.TrimStart('.'));
var fileContent = fileServiceHelper.GetFile(IntezmenyAzonosito, new GetUrlRequest(file.Utvonal, file.FileGuid.Value, fileName));
byte[] data = Convert.FromBase64String(fileContent.Tartalom);
return (fileName, data);
}
public FileDownloadCO GetFileForDownload(int id)
{
var (Name, Data) = GetFileData(id);
return new FileDownloadCO() { Stream = new MemoryStream(Data), FileName = Name };
}
public bool DeleteStatFile(int id)
{
try
{
Dal.CustomConnection.Run(ConnectionType, dalHandler =>
{
DeleteStatFile(dalHandler, id, true);
});
return true;
}
catch (BlException ex)
{
throw new BlException(ex.Message);
}
}
public int? Upload(HttpPostedFileBase postedFile, Guid globalIntezmenyId, int szirStatTipusId, int kirSzirFeladatellatasiHelyId)
{
string fileName = postedFile.FileName;
string contentType = postedFile.ContentType;
int contentLength = postedFile.ContentLength;
try
{
var ms = new MemoryStream(contentLength);
postedFile.InputStream.CopyTo(ms);
byte[] content = ms.ToArray();
ms.Dispose();
int result = Dal.CustomConnection.Run(ConnectionType, dalHandler =>
{
ISzirStatFileDAL szirStatFileDal = dalHandler.SzirStatFileDAL();
kirSzirFeladatellatasiHelyId = kirSzirFeladatellatasiHelyId.IsEntityId() ? kirSzirFeladatellatasiHelyId : -1;
var regiSzirStatFileIdList = szirStatFileDal.GetSzirStatFileIdByTipusIdAndFeladatellatasiHelyId(IntezmenyId, TanevId, szirStatTipusId, kirSzirFeladatellatasiHelyId);
foreach (var regiSzirStatFileId in regiSzirStatFileIdList)
{
DeleteStatFile(dalHandler, regiSzirStatFileId, true);
}
ISzirStatFile szirStatFile = szirStatFileDal.Get();
string path = $"SzirStat/{globalIntezmenyId}/{TanevId}/{szirStatTipusId}";
var newFileId = new FileHelper(new DalHandlerConnectionType(ConnectionType, dalHandler), fileServiceHelper).UploadFile(fileName, content, contentType, path);
szirStatFile.FileId = newFileId.Value;
szirStatFile.KirSzirFeladatellatasiHelyId = kirSzirFeladatellatasiHelyId;
szirStatFile.SzirStatTipusId = szirStatTipusId;
szirStatFile.IntezmenyId = IntezmenyId;
szirStatFile.TanevId = TanevId;
return szirStatFileDal.Insert(szirStatFile);
});
return result;
}
catch (Exception)
{
throw new BlException(ErrorResource.FajlFeltolteseSikertelen);
}
}
#endregion
#region SZIRStat Sablon Doksik
public KirSzirFeladatellatasiHelyCO GetKirSzirFeladatellatasiHely(int kirSzirFeladatellatasiHelyId)
{
return Dal.CustomConnection.Run(ConnectionType, dalHandler =>
{
KirSzirFeladatellatasiHelyCO co = new KirSzirFeladatellatasiHelyCO();
IKirSzirFeladatellatasiHely kirSzirFeladatellatasiHely = dalHandler.KirSzirFeladatellatasiHelyDAL().Get(kirSzirFeladatellatasiHelyId);
return new KirSzirFeladatellatasiHelyCO
{
Id = kirSzirFeladatellatasiHely.ID,
FeladatellatasiHelyId = kirSzirFeladatellatasiHely.FeladatellatasiHelyId,
FeladatellatasiHelyNev = kirSzirFeladatellatasiHely.OktatasiNevelesiFeladatNev,
MukodesiHelyNev = kirSzirFeladatellatasiHely.MukodesihelyNev,
FeladatKategoriId = kirSzirFeladatellatasiHely.FeladatKategoriaId,
Datum = kirSzirFeladatellatasiHely.Datum
};
});
}
public List<MemoryStream> GetSzirStatIntezmeny(string filePath)
{
return Dal.CustomConnection.Run(ConnectionType, handler =>
{
#region Constans
const string adatszolgaltatasDatumaAddress = "P13";
const string beszamolasiIdoszakAddress = "P15";
const string nyitoadatokAddress = "P17";
#endregion Constans
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];
//1.MUNKALAP - OMAzonosito
const string omAzonositoCellName = "P11";
IntezmenyCO intezmenyCO = new IntezmenyHelper(new DalHandlerConnectionType(ConnectionType, handler)).GetIntezmenyiAdatok();
currentExcelWorksheet.Cells[omAzonositoCellName].Value = intezmenyCO.IntezmenyAzonosito;
var adatszolgaltatasDatuma = new DateTime(aktivTanev.ElsoTanitasiNap.Year, 10, 8).ToShortDateString();
currentExcelWorksheet.Cells[adatszolgaltatasDatumaAddress].Value = adatszolgaltatasDatuma;
currentExcelWorksheet.Cells[beszamolasiIdoszakAddress].Value = elozoTanev.Value;
currentExcelWorksheet.Cells[nyitoadatokAddress].Value = aktivTanev.Nev;
#endregion 1. MUNKALAP
excelPackage.SaveAs(sablonStream);
}
sablonStream.Position = 0;
streams.Add(sablonStream);
#endregion sablonStream
return streams;
});
}
public List<MemoryStream> GetSzirStatForTanulo(string filePath, int feladatellatasiHelyId)
{
return Dal.CustomConnection.Run(ConnectionType, handler =>
{
var szirStatHelper = new SZIRStatHelper(new DalHandlerConnectionType(ConnectionType, handler));
KirSzirFeladatellatasiHelyCO kirSzirFeladatellatasiHelyCO = szirStatHelper.GetKirSzirFeladatellatasiHely(feladatellatasiHelyId);
string oktatasiNevelesiFeladatNev = kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyNev;
bool isEngedelyezettFeladatellatasiHelyTipus = true;
var dal = handler.NyomtatvanyokDal();
DataSet kirStatEvfolyamDataSet = isEngedelyezettFeladatellatasiHelyTipus ? dal.GetKirStatEvfolyam(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId) : new DataSet();
DataSet kirStatTanuloEletkorDataSet = isEngedelyezettFeladatellatasiHelyTipus ? dal.GetKirStatTanuloEletkor(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId, isKirstat: false) : new DataSet();
DataSet kirStatTanuloLakohelyDataSet = isEngedelyezettFeladatellatasiHelyTipus ? dal.GetKirStatTanuloLakohely(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId, false) : 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";
const string beszamolasiIdoszakAddress = "a01g02c02";
const string nyitoadatokAddress = "a01g02c04";
#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;
#region 1. MUNKALAP
currentExcelWorksheet = excelWorksheets[1];
//TODO KezdiH: egyelore nem updateljuk
//1. MUNKALAP - OMAzonosito
const string omAzonositoCellName = "a01g01c01";
IntezmenyCO intezmenyCO = new IntezmenyHelper(new DalHandlerConnectionType(ConnectionType, handler)).GetIntezmenyiAdatok();
currentExcelWorksheet.Cells[omAzonositoCellName].Value = intezmenyCO.IntezmenyAzonosito;
var adatszolgaltatasDatuma = new DateTime(aktivTanev.ElsoTanitasiNap.Year, 10, 8).ToShortDateString();
currentExcelWorksheet.Cells[adatszolgaltatasDatumaAddress].Value = adatszolgaltatasDatuma;
currentExcelWorksheet.Cells[beszamolasiIdoszakAddress].Value = elozoTanev.Value;
currentExcelWorksheet.Cells[nyitoadatokAddress].Value = aktivTanev.Nev;
#endregion 1. MUNKALAP
#region 4. MUNKALAP
//4. MUNKALAP - A04T21 - GYERMEKEK, TANULÓK SZÁMA ÉLETKORUK SZERINT, NYITÓADATOK
currentExcelWorksheet = excelWorksheets[4];
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 < 59; 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 < 54)
{
//3 - 49 éves
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) == j - 4 &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
else if (j == 54)
{
//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 == 55)
{
//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 == 56)
{
//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 == 57)
{
//65 évesnél idősebb
currentExcelWorksheet.Cells[osztlopNevPrefix + j].Value = kirStatTanuloEletkorList.Count(x =>
x.Field<int>(columnNameEletkor) > 64 &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
}
}
#endregion 4. MUNKALAP
#region 5. MUNKALAP
//5.MUNKALAP - A04T63 - LEÁNY 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" };
//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 < 58; 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 < 54)
{
//3 - 49 é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 == 54)
{
//50-54 között
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 == 55)
{
//55-59 között
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 == 56)
{
//60-64 között
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 == 57)
{
//65 és 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 5. MUNKALAP
#region 6. MUNKALAP
//6. MUNKALAP - A04T23 - A GYERMEKEK, TANULÓK SZÁMÁNAK NYITÓADATAI A SZÜLŐ(GONDVISELŐ) LAKÓHELYE SZERINT
currentExcelWorksheet = excelWorksheets[6];
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 6. MUNKALAP
#region 9. MUNKALAP
//9. MUNKALAP - A04T101 - INTEGRÁLTAN OKTATOTT SAJÁTOS NEVELÉSI IGÉNYŰ GYERMEKEK, TANULÓK SZÁMA ÉLETKORUK SZERINT, NYITÓADATOK
currentExcelWorksheet = excelWorksheets[9];
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 9. MUNKALAP
#region 10. MUNKALAP
//10. MUNKALAP - A04T102 - INTEGRÁLTAN OKTATOTT SAJÁTOS NEVELÉSI IGÉNYŰ LEÁNY GYERMEKEK, TANULÓK SZÁMA ÉLETKORUK SZERINT, NYITÓADATOK
currentExcelWorksheet = excelWorksheets[10];
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 10. 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("SZIRStat_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("SZIRStat_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("SZIRStat_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> GetSzirStatForFelhasznalo(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";
const string beszamolasiIdoszakAddress = "N17";
const string nyitoadatokAddress = "N20";
#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, false);
DataSet kirStatFelhasznaloGyogytestnevelesDataSet = dal.GetKirStatFelhasznaloGyogytestneveles(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId, false);
DataSet kirStatFelhasznaloTeremDataSet = dal.GetKirStatFelhasznaloTerem(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId, false);
DataSet kirStatFelhasznaloKonduktivDataSet = dal.GetKirStatFelhasznaloKonduktiv(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId, false);
DataSet kirStatFelhasznaloNoksDataSet = dal.GetKirStatFelhasznaloNoks(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId, false);
DataSet kirStatFelhasznaloPedagogusDataSet = dal.GetKirStatFelhasznaloPedagogus(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId, false);
DataSet kirStatFelhasznaloTanoranKivuliCsoportDataSet = dal.GetKirStatFelhasznaloTanoranKivuliCsoport(TanevId, kirSzirFeladatellatasiHelyCO.FeladatellatasiHelyId, false);
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];
//1.MUNKALAP - OMAzonosito
const string omAzonositoCellName = "N11";
IntezmenyCO intezmenyCO = new IntezmenyHelper(new DalHandlerConnectionType(ConnectionType, handler)).GetIntezmenyiAdatok();
currentExcelWorksheet.Cells[omAzonositoCellName].Value = intezmenyCO.IntezmenyAzonosito;
var adatszolgaltatasDatuma = new DateTime(aktivTanev.ElsoTanitasiNap.Year, 10, 8).ToShortDateString();
currentExcelWorksheet.Cells[adatszolgaltatasDatumaAddress].Value = adatszolgaltatasDatuma;
currentExcelWorksheet.Cells[beszamolasiIdoszakAddress].Value = elozoTanev.Value;
currentExcelWorksheet.Cells[nyitoadatokAddress].Value = aktivTanev.Nev;
#endregion 1. MUNKALAP
// Nincs 2. munkalap, ezért innentől mindegyik lap indexe -1.
#region 4. MUNKALAP
//4. MUNKALAP - FELSŐ - A02T13 - OSZTÁLYTERMEK/ÓVODAI CSOPORTSZOBÁK/FÉRŐHELYEK NYITÓÁLLOMÁNYA
currentExcelWorksheet = excelWorksheets[3];
//A02T13 - Osztálytermek/óvodai csoportszobák /férőhelyek
if (oktatasiNevelesiFeladatNev != OktatasiNevelesiFeladatEnum.PedagogiaiSzakszolgaltatas.GetDisplayName(TanevId) &&
oktatasiNevelesiFeladatNev != OktatasiNevelesiFeladatEnum.pedagogiai_szakmai_szolgaltatas.GetDisplayName(TanevId))
{
currentExcelWorksheet.Cells["Q6"].Value = kirStatFelhasznaloTeremList.Count(x =>
x.Field<string>(columnNameTeremTipus) == CommonResource.OsztalyteremCsoportszoba);
currentExcelWorksheet.Cells["V6"].Value = kirStatFelhasznaloTeremList.Where(x =>
x.Field<string>(columnNameTeremTipus) == CommonResource.OsztalyteremCsoportszoba).Sum(y => y.Field<int>(columnNameKapacitas));
currentExcelWorksheet.Cells["Q10"].Value = kirStatFelhasznaloTeremList.Count(x =>
x.Field<string>(columnNameTeremTipus) == CommonResource.Szakterem);
currentExcelWorksheet.Cells["V10"].Value = kirStatFelhasznaloTeremList.Where(x =>
x.Field<string>(columnNameTeremTipus) == CommonResource.Szakterem).Sum(y => y.Field<int>(columnNameKapacitas));
currentExcelWorksheet.Cells["Q16"].Value = kirStatFelhasznaloTeremList.Count(x =>
x.Field<string>(columnNameTeremTipus) == CommonResource.Tornaszoba);
currentExcelWorksheet.Cells["Q17"].Value = kirStatFelhasznaloTeremList.Count(x =>
x.Field<string>(columnNameTeremTipus) == CommonResource.Tornaterem);
}
#endregion 4. MUNKALAP
#region 6. MUNKALAP
//6. MUNKALAP - A02T59 - PEDAGÓGUSOK NYITÓÁLLOMÁNYA MUNKAIDŐ SZERINT, OKTATÁSI SZINTENKÉNT
currentExcelWorksheet = excelWorksheets[5];
//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" };
var 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;
//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) &&
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++)
{
var currentFoglalkozasTipusa = new List<string>();
if (j < 11)
currentFoglalkozasTipusa.Add("Teljes munkaidős");
if (j > 10 && j < 13)
currentFoglalkozasTipusa.Add("Részmunkaidős");
if (j > 12)
{ currentFoglalkozasTipusa.Add("Óraadó"); currentFoglalkozasTipusa.Add("Megbízási szerződés"); }
currentExcelWorksheet.Cells[oszlopNevList[i] + j.ToString()].Value = currentalkalmazottDataRowList.Count(x =>
currentFoglalkozasTipusa.Contains(x.Field<string>(columnNameFoglalkozasTipusa)) &&
(j % 2 == 1 || x.Field<string>(columnNameNeme) == noMegnevezes)
);
}
}
#endregion 6. MUNKALAP
#region 7. MUNKALAP
//7. 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[6];
//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" };
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;
//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) &&
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 7. MUNKALAP
#region 9. MUNKALAP
// Köznevelési alapfeladatellátásban
if (kirSzirFeladatellatasiHelyCO.FeladatKategoriId == (int)OktNevelesiKategoriaEnum.NevelesOktatas)
{
//9. MUNKALAP - A02T57 - NEVELŐ ÉS OKTATÓ MUNKÁT KÖZVETLENÜL SEGÍTŐ MUNKAKÖRBEN DOLGOZÓK LÉTSZÁMA, NYITÓADATOK
currentExcelWorksheet = excelWorksheets[8];
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();
}
//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);
}
}
#endregion 9. MUNKALAP
#region 19. MUNKALAP
//19. MUNKALAP - A02T09 - GYERMEKEK, TANULÓK SZÁMA A LAKÓHELY ORSZÁGA SZERINT, NYITÓADATOK
currentExcelWorksheet = excelWorksheets[18];
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) + 8).ToString()].Value = cimSzerintiOrszagNev;
//minden tanulo aki az adott orszagban van a cime
currentExcelWorksheet.Cells[oszlopNevList[1] + ((i * 2) + 8).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x =>
x.Field<string>(columnNameCimSzerintiOrszag) == cimSzerintiOrszagNev);
//kulfoldi allampolgar
currentExcelWorksheet.Cells[oszlopNevList[2] + ((i * 2) + 8).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) + 8).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 19. MUNKALAP
#region 20. MUNKALAP
//20. MUNKALAP - FELSŐ - A02T106 - MAGYARORSZÁGON TANULÓ KETTŐS - MAGYAR ÉS EGYÉB- ÁLLAMPOLGÁR GYERMEKEK, TANULÓK SZÁMA ORSZÁGONKÉNT, NYITÓADATOK
//20. MUNKALAP - ALSÓ - A02T14 - MAGYARORSZÁGON TANULÓ KÜLFÖLDI ÁLLAMPOLGÁR GYERMEKEK, TANULÓK SZÁMA ORSZÁGONKÉNT, NYITÓADATOK
currentExcelWorksheet = excelWorksheets[19];
// A02T106
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 + 8).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 + 8).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 + 8).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);
}
// A02T14
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 + 27).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] + "23"].Value = evfolyamNev;
currentExcelWorksheet.Cells[oszlopNevList[j] + (i + 27).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x =>
x.Field<string>(columnNameAllampolgarsag) == currentAllampolgarsag &&
x.Field<string>(columnNameEvfolyam) == evfolyamNev);
}
//Leány oszlop kitoltese
currentExcelWorksheet.Cells["AZ" + (i + 27).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 + 27).ToString()].Value = kirStatFelhasznaloKettosMagyarAllampolgarList.Count(x =>
x.Field<string>(columnNameAllampolgarsag) == currentAllampolgarsag &&
x.Field<string>(columnNameMenedekjoggalRendelkezo) == "T");
}
#endregion 20. 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("SZIRStat_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 = "Állampolgárság";
kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Columns[columnNameAllampolgarsag2].ColumnName = "Állampolgárság2";
kirStatFelhasznaloKettosMagyarAllampolgarDataSet.Tables[0].Columns[columnNameEvfolyam].ColumnName = "Évfolyam neve";
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("SZIRStat_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("SZIRStat_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("SZIRStat_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("SZIRStat_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("SZIRStat_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("SZIRStat_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("SZIRStat_FelhasznaloPedagogus");
worksheetFelhasznaloPedagogus.Cells["A1"].LoadFromDataTable(kirStatFelhasznaloPedagogusDataSet.Tables[0], true);
#endregion worksheetFelhasznaloPedagogus
excelPackage.SaveAs(segedletStream);
}
segedletStream.Position = 0;
streams.Add(segedletStream);
#endregion segedletStream
return streams;
});
}
public List<MemoryStream> GetSzirStatSzak(string filePath, int feladatellatasiHelyId)
{
return Dal.CustomConnection.Run(ConnectionType, handler =>
{
#region Constans
const string adatszolgaltatasDatumaAddress = "P12";
const string beszamolasiIdoszakAddress = "P14";
const string nyitoadatokAddress = "P16";
#endregion Constans
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;
#region 1. MUNKALAP
currentExcelWorksheet = excelWorksheets[1];
//1.MUNKALAP - OMAzonosito
const string omAzonositoCellName = "P9";
IntezmenyCO intezmenyCO = new IntezmenyHelper(new DalHandlerConnectionType(ConnectionType, handler)).GetIntezmenyiAdatok();
currentExcelWorksheet.Cells[omAzonositoCellName].Value = intezmenyCO.IntezmenyAzonosito;
var adatszolgaltatasDatuma = new DateTime(aktivTanev.ElsoTanitasiNap.Year, 10, 8).ToShortDateString();
currentExcelWorksheet.Cells[adatszolgaltatasDatumaAddress].Value = adatszolgaltatasDatuma;
currentExcelWorksheet.Cells[beszamolasiIdoszakAddress].Value = elozoTanev.Value;
currentExcelWorksheet.Cells[nyitoadatokAddress].Value = aktivTanev.Nev;
#endregion 1. MUNKALAP
excelPackage.SaveAs(sablonStream);
}
sablonStream.Position = 0;
streams.Add(sablonStream);
#endregion sablonStream
return streams;
});
}
public List<MemoryStream> GetSzirStatMuv(string filePath, int feladatellatasiHelyId)
{
return Dal.CustomConnection.Run(ConnectionType, handler =>
{
#region Constans
const string adatszolgaltatasDatumaAddress = "L14";
const string beszamolasiIdoszakAddress = "L16";
const string nyitoadatokAddress = "L18";
#endregion Constans
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;
#region 1. MUNKALAP
currentExcelWorksheet = excelWorksheets[1];
//1.MUNKALAP - OMAzonosito
const string omAzonositoCellName = "N9";
IntezmenyCO intezmenyCO = new IntezmenyHelper(new DalHandlerConnectionType(ConnectionType, handler)).GetIntezmenyiAdatok();
currentExcelWorksheet.Cells[omAzonositoCellName].Value = intezmenyCO.IntezmenyAzonosito;
var adatszolgaltatasDatuma = new DateTime(aktivTanev.ElsoTanitasiNap.Year, 10, 8).ToShortDateString();
currentExcelWorksheet.Cells[adatszolgaltatasDatumaAddress].Value = adatszolgaltatasDatuma;
currentExcelWorksheet.Cells[beszamolasiIdoszakAddress].Value = elozoTanev.Value;
currentExcelWorksheet.Cells[nyitoadatokAddress].Value = aktivTanev.Nev;
#endregion 1. MUNKALAP
excelPackage.SaveAs(sablonStream);
}
sablonStream.Position = 0;
streams.Add(sablonStream);
#endregion sablonStream
return streams;
});
}
#endregion SZIRStat Sablon Doksik
public Dictionary<int, string> GetKirSzirFeladatellatasiHelyList(bool isKIRStat = false)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
Dictionary<int, string> feladatellatasiHelyFileNevDictionary = new Dictionary<int, string>();
var tanevHelper = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h));
var aktivTanev = tanevHelper.GetTanevInfo();
DateTime datum = new DateTime(aktivTanev.ElsoTanitasiNap.Year, 10, isKIRStat ? 1 : 8);
DataSet dataSet = h.KirSzirFeladatellatasiHelyDAL().GetKirSzirFeladatellatasiHelyList(TanevId, datum);
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
{
feladatellatasiHelyFileNevDictionary.Add(dataRow.Field<int>("ID"), dataRow.Field<string>("Nev"));
}
return feladatellatasiHelyFileNevDictionary;
});
}
public Dictionary<int, string> GetKirSzirFeladatEllatasiHelyDDl(bool isKIRStat = false, int? feladatKategoriaId = null)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
Dictionary<int, string> feladatellatasiHelyFileNevDictionary = new Dictionary<int, string>();
var tanevHelper = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h));
var aktivTanev = tanevHelper.GetTanevInfo();
DateTime datum = new DateTime(aktivTanev.ElsoTanitasiNap.Year, 10, isKIRStat ? 1 : 8);
DataSet dataSet = h.KirSzirFeladatellatasiHelyDAL().GetKirSzirFeladatellatasiHelyList(TanevId, datum, feladatKategoriaId);
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
{
feladatellatasiHelyFileNevDictionary.Add(dataRow.Field<int>("ID"), dataRow.Field<string>("TeljesNev"));
}
return feladatellatasiHelyFileNevDictionary;
});
}
public IDictionary<string, string> GetKirSzirFeladatEllatasiHelyDDl(string baseText = null, bool isKIRStat = false, int? feladatKategoriaId = null)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var tanevHelper = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h));
var aktivTanev = tanevHelper.GetTanevInfo();
DateTime datum = new DateTime(aktivTanev.ElsoTanitasiNap.Year, 10, isKIRStat ? 1 : 8);
return LogicUtil.CreateDropdownContent(h.KirSzirFeladatellatasiHelyDAL(GridParameters).GetKirSzirFeladatellatasiHelyList(TanevId, datum, feladatKategoriaId), "ID", "TeljesNev", baseText);
});
}
}
}