This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,193 @@
using System;
using System.Data;
using System.IO;
using System.Linq;
using Kreta.BusinessLogic.Classes;
using Kreta.Core.ConnectionType;
using Kreta.Resources;
using OfficeOpenXml;
namespace Kreta.BusinessLogic.Helpers.Nyomtatvanyok.Excel
{
public class TanulokBejegyzeseiExcel : BaseNyomtatvanyExcelWithDataSet
{
public TanulokBejegyzeseiExcel(IConnectionType connectionType, bool isMultisheetExcel = false, string templateFilename = null) : base(connectionType, isMultisheetExcel)
{
FileInfo exFile = null;
if (templateFilename != null)
{
exFile = new FileInfo(templateFilename);
}
ExcelPackage = (exFile == null) ? new ExcelPackage() : new ExcelPackage(exFile);
SetWorkbookProperties();
}
public override void CreateSheet(DataSet ds, int osztalyId, int sheetIndex = 1)
{
SetExcelDataSet(ds);
DataTable fejlecDt = DataSet.Tables[0];
int startRow = 11;
string[] columns = new string[]
{
"Tipus"
,"Szeptember"
,"Oktober"
,"November"
,"December"
,"Januar"
,"Februar"
,"Marcius"
,"Aprilis"
,"Majus"
,"Junius"
,"Felev"
,"Ossz"
};
var tanuloList = DataSet.Tables[1].AsEnumerable().GroupBy(r => r.Field<string>("OktAzon"));
foreach (var tanulo in tanuloList)
{
bool first = true;
ExcelWorksheet worksheet = null;
startRow = 11;
foreach (var tanuloDataRow in tanulo)
{
var tanuloTable = new DataTable(tanuloDataRow["TanuloNeve"].ToString());
var tanuloId = Convert.ToInt32(tanuloDataRow["TanuloId"]);
var cellStyles = new CellStyle[]
{
NormalStyleWrapText
};
if (first)
{
worksheet = CreateSheet($"{tanuloDataRow["TanuloNeve"]} ({tanuloDataRow["OktAzon"]})", sheetIndex, eOrientation.Landscape, true);
//Fejléc
AddLabelRange(worksheet, 1, 1, 1, 5, ExcelNyomtatvanyResource.TanulokBejegyzeseiTanuloNeve, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 1, 6, 1, 7, ExcelNyomtatvanyResource.TanulokBejegyzeseiOktatasiAzonositoja, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 1, 8, 1, 9, ExcelNyomtatvanyResource.TanulokBejegyzeseiOsztalya, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 1, 10, 1, 11, ExcelNyomtatvanyResource.TanulokBejegyzeseiOsztalynaploSorszama, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 1, 12, 1, 13, ExcelNyomtatvanyResource.TanulokBejegyzeseiTorzslapszama, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 2, 1, 2, 5, tanuloDataRow["TanuloNeve"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 2, 6, 2, 7, tanuloDataRow["OktAzon"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 2, 8, 2, 9, fejlecDt.Rows[0]["OsztalyNev"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 2, 10, 2, 11, tanuloDataRow["Sorszam"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 2, 12, 2, 13, tanuloDataRow["TorzslapSzam"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 3, 1, 3, 2, ExcelNyomtatvanyResource.TanulokBejegyzeseiAnyjaSzuleteskoriNeve, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 3, 3, 3, 5, ExcelNyomtatvanyResource.TanulokBejegyzeseiSzuletesiHely, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 3, 6, 3, 7, ExcelNyomtatvanyResource.TanulokBejegyzeseiSzuletesiIdo, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 3, 8, 3, 11, ExcelNyomtatvanyResource.TanulokBejegyzeseiAllampolgarsaga, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 3, 12, 3, 13, ExcelNyomtatvanyResource.TanulokBejegyzeseiTajSzama, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 4, 1, 4, 2, tanuloDataRow["AnyjaNeve"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 4, 3, 4, 5, tanuloDataRow["SzulHely"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 4, 6, 4, 7, tanuloDataRow["SzulIdo"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 4, 8, 4, 11, tanuloDataRow["Allampolgarsaga"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 4, 12, 4, 13, tanuloDataRow["TajSzam"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 5, 1, 5, 5, ExcelNyomtatvanyResource.TanulokBejegyzeseiKepzes, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 5, 6, 5, 9, ExcelNyomtatvanyResource.TanulokBejegyzeseiDiakigazolvanySzama, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 5, 10, 5, 11, ExcelNyomtatvanyResource.TanulokBejegyzeseiBeirasiNaploSzama, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 5, 12, 5, 13, ExcelNyomtatvanyResource.TanulokBejegyzeseiKilepesDatuma, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 6, 1, 6, 5, tanuloDataRow["Kepzes"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 6, 6, 6, 9, tanuloDataRow["DiakIgazolvanySzam"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 6, 10, 6, 11, tanuloDataRow["BeirasiNaploSorszam"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 6, 12, 6, 13, tanuloDataRow["KilepesDatum"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, 7, 1, 7, 13, ExcelNyomtatvanyResource.TanulokBejegyzeseiSzocialisEsTanugyiAdatok, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, 8, 1, 8, 13, tanuloDataRow["SocAdat"].ToString(), DocheaderStyleMergedLowerCell);
if (DataSet.Tables[2].AsEnumerable().ToList().Any(r => r.Field<int>("TanuloId") == tanuloId && SDAConvert.ToDateTime(r["KilepesDatum"]) == SDAConvert.ToDateTime(tanuloDataRow["KilepesDatum"])))
{
AddLabelRange(worksheet, 10, 1, 10, 1, ExcelNyomtatvanyResource.TanulokBejegyzeseiBejegyzesekSzamaATanevFolyaman, DocheaderStyle1);
AddLabelCell(worksheet, 10, 2, ExcelNyomtatvanyResource.TanulokBejegyzeseiSzeptember, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 3, ExcelNyomtatvanyResource.TanulokBejegyzeseiOktober, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 4, ExcelNyomtatvanyResource.TanulokBejegyzeseiNovember, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 5, ExcelNyomtatvanyResource.TanulokBejegyzeseiDecember, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 6, ExcelNyomtatvanyResource.TanulokBejegyzeseiJanuar, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 7, ExcelNyomtatvanyResource.TanulokBejegyzeseiFebruar, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 8, ExcelNyomtatvanyResource.TanulokBejegyzeseiMarcius, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 9, ExcelNyomtatvanyResource.TanulokBejegyzeseiAprilis, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 10, ExcelNyomtatvanyResource.TanulokBejegyzeseiMajus, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 11, ExcelNyomtatvanyResource.TanulokBejegyzeseiJunius, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 12, ExcelNyomtatvanyResource.TanulokBejegyzeseiFelev, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, 10, 13, ExcelNyomtatvanyResource.TanulokBejegyzeseiEvVege, DocheaderStyleCenteredWithoutBorder);
//Adatok
foreach (var column in DataSet.Tables[2].Columns)
{
tanuloTable.Columns.Add(column.ToString());
}
foreach (DataRow bejegyzesDataRow in DataSet.Tables[2].Rows)
{
if (Convert.ToInt32(bejegyzesDataRow["TanuloId"]) == tanuloId && SDAConvert.ToDateTime(bejegyzesDataRow["KilepesDatum"]) == SDAConvert.ToDateTime(tanuloDataRow["KilepesDatum"]))
{
tanuloTable.ImportRow(bejegyzesDataRow);
}
}
AddDataTable(worksheet, startRow, 1, tanuloTable, "", NormalStyleCentered, HeaderStyle, cellStyles: cellStyles, dtCols: columns);
startRow += tanuloTable.Rows.Count + 2;
}
worksheet.Column(1).AutoFit(35);
for (var i = 2; i <= columns.Length; ++i)
{
worksheet.Column(i).AutoFit(15);
}
first = false;
sheetIndex++;
}
else
{
AddLabelRange(worksheet, startRow, 1, startRow, 5, ExcelNyomtatvanyResource.TanulokBejegyzeseiTanuloNeve, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, startRow, 6, startRow, 7, ExcelNyomtatvanyResource.TanulokBejegyzeseiOktatasiAzonositoja, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, startRow, 8, startRow, 9, ExcelNyomtatvanyResource.TanulokBejegyzeseiOsztalya, DocheaderStyleMergedUpperCell);
AddLabelRange(worksheet, startRow, 10, startRow, 13, ExcelNyomtatvanyResource.TanulokBejegyzeseiKilepesDatuma, DocheaderStyleMergedUpperCell);
startRow++;
AddLabelRange(worksheet, startRow, 1, startRow, 5, tanuloDataRow["TanuloNeve"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, startRow, 6, startRow, 7, tanuloDataRow["OktAzon"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, startRow, 8, startRow, 9, tanuloDataRow["AktualisOsztaly"].ToString(), DocheaderStyleMergedLowerCell);
AddLabelRange(worksheet, startRow, 10, startRow, 13, tanuloDataRow["KilepesDatum"].ToString(), DocheaderStyleMergedLowerCell);
startRow += 2;
if (DataSet.Tables[2].AsEnumerable().ToList().Any(r => r.Field<int>("TanuloId") == tanuloId && SDAConvert.ToDateTime(r["KilepesDatum"]) == SDAConvert.ToDateTime(tanuloDataRow["KilepesDatum"])))
{
AddLabelCell(worksheet, startRow, 1, ExcelNyomtatvanyResource.TanulokBejegyzeseiBejegyzesekSzamaATanevFolyaman, DocheaderStyle1);
AddLabelCell(worksheet, startRow, 2, ExcelNyomtatvanyResource.TanulokBejegyzeseiSzeptember, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 3, ExcelNyomtatvanyResource.TanulokBejegyzeseiOktober, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 4, ExcelNyomtatvanyResource.TanulokBejegyzeseiNovember, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 5, ExcelNyomtatvanyResource.TanulokBejegyzeseiDecember, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 6, ExcelNyomtatvanyResource.TanulokBejegyzeseiJanuar, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 7, ExcelNyomtatvanyResource.TanulokBejegyzeseiFebruar, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 8, ExcelNyomtatvanyResource.TanulokBejegyzeseiMarcius, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 9, ExcelNyomtatvanyResource.TanulokBejegyzeseiAprilis, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 10, ExcelNyomtatvanyResource.TanulokBejegyzeseiMajus, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 11, ExcelNyomtatvanyResource.TanulokBejegyzeseiJunius, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 12, ExcelNyomtatvanyResource.TanulokBejegyzeseiFelev, DocheaderStyleCenteredWithoutBorder);
AddLabelCell(worksheet, startRow, 13, ExcelNyomtatvanyResource.TanulokBejegyzeseiEvVege, DocheaderStyleCenteredWithoutBorder);
startRow++;
//Adatok
foreach (var column in DataSet.Tables[2].Columns)
{
tanuloTable.Columns.Add(column.ToString());
}
foreach (DataRow bejegyzesDataRow in DataSet.Tables[2].Rows)
{
if (Convert.ToInt32(bejegyzesDataRow["TanuloId"]) == tanuloId && SDAConvert.ToDateTime(bejegyzesDataRow["KilepesDatum"]) == SDAConvert.ToDateTime(tanuloDataRow["KilepesDatum"]))
{
tanuloTable.ImportRow(bejegyzesDataRow);
}
}
AddDataTable(worksheet, startRow, 1, tanuloTable, "", NormalStyleCentered, HeaderStyle, cellStyles: cellStyles, dtCols: columns);
startRow += tanuloTable.Rows.Count + 2;
}
}
}
}
}
}
}