1287 lines
73 KiB
C#
1287 lines
73 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Web;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.Core;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Framework;
|
|
using Kreta.Framework.Caching;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.KretaServer.Exceptions;
|
|
using Kreta.Resources;
|
|
using OfficeOpenXml;
|
|
using static Kreta.Core.Constants;
|
|
|
|
namespace Kreta.BusinessLogic.Logic.TanuloErtekeles
|
|
{
|
|
public class TanuloErtekelesLogicWeb : TanuloErtekelesLogicBase
|
|
{
|
|
public static DataSet GetTanuloErtekelesDataSetByTantargyForGrid(TanuloErtekelesGridHelperCo tanuloErtekelesGridHelperCo)
|
|
{
|
|
List<DictionaryItem> osztalyzatTipusDictionaryItemList = ((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus).GetItemsByType(tanuloErtekelesGridHelperCo.TanevId).OrderBy(x => x.Value).ToList();
|
|
var tanuloErtekelesGridRowList = new List<TanuloErtekelesTanuloListByTantargyGridRowCo>();
|
|
foreach (DataRow dataRow in tanuloErtekelesGridHelperCo.DataSet.Tables[0].Rows)
|
|
{
|
|
int rowId = SDAConvert.ToInt32(dataRow["TanuloId"]);
|
|
if (tanuloErtekelesGridRowList.All(x => x.RowId != rowId))
|
|
{
|
|
var co = new TanuloErtekelesTanuloListByTantargyGridRowCo();
|
|
SetTanuloErtekelesBaseGridRowCo(co, rowId, dataRow, tanuloErtekelesGridHelperCo.FelevVegeDatum);
|
|
|
|
SetTanuloErtekelesTanuloListBaseGridRowCo(co, dataRow);
|
|
|
|
co.ErtkelesMentesseg = SDAConvert.ToBooleanFromTF(dataRow["ErtkelesMentesseg"]);
|
|
co.SzovegesenErtekelheto = SDAConvert.ToBooleanFromTF(dataRow["SzovegesenErtekelheto"]);
|
|
co.MentessegOka = dataRow["MentessegOka"].ToString();
|
|
|
|
tanuloErtekelesGridRowList.Add(co);
|
|
}
|
|
|
|
TanuloErtekelesGridItemCo tanuloErtekelesGridItem = GetTanuloErtekelesGridItem(dataRow, osztalyzatTipusDictionaryItemList);
|
|
if (tanuloErtekelesGridItem != null)
|
|
{
|
|
tanuloErtekelesGridRowList.Single(x => x.RowId == rowId).TanuloErtekelesGridItemList.Add(tanuloErtekelesGridItem);
|
|
}
|
|
}
|
|
|
|
foreach (TanuloErtekelesTanuloListByTantargyGridRowCo tanuloErtekelesGridRow in tanuloErtekelesGridRowList)
|
|
{
|
|
tanuloErtekelesGridRow.Atlag = SetAtlag(tanuloErtekelesGridRow);
|
|
}
|
|
|
|
DataTable gridDataTable = SetTanuloErtekelesBaseGridDataTableBaseColumns(tanuloErtekelesGridHelperCo.Datum?.ToConvertableDateString(), tanuloErtekelesGridHelperCo.IsJegyekAtlagaMegjelenik);
|
|
|
|
SetTanuloErtekelesTanuloListBaseGridDataTableColumns(gridDataTable);
|
|
SetTanuloErtekelesHaviAtlagColumns(gridDataTable);
|
|
|
|
gridDataTable.Columns.Add(new DataColumn("ErtkelesMentesseg", typeof(bool)));
|
|
gridDataTable.Columns.Add(new DataColumn("SzovegesenSemErtekelheto", typeof(bool)));
|
|
gridDataTable.Columns.Add(new DataColumn("MentessegOka", typeof(string)));
|
|
|
|
DataSet gridDataSet = new DataSet();
|
|
gridDataSet.Tables.Add(gridDataTable);
|
|
|
|
foreach (TanuloErtekelesTanuloListByTantargyGridRowCo tanuloErtekelesGridRow in tanuloErtekelesGridRowList)
|
|
{
|
|
DataRow gridDataRow = SetTanuloErtekelesBaseGridDataTableBaseValues(tanuloErtekelesGridHelperCo, gridDataSet, tanuloErtekelesGridRow, tanuloErtekelesGridHelperCo.NaplozarasDatuma, tanuloErtekelesGridHelperCo.ErtekelesModDictionary);
|
|
|
|
SetTanuloErtekelesTanuloListBaseGridDataTableValues(gridDataRow, tanuloErtekelesGridRow);
|
|
SetTanuloErtekelesHaviAtlagValues(tanuloErtekelesGridHelperCo, gridDataRow, tanuloErtekelesGridRow);
|
|
|
|
gridDataRow.SetField("ErtkelesMentesseg", tanuloErtekelesGridRow.ErtkelesMentesseg);
|
|
gridDataRow.SetField("SzovegesenSemErtekelheto", tanuloErtekelesGridRow.SzovegesenSemErtekelheto);
|
|
gridDataRow.SetField("MentessegOka", tanuloErtekelesGridRow.MentessegOka);
|
|
|
|
gridDataTable.Rows.Add(gridDataRow);
|
|
}
|
|
|
|
return gridDataSet;
|
|
}
|
|
|
|
public static DataSet GetTanuloErtekelesDataSetByMagatartasSzorgalomForGrid(TanuloErtekelesGridHelperCo tanuloErtekelesGridHelperCo)
|
|
{
|
|
List<DictionaryItem> osztalyzatTipusDictionaryItemList = ((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus).GetItemsByType(tanuloErtekelesGridHelperCo.TanevId).OrderBy(x => x.Value).ToList();
|
|
var tanuloErtekelesGridRowList = new List<TanuloErtekelesTanuloListByMagatartasSzorgalomGridRowCo>();
|
|
foreach (DataRow dataRow in tanuloErtekelesGridHelperCo.DataSet.Tables[0].Rows)
|
|
{
|
|
int rowId = SDAConvert.ToInt32(dataRow["TanuloId"]);
|
|
if (tanuloErtekelesGridRowList.All(x => x.RowId != rowId))
|
|
{
|
|
var co = new TanuloErtekelesTanuloListByMagatartasSzorgalomGridRowCo();
|
|
SetTanuloErtekelesBaseGridRowCo(co, rowId, dataRow, tanuloErtekelesGridHelperCo.FelevVegeDatum);
|
|
|
|
SetTanuloErtekelesTanuloListBaseGridRowCo(co, dataRow);
|
|
|
|
co.EllatottFeladatTipusId = dataRow.Field<int>("EllatottFeladatTipusId");
|
|
|
|
tanuloErtekelesGridRowList.Add(co);
|
|
}
|
|
|
|
TanuloErtekelesGridItemCo tanuloErtekelesGridItem = GetTanuloErtekelesGridItem(dataRow, osztalyzatTipusDictionaryItemList);
|
|
if (tanuloErtekelesGridItem != null)
|
|
{
|
|
tanuloErtekelesGridRowList.Single(x => x.RowId == rowId).TanuloErtekelesGridItemList.Add(tanuloErtekelesGridItem);
|
|
}
|
|
}
|
|
|
|
foreach (TanuloErtekelesTanuloListByMagatartasSzorgalomGridRowCo tanuloErtekelesGridRow in tanuloErtekelesGridRowList)
|
|
{
|
|
tanuloErtekelesGridRow.Atlag = SetAtlag(tanuloErtekelesGridRow);
|
|
}
|
|
|
|
DataTable gridDataTable = SetTanuloErtekelesBaseGridDataTableBaseColumns(tanuloErtekelesGridHelperCo.Datum?.ToConvertableDateString(), tanuloErtekelesGridHelperCo.IsJegyekAtlagaMegjelenik);
|
|
|
|
SetTanuloErtekelesTanuloListBaseGridDataTableColumns(gridDataTable);
|
|
|
|
gridDataTable.Columns.Add(new DataColumn("EllatottFeladatTipusId", typeof(int)));
|
|
|
|
DataSet gridDataSet = new DataSet();
|
|
gridDataSet.Tables.Add(gridDataTable);
|
|
|
|
foreach (TanuloErtekelesTanuloListByMagatartasSzorgalomGridRowCo tanuloErtekelesGridRow in tanuloErtekelesGridRowList)
|
|
{
|
|
DataRow gridDataRow = SetTanuloErtekelesBaseGridDataTableBaseValues(tanuloErtekelesGridHelperCo, gridDataSet, tanuloErtekelesGridRow, tanuloErtekelesGridHelperCo.NaplozarasDatuma, tanuloErtekelesGridHelperCo.ErtekelesModDictionary);
|
|
|
|
SetTanuloErtekelesTanuloListBaseGridDataTableValues(gridDataRow, tanuloErtekelesGridRow);
|
|
|
|
gridDataRow.SetField("EllatottFeladatTipusId", tanuloErtekelesGridRow.EllatottFeladatTipusId);
|
|
|
|
gridDataTable.Rows.Add(gridDataRow);
|
|
}
|
|
|
|
return gridDataSet;
|
|
}
|
|
|
|
public static DataSet GetTanuloErtekelesDataSetByTanuloForGrid(TanuloErtekelesGridHelperCo tanuloErtekelesGridHelperCo)
|
|
{
|
|
List<DictionaryItem> targyKategoriaTipusDictionaryItemList = ((int)GeneratedAdatszotarTipusEnum.TargyKategoriaTipus).GetItemsByType(tanuloErtekelesGridHelperCo.TanevId);
|
|
List<DictionaryItem> osztalyzatTipusDictionaryItemList = ((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus).GetItemsByType(tanuloErtekelesGridHelperCo.TanevId).OrderBy(x => x.Value).ToList();
|
|
var tanuloErtekelesGridRowList = new List<TanuloErtekelesTantargyListByTanuloGridRowCo>();
|
|
foreach (DataRow dataRow in tanuloErtekelesGridHelperCo.DataSet.Tables[0].Rows)
|
|
{
|
|
int rowId = SDAConvert.ToInt32(dataRow["TantargyId"]);
|
|
if (tanuloErtekelesGridRowList.All(x => x.RowId != rowId))
|
|
{
|
|
var co = new TanuloErtekelesTantargyListByTanuloGridRowCo();
|
|
SetTanuloErtekelesBaseGridRowCo(co, rowId, dataRow, tanuloErtekelesGridHelperCo.FelevVegeDatum);
|
|
|
|
SetTanuloErtekelesTantargyListBaseGridRowCo(co, dataRow, targyKategoriaTipusDictionaryItemList);
|
|
|
|
tanuloErtekelesGridRowList.Add(co);
|
|
}
|
|
|
|
TanuloErtekelesGridItemCo tanuloErtekelesGridItem = GetTanuloErtekelesGridItem(dataRow, osztalyzatTipusDictionaryItemList, tanuloErtekelesGridHelperCo.TanuloErtekelesVisibilityCo);
|
|
if (tanuloErtekelesGridItem != null)
|
|
{
|
|
tanuloErtekelesGridRowList.Single(x => x.RowId == rowId).TanuloErtekelesGridItemList.Add(tanuloErtekelesGridItem);
|
|
}
|
|
}
|
|
|
|
//NOTE: Az alábbiak szerint kell sorrendezni a tantárgyakat:
|
|
// - A tantárgyak tantárgykategóriája szerint, ha altárgy, akkor a főtárgy tantárgykategóriája szerint.
|
|
// - A tantárgyak neve szerinti ABC sorrendben, ha altárgy, akkor a főtárgy neve szerinti ABC sorrendben.
|
|
// - A főtárgyakat az altárgyak elé soroljuk.
|
|
// - A tantárgyak neve szerinti ABC sorrendben(ez a rész a főtárgyak alatt lévő altárgyakat fogja rendezni).
|
|
List<TanuloErtekelesTantargyListByTanuloGridRowCo> orderedTanuloErtekelesGridRowList = tanuloErtekelesGridRowList
|
|
.OrderBy(x => x.IsFotargy ? x.TantargyKategoriaOrder ?? 10000 : x.FotargyTantargyKategoriaOrder ?? 10000)
|
|
.ThenBy(x => x.IsFotargy ? x.TantargyNev : x.FotargyNev)
|
|
.ThenBy(x => x.IsFotargy ? 0 : 1)
|
|
.ThenBy(x => x.TantargyNev)
|
|
.ToList();
|
|
|
|
foreach (TanuloErtekelesTantargyListByTanuloGridRowCo tanuloErtekelesGridRow in orderedTanuloErtekelesGridRowList)
|
|
{
|
|
tanuloErtekelesGridRow.Atlag = SetAtlag(tanuloErtekelesGridRow);
|
|
}
|
|
|
|
DataTable gridDataTable = SetTanuloErtekelesBaseGridDataTableBaseColumns(null, tanuloErtekelesGridHelperCo.IsJegyekAtlagaMegjelenik);
|
|
|
|
SetTanuloErtekelesTantargyListBaseGridDataTableColumns(gridDataTable);
|
|
SetTanuloErtekelesHaviAtlagColumns(gridDataTable);
|
|
|
|
gridDataTable.Columns.Add(new DataColumn("TantargyIsTanulmanyiAtlagbaNemSzamit", typeof(bool)));
|
|
|
|
DataSet gridDataSet = new DataSet();
|
|
gridDataSet.Tables.Add(gridDataTable);
|
|
|
|
foreach (TanuloErtekelesTantargyListByTanuloGridRowCo tanuloErtekelesGridRow in orderedTanuloErtekelesGridRowList)
|
|
{
|
|
DataRow gridDataRow = SetTanuloErtekelesBaseGridDataTableBaseValues(tanuloErtekelesGridHelperCo, gridDataSet, tanuloErtekelesGridRow, tanuloErtekelesGridHelperCo.NaplozarasDatuma, tanuloErtekelesGridHelperCo.ErtekelesModDictionary, false);
|
|
|
|
SetTanuloErtekelesTantargyListBaseGridDataTableValues(gridDataRow, tanuloErtekelesGridRow);
|
|
SetTanuloErtekelesHaviAtlagValues(tanuloErtekelesGridHelperCo, gridDataRow, tanuloErtekelesGridRow);
|
|
|
|
gridDataRow.SetField("TantargyIsTanulmanyiAtlagbaNemSzamit", tanuloErtekelesGridRow.TanuloErtekelesGridItemList.Any(e => e.IsTanulmanyiAtlagbaNemSzamit == true));
|
|
|
|
gridDataTable.Rows.Add(gridDataRow);
|
|
}
|
|
|
|
return gridDataSet;
|
|
}
|
|
|
|
public static DataSet GetTanuloErtekelesDataSetByFotargyAltargyForGrid(TanuloErtekelesGridHelperCo tanuloErtekelesGridHelperCo)
|
|
{
|
|
List<DictionaryItem> targyKategoriaTipusDictionaryItemList = ((int)GeneratedAdatszotarTipusEnum.TargyKategoriaTipus).GetItemsByType(tanuloErtekelesGridHelperCo.TanevId);
|
|
List<DictionaryItem> osztalyzatTipusDictionaryItemList = ((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus).GetItemsByType(tanuloErtekelesGridHelperCo.TanevId).OrderBy(x => x.Value).ToList();
|
|
var tanuloErtekelesGridRowList = new List<TanuloErtekelesTantargyListByFotargyAltargyGridRowCo>();
|
|
foreach (DataRow dataRow in tanuloErtekelesGridHelperCo.DataSet.Tables[0].Rows)
|
|
{
|
|
int rowId = SDAConvert.ToInt32(dataRow["TantargyId"]);
|
|
if (tanuloErtekelesGridRowList.All(x => x.RowId != rowId))
|
|
{
|
|
var co = new TanuloErtekelesTantargyListByFotargyAltargyGridRowCo();
|
|
SetTanuloErtekelesBaseGridRowCo(co, rowId, dataRow, tanuloErtekelesGridHelperCo.FelevVegeDatum);
|
|
|
|
SetTanuloErtekelesTantargyListBaseGridRowCo(co, dataRow, targyKategoriaTipusDictionaryItemList);
|
|
|
|
tanuloErtekelesGridRowList.Add(co);
|
|
}
|
|
|
|
TanuloErtekelesGridItemCo tanuloErtekelesGridItem = GetTanuloErtekelesGridItem(dataRow, osztalyzatTipusDictionaryItemList);
|
|
if (tanuloErtekelesGridItem != null)
|
|
{
|
|
tanuloErtekelesGridRowList.Single(x => x.RowId == rowId).TanuloErtekelesGridItemList.Add(tanuloErtekelesGridItem);
|
|
}
|
|
}
|
|
|
|
//NOTE: Az alábbiak szerint kell sorrendezni a tantárgyakat:
|
|
// - Ha van főtárgy a listában az kerül előre(Itt csak és kizárólag egy főtárgy lehet).
|
|
// - A tantárgyak neve szerinti ABC sorrendben(ez a rész a főtárgyak alatt lévő altárgyakat fogja rendezni).
|
|
List<TanuloErtekelesTantargyListByFotargyAltargyGridRowCo> orderedTanuloErtekelesGridRowList = tanuloErtekelesGridRowList
|
|
.OrderBy(x => x.IsFotargy ? 0 : 1)
|
|
.ThenBy(x => x.TantargyNev)
|
|
.ToList();
|
|
|
|
foreach (TanuloErtekelesTantargyListByFotargyAltargyGridRowCo tanuloErtekelesGridRow in orderedTanuloErtekelesGridRowList)
|
|
{
|
|
tanuloErtekelesGridRow.Atlag = SetAtlag(tanuloErtekelesGridRow);
|
|
}
|
|
|
|
DataTable gridDataTable = SetTanuloErtekelesBaseGridDataTableBaseColumns(tanuloErtekelesGridHelperCo.Datum?.ToConvertableDateString(), tanuloErtekelesGridHelperCo.IsJegyekAtlagaMegjelenik);
|
|
|
|
SetTanuloErtekelesTantargyListBaseGridDataTableColumns(gridDataTable);
|
|
|
|
DataSet gridDataSet = new DataSet();
|
|
gridDataSet.Tables.Add(gridDataTable);
|
|
|
|
foreach (TanuloErtekelesTantargyListByFotargyAltargyGridRowCo tanuloErtekelesGridRow in orderedTanuloErtekelesGridRowList)
|
|
{
|
|
DataRow gridDataRow = SetTanuloErtekelesBaseGridDataTableBaseValues(tanuloErtekelesGridHelperCo, gridDataSet, tanuloErtekelesGridRow, tanuloErtekelesGridHelperCo.NaplozarasDatuma, tanuloErtekelesGridHelperCo.ErtekelesModDictionary, false, false);
|
|
|
|
SetTanuloErtekelesTantargyListBaseGridDataTableValues(gridDataRow, tanuloErtekelesGridRow);
|
|
|
|
gridDataTable.Rows.Add(gridDataRow);
|
|
}
|
|
|
|
return gridDataSet;
|
|
}
|
|
|
|
public static DataSet GetDolgozatErtekelesDataSetForGrid(DolgozatGridHelperCo dolgozatGridHelperCo)
|
|
{
|
|
int rowId = 1;
|
|
dolgozatGridHelperCo.DataSet.Tables[0].Columns.Add(new DataColumn("RowId", typeof(int)));
|
|
foreach (DataRow dataRow in dolgozatGridHelperCo.DataSet.Tables[0].Rows)
|
|
{
|
|
dataRow.SetField("RowId", SDAConvert.ToInt32(rowId));
|
|
rowId++;
|
|
}
|
|
|
|
return dolgozatGridHelperCo.DataSet;
|
|
}
|
|
|
|
public static void SetTanuloErtekelesDataSetForDetailGridDataTable(DataTable dataTable, int ertekelesMegjelenesFajtaEnumId, DateTime naplozarasDatuma, int tanevId)
|
|
{
|
|
dataTable.Columns.Add("ModosithatoByNaplozaras", typeof(bool));
|
|
List<DataRow> dataRowList = dataTable.Rows.Cast<DataRow>().ToList();
|
|
foreach (var dataRow in dataRowList)
|
|
{
|
|
dataRow["ModosithatoByNaplozaras"] = naplozarasDatuma <= DateTime.Parse(dataRow["Datum"].ToString());
|
|
}
|
|
|
|
switch (ertekelesMegjelenesFajtaEnumId)
|
|
{
|
|
case (int)ErtekelesMegjelenesFajtaEnum.Tantargy:
|
|
dataTable.Columns.Add("ErtekelesText");
|
|
List<DataRow> ertekelesRows = dataRowList;
|
|
foreach (var row in ertekelesRows)
|
|
{
|
|
row["ErtekelesText"] = GetErtekelesText(row, tanevId);
|
|
}
|
|
|
|
break;
|
|
|
|
case (int)ErtekelesMegjelenesFajtaEnum.MagatartasSzorgalom:
|
|
dataTable.Columns.Add("MagatartasText");
|
|
dataTable.Columns.Add("SzorgalomText");
|
|
List<DataRow> magatartasSzorgalomRows = dataRowList;
|
|
foreach (var row in magatartasSzorgalomRows)
|
|
{
|
|
row["MagatartasText"] = GetMagatartasText(row, tanevId);
|
|
row["SzorgalomText"] = GetSzorgalomText(row, tanevId);
|
|
}
|
|
|
|
break;
|
|
|
|
case (int)ErtekelesMegjelenesFajtaEnum.Tanulo:
|
|
dataTable.Columns.Add("TanuloErtekelesText");
|
|
List<DataRow> tanuloErtekelesRowList = dataRowList;
|
|
foreach (var row in tanuloErtekelesRowList)
|
|
{
|
|
row["TanuloErtekelesText"] = GetTanuloErtekelesText(row, tanevId);
|
|
}
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
public static void SetTanuloErtekelesListGridDataSet(DataSet dataSet, int tanevId, bool pErtekelesTextTemaval = false)
|
|
{
|
|
DataTable dataTable = dataSet.Tables[0];
|
|
dataTable.Columns.Add("TanuloErtekelesText");
|
|
foreach (DataRow dataRow in dataTable.Rows.Cast<DataRow>().ToList())
|
|
{
|
|
dataRow["TanuloErtekelesText"] = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(GetTanuloErtekelesText(dataRow, tanevId, pErtekelesTextTemaval));
|
|
dataRow["ErtekelesModId_DNAME"] = string.IsNullOrWhiteSpace(dataRow["ErtekelesModId_DNAME"].ToString()) ? "-" : dataRow["ErtekelesModId_DNAME"];
|
|
}
|
|
}
|
|
|
|
public static QuadrupleList<string, string, string, string> GetTanuloLegfrissebbTanuloErtekelesList(DataSet tanuloErtekelesDataSet, List<int> egyszerAdhatoErtekelesTipusIds)
|
|
{
|
|
var result = new QuadrupleList<string, string, string, string>();
|
|
foreach (DataRow tanuloErtekeles in tanuloErtekelesDataSet.Tables[0].AsEnumerable())
|
|
{
|
|
if (tanuloErtekeles["C_ERTEKELESOSZTALYZATID"] != DBNull.Value)
|
|
{
|
|
result.Add(
|
|
GetOsztalyzatTextShort(SDAConvert.ToInt32(tanuloErtekeles["C_ERTEKELESOSZTALYZATID"]), egyszerAdhatoErtekelesTipusIds, tipusId: SDAConvert.ToInt32(tanuloErtekeles["C_TIPUSID"]), tema: SDAConvert.ToString(tanuloErtekeles["C_ERTEKELESTEMA"])),
|
|
SDAConvert.ToString(tanuloErtekeles["C_ROVIDNEV"]),
|
|
SDAConvert.ToDateTime(tanuloErtekeles["C_DATUM"])?.ToString("MMMM d."),
|
|
SDAConvert.ToString(tanuloErtekeles["ID"]));
|
|
continue;
|
|
}
|
|
|
|
if (tanuloErtekeles["C_ERTEKELESSZAZALEK"] != DBNull.Value)
|
|
{
|
|
result.Add(
|
|
$"{SDAConvert.ToInt32(tanuloErtekeles["C_ERTEKELESSZAZALEK"])}%",
|
|
SDAConvert.ToString(tanuloErtekeles["C_ROVIDNEV"]),
|
|
SDAConvert.ToDateTime(tanuloErtekeles["C_DATUM"])?.ToString("MMMM d."),
|
|
SDAConvert.ToString(tanuloErtekeles["ID"]));
|
|
continue;
|
|
}
|
|
|
|
if (tanuloErtekeles["C_ERTEKELESSZOVEG"] != DBNull.Value)
|
|
{
|
|
result.Add(
|
|
"Szöveges",
|
|
SDAConvert.ToString(tanuloErtekeles["C_ROVIDNEV"]),
|
|
SDAConvert.ToDateTime(tanuloErtekeles["C_DATUM"])?.ToString("MMMM d."),
|
|
SDAConvert.ToString(tanuloErtekeles["ID"]));
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public static MemoryStream GetTanulokJegyeiByTipusIdExcelExport(DataTable dataTable, int tipusId)
|
|
{
|
|
var memoryStream = new MemoryStream();
|
|
|
|
using (var excelPackage = new ExcelPackage(memoryStream))
|
|
{
|
|
ExcelWorksheet excelWorksheet;
|
|
switch (tipusId)
|
|
{
|
|
case (int)ErtekelesTipusEnum.evvegi_jegy_ertekeles:
|
|
excelWorksheet = excelPackage.Workbook.Worksheets.Add(TanuloErtekelesResource.TanulokEvVegiJegyei);
|
|
break;
|
|
case (int)ErtekelesTipusEnum.felevi_jegy_ertekeles:
|
|
excelWorksheet = excelPackage.Workbook.Worksheets.Add(TanuloErtekelesResource.TanulokFeleviJegyei);
|
|
break;
|
|
default:
|
|
excelWorksheet = excelPackage.Workbook.Worksheets.Add(TanuloErtekelesResource.TanulokEvkoziJegyei);
|
|
break;
|
|
}
|
|
|
|
excelWorksheet.Cells[1, 1].LoadFromDataTable(dataTable, true);
|
|
ExportLogic.SetHeaderStyles(excelWorksheet.Cells[1, 1, 1, dataTable.Columns.Count]);
|
|
|
|
excelWorksheet.Cells.AutoFitColumns();
|
|
excelPackage.Save();
|
|
}
|
|
|
|
memoryStream.Position = 0;
|
|
return memoryStream;
|
|
}
|
|
|
|
private static void SetTanuloErtekelesTanuloListBaseGridRowCo(TanuloErtekelesTanuloListBaseGridRowCo co, DataRow dataRow)
|
|
{
|
|
co.TanuloNev = dataRow["TanuloNev"].ToString();
|
|
co.TanuloNevElotagNelkul = dataRow["TanuloNevElotagNelkul"].ToString();
|
|
co.AnyjaNeve = dataRow["AnyjaNeve"].ToString();
|
|
co.SzuletesiIdo = SDAConvert.ToDateTime(dataRow["SzuletesiIdo"]).Value;
|
|
co.OsztalyNev = dataRow["OsztalyNev"].ToString();
|
|
co.FeladatKategoriaId = SDAConvert.ToInt32(dataRow["FeladatKategoriaId"]);
|
|
co.AmiFotargy = dataRow.Field<string>("AmiFotargyId_DNAME");
|
|
co.AmiTantargyKotelezoseg = dataRow.Field<string>("AmiTantargyKotelezosegId_DNAME");
|
|
co.EvfolyamNev = dataRow.Field<string>("EvfolyamId_DNAME");
|
|
co.AmiTagozat = dataRow.Field<string>("AmiTagozatId_DNAME");
|
|
}
|
|
|
|
private static void SetTanuloErtekelesTanuloListBaseGridDataTableColumns(DataTable gridDataTable)
|
|
{
|
|
gridDataTable.Columns.Add(new DataColumn("TanuloNev", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("TanuloNevElotagNelkul", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("AnyjaNeve", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("SzuletesiIdo", typeof(DateTime)));
|
|
gridDataTable.Columns.Add(new DataColumn("SzuletesiIdoFormatted", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("OsztalyNev", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("FeladatKategoriaId", Nullable.GetUnderlyingType(typeof(int)) ?? typeof(int)));
|
|
gridDataTable.Columns.Add(new DataColumn("AmiTagozat", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("AmiFotargy", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("AmiTantargyKotelezoseg", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("Evfolyam", typeof(string)));
|
|
}
|
|
|
|
private static void SetTanuloErtekelesTanuloListBaseGridDataTableValues(DataRow gridDataRow, TanuloErtekelesTanuloListBaseGridRowCo tanuloErtekelesGridRow)
|
|
{
|
|
gridDataRow.SetField("TanuloNev", tanuloErtekelesGridRow.TanuloNev);
|
|
gridDataRow.SetField("TanuloNevElotagNelkul", tanuloErtekelesGridRow.TanuloNevElotagNelkul);
|
|
gridDataRow.SetField("AnyjaNeve", tanuloErtekelesGridRow.AnyjaNeve);
|
|
gridDataRow.SetField("SzuletesiIdo", tanuloErtekelesGridRow.SzuletesiIdo);
|
|
gridDataRow.SetField("SzuletesiIdoFormatted", tanuloErtekelesGridRow.SzuletesiIdoFormatted);
|
|
gridDataRow.SetField("OsztalyNev", tanuloErtekelesGridRow.OsztalyNev);
|
|
gridDataRow.SetField("FeladatKategoriaId", tanuloErtekelesGridRow.FeladatKategoriaId);
|
|
gridDataRow.SetField("AmiTagozat", tanuloErtekelesGridRow.AmiTagozat);
|
|
gridDataRow.SetField("AmiFotargy", tanuloErtekelesGridRow.AmiFotargy);
|
|
gridDataRow.SetField("AmiTantargyKotelezoseg", tanuloErtekelesGridRow.AmiTantargyKotelezoseg);
|
|
gridDataRow.SetField("Evfolyam", tanuloErtekelesGridRow.EvfolyamNev);
|
|
}
|
|
|
|
private static void SetTanuloErtekelesTantargyListBaseGridRowCo(TanuloErtekelesTantargyListBaseGridRowCo co, DataRow dataRow, List<DictionaryItem> targyKategoriaTipusDictionaryItemList)
|
|
{
|
|
co.TantargyNev = dataRow["TantargyNev"].ToString();
|
|
int? tantargyKategoriaId = SDAConvert.ToNullableInt32(dataRow["TantargyKategoriaId"]);
|
|
co.TantargyKategoriaId = tantargyKategoriaId;
|
|
co.TantargyKategoriaOrder = co.IsMagatartasSzorgalom ? 0 : tantargyKategoriaId.IsEntityId() ? targyKategoriaTipusDictionaryItemList.Single(x => x.Id == tantargyKategoriaId.Value).Order : null;
|
|
|
|
co.FotargyId = SDAConvert.ToNullableInt32(dataRow["FotargyId"]);
|
|
co.FotargyNev = dataRow["FotargyNev"].ToString();
|
|
int? fotargyTantargyKategoriaId = SDAConvert.ToNullableInt32(dataRow["FotargyTantargyKategoriaId"]);
|
|
co.FotargyTantargyKategoriaId = fotargyTantargyKategoriaId;
|
|
co.FotargyTantargyKategoriaOrder = fotargyTantargyKategoriaId.IsEntityId() ? targyKategoriaTipusDictionaryItemList.Single(x => x.Id == fotargyTantargyKategoriaId.Value).Order : null;
|
|
}
|
|
|
|
private static void SetTanuloErtekelesTantargyListBaseGridDataTableColumns(DataTable gridDataTable)
|
|
{
|
|
gridDataTable.Columns.Add(new DataColumn("TantargyNev", typeof(string)));
|
|
}
|
|
|
|
private static void SetTanuloErtekelesTantargyListBaseGridDataTableValues(DataRow gridDataRow, TanuloErtekelesTantargyListBaseGridRowCo tanuloErtekelesGridRow)
|
|
{
|
|
gridDataRow.SetField("TantargyNev", tanuloErtekelesGridRow.TantargyNev);
|
|
}
|
|
|
|
private static void SetTanuloErtekelesBaseGridRowCo(TanuloErtekelesBaseGridRowCo co, int rowId, DataRow dataRow, DateTime felevVegeDatum)
|
|
{
|
|
co.RowId = rowId;
|
|
co.TanuloId = SDAConvert.ToNullableInt32(dataRow["TanuloId"]);
|
|
co.TantargyId = SDAConvert.ToNullableInt32(dataRow["TantargyId"]);
|
|
co.FelevVegeDatum = felevVegeDatum;
|
|
co.IsMagatartasSzorgalom = SDAConvert.ToBooleanFromTF(dataRow["IsMagatartasSzorgalom"]);
|
|
co.TanuloErtekelesGridItemList = new List<TanuloErtekelesGridItemCo>();
|
|
}
|
|
|
|
private static DataTable SetTanuloErtekelesBaseGridDataTableBaseColumns(string datumDefaultValueString, bool isJegyekAtlagaMegjelenik)
|
|
{
|
|
DataTable gridDataTable = new DataTable();
|
|
|
|
gridDataTable.Columns.Add(new DataColumn("ID", typeof(int)));
|
|
gridDataTable.Columns.Add(new DataColumn("TanuloId", Nullable.GetUnderlyingType(typeof(int)) ?? typeof(int)));
|
|
gridDataTable.Columns.Add(new DataColumn("TantargyId", Nullable.GetUnderlyingType(typeof(int)) ?? typeof(int)));
|
|
gridDataTable.Columns.Add(new DataColumn("Szeptember", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("Oktober", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("November", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("December", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("JanuarI", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("I", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("JanuarII", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("Februar", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("Marcius", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("Aprilis", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("Majus", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("Junius", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("II", typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn("Atlag", typeof(double)));
|
|
gridDataTable.Columns.Add(new DataColumn("IsJegyekAtlagaMegjelenik", typeof(bool)));
|
|
gridDataTable.Columns["IsJegyekAtlagaMegjelenik"].DefaultValue = isJegyekAtlagaMegjelenik;
|
|
gridDataTable.Columns.Add(new DataColumn("Datum", Nullable.GetUnderlyingType(typeof(DateTime)) ?? typeof(DateTime)));
|
|
gridDataTable.Columns["Datum"].DefaultValue = datumDefaultValueString;
|
|
return gridDataTable;
|
|
}
|
|
|
|
private static DataRow SetTanuloErtekelesBaseGridDataTableBaseValues(TanuloErtekelesGridHelperCo tanuloErtekelesGridHelperCo, DataSet gridDataSet, TanuloErtekelesBaseGridRowCo tanuloErtekelesGridRow, DateTime naplozarasDatuma, Dictionary<int, ErtekelesModCo> ertekelesModDictionary, bool hasClickEvent = true, bool isMainGrid = true)
|
|
{
|
|
DataRow gridDataRow = gridDataSet.Tables[0].NewRow();
|
|
|
|
gridDataRow.SetField("ID", tanuloErtekelesGridRow.RowId);
|
|
int? tanuloId = tanuloErtekelesGridRow.TanuloId;
|
|
gridDataRow.SetField("TanuloId", tanuloId);
|
|
gridDataRow.SetField("TantargyId", tanuloErtekelesGridRow.TantargyId);
|
|
bool isMagatartasSzorgalom = tanuloErtekelesGridRow.IsMagatartasSzorgalom;
|
|
gridDataRow.SetField("Szeptember", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Szeptember, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("Oktober", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Oktober, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("November", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.November, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("December", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.December, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("JanuarI", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.JanuarI, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
var iTanuloErtekelesGridRow = tanuloErtekelesGridRow.I == null ? new List<TanuloErtekelesGridItemCo>() : new List<TanuloErtekelesGridItemCo> { tanuloErtekelesGridRow.I };
|
|
gridDataRow.SetField("I", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, iTanuloErtekelesGridRow, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("JanuarII", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.JanuarII, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("Februar", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Februar, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("Marcius", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Marcius, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("Aprilis", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Aprilis, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("Majus", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Majus, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("Junius", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Junius, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
var iiTanuloErtekelesGridRow = tanuloErtekelesGridRow.II == null ? new List<TanuloErtekelesGridItemCo>() : new List<TanuloErtekelesGridItemCo> { tanuloErtekelesGridRow.II };
|
|
gridDataRow.SetField("II", AddTanuloErtelelesekSpanToData(tanuloErtekelesGridHelperCo, iiTanuloErtekelesGridRow, naplozarasDatuma, ertekelesModDictionary, tanuloId, isMagatartasSzorgalom, hasClickEvent, isMainGrid));
|
|
gridDataRow.SetField("Atlag", tanuloErtekelesGridRow.Atlag);
|
|
|
|
return gridDataRow;
|
|
}
|
|
|
|
private static TanuloErtekelesGridItemCo GetTanuloErtekelesGridItem(DataRow dataRow, List<DictionaryItem> osztalyzatTipusDictionaryItemList, TanuloErtekelesVisibilityCo tanuloErtekelesVisibilityCo = null)
|
|
{
|
|
int? id = SDAConvert.ToNullableInt32(dataRow["ID"]);
|
|
//NOTE: Ha nincs id, akkor az azt jelenti, hogy az adott sornak(akár tanuló, akár tantárgy) nincs értékelése, de magát az üres sort meg kell jelenítenünk, ezért null-al térünk vissza!
|
|
if (!id.IsEntityId())
|
|
{
|
|
return null;
|
|
}
|
|
|
|
int tipusId = SDAConvert.ToInt32(dataRow["TipusId"]);
|
|
DateTime created = SDAConvert.ToDateTime(dataRow["Created"]).Value;
|
|
|
|
//NOTE: Ha tanuló nézet, csak akkor kell vizsgálni a többi szűrő feltételt, különben vissza kell adnunk az értékelést mindenképpen.
|
|
if (tanuloErtekelesVisibilityCo != null && tanuloErtekelesVisibilityCo.IsTanuloView)
|
|
{
|
|
bool isErtesitesElkuldve = SDAConvert.ToBooleanFromTF(dataRow["IsErtesitesElkuldve"]);
|
|
//NOTE: Ha nincs elküldve az értesítés, csak akkor kell vizsgálni a többi szűrő feltételt, különben vissza kell adnunk az értékelést mindenképpen.
|
|
if (!isErtesitesElkuldve)
|
|
{
|
|
//NOTE: Nem adjuk vissza a tanuló értékelést, ha...
|
|
// - az étrékelés típusa bármelyik egyszer adható értékelés és el kell rejtenünk.
|
|
// - a megjelenítési időpont(created + késleltés óraszám) későbbi, mint a DateTime.Now.
|
|
if (tipusId == (int)ErtekelesTipusEnum.I_ne_jegy_ertekeles && tanuloErtekelesVisibilityCo.IsINegyedevesJegyHidden ||
|
|
tipusId == (int)ErtekelesTipusEnum.II_ne_jegy_ertekeles && tanuloErtekelesVisibilityCo.IsIiNegyedevesJegyHidden ||
|
|
tipusId == (int)ErtekelesTipusEnum.felevi_jegy_ertekeles && tanuloErtekelesVisibilityCo.IsFeleviJegyHidden ||
|
|
tipusId == (int)ErtekelesTipusEnum.III_ne_jegy_ertekeles && tanuloErtekelesVisibilityCo.IsIiiNegyedevesJegyHidden ||
|
|
tipusId == (int)ErtekelesTipusEnum.IV_ne_jegy_ertekeles && tanuloErtekelesVisibilityCo.IsIvNegyedevesJegyHidden ||
|
|
tipusId == (int)ErtekelesTipusEnum.evvegi_jegy_ertekeles && tanuloErtekelesVisibilityCo.IsEvvegiJegyHidden ||
|
|
created.AddHours(tanuloErtekelesVisibilityCo.KesleltetettMegjelenitesOraszam) > DateTime.Now)
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
var result = new TanuloErtekelesGridItemCo
|
|
{
|
|
Id = id.Value,
|
|
Datum = SDAConvert.ToDateTime(dataRow["Datum"]).Value,
|
|
RogzitesDatum = SDAConvert.ToDateTime(dataRow["RogzitesDatum"]).Value,
|
|
TipusId = tipusId,
|
|
ErtekeloNyomtatasiNev = dataRow["ErtekeloNyomtatasiNev"].ToString(),
|
|
Modosithato = SDAConvert.ToBooleanFromTF(dataRow["Modosithato"]),
|
|
Created = created
|
|
};
|
|
bool isMagatartasSzorgalom = SDAConvert.ToBooleanFromTF(dataRow["IsMagatartasSzorgalom"]);
|
|
if (!isMagatartasSzorgalom)
|
|
{
|
|
int? ertekelesOsztalyzatId = SDAConvert.ToNullableInt32(dataRow["ErtekelesOsztalyzatId"]);
|
|
result.ErtekelesOsztalyzatId = ertekelesOsztalyzatId;
|
|
result.ErtekelesOsztalyzat = ertekelesOsztalyzatId.IsEntityId() ? osztalyzatTipusDictionaryItemList.Single(x => x.Id == ertekelesOsztalyzatId.Value).Value : null;
|
|
result.Suly = SDAConvert.ToNullableInt32(dataRow["Suly"]);
|
|
result.ErtekelesSzoveg = dataRow["ErtekelesSzoveg"].ToString();
|
|
result.ErtekelesSzovegRovidNev = dataRow["ErtekelesSzovegRovidNev"].ToString();
|
|
result.ErtekelesSzazalek = SDAConvert.ToNullableInt32(dataRow["ErtekelesSzazalek"]);
|
|
result.ErtekelesModId = SDAConvert.ToNullableInt32(dataRow["ErtekelesModId"]);
|
|
result.ErtekelesTema = dataRow["ErtekelesTema"].ToString();
|
|
result.IsTanulmanyiAtlagbaNemSzamit = SDAConvert.ToNullableBoolean(dataRow["IsTanulmanyiAtlagbaNemSzamit_BOOL"]);
|
|
}
|
|
else
|
|
{
|
|
result.MagatartasOsztalyzatId = SDAConvert.ToNullableInt32(dataRow["MagatartasOsztalyzatId"]);
|
|
result.MagatartasSzoveg = dataRow["MagatartasSzoveg"].ToString();
|
|
result.MagatartasSzovegRovidNev = dataRow["MagatartasSzovegRovidNev"].ToString();
|
|
result.MagatartasErtekId = SDAConvert.ToNullableInt32(dataRow["MagatartasErtekId"]);
|
|
|
|
result.SzorgalomOsztalyzatId = SDAConvert.ToNullableInt32(dataRow["SzorgalomOsztalyzatId"]);
|
|
result.SzorgalomSzoveg = dataRow["SzorgalomSzoveg"].ToString();
|
|
result.SzorgalomSzovegRovidNev = dataRow["SzorgalomSzovegRovidNev"].ToString();
|
|
result.SzorgalomErtekId = SDAConvert.ToNullableInt32(dataRow["SzorgalomErtekId"]);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private static double? SetAtlag(TanuloErtekelesBaseGridRowCo tanuloErtekelesGridRow)
|
|
{
|
|
List<TanuloErtekelesGridItemCo> atlagolhatoTanuloErtekelesek = tanuloErtekelesGridRow.TanuloErtekelesGridItemList
|
|
.Where(x => x.TipusId == (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles && x.ErtekelesOsztalyzat.IsNotNullAndPositive()
|
|
&& (!x.IsTanulmanyiAtlagbaNemSzamit.HasValue || !x.IsTanulmanyiAtlagbaNemSzamit.Value)).ToList();
|
|
double? result = atlagolhatoTanuloErtekelesek.Any() ? atlagolhatoTanuloErtekelesek.WeightedAverage(x => x.ErtekelesOsztalyzat.Value, x => x.Suly ?? 100, 2) : null;
|
|
return result;
|
|
}
|
|
|
|
private static string AddTanuloErtelelesekSpanToData(TanuloErtekelesGridHelperCo tanuloErtekelesGridHelperCo, List<TanuloErtekelesGridItemCo> tanuloErtekelesGridItemList, DateTime naplozarasDatuma, Dictionary<int, ErtekelesModCo> ertekelesModDictionary, int? tanuloId, bool isMagatartasSzorgalom, bool hasClickEvent = true, bool isMainGrid = true)
|
|
{
|
|
var result = new StringBuilder();
|
|
foreach (TanuloErtekelesGridItemCo tanuloErtekelesGridItem in tanuloErtekelesGridItemList)
|
|
{
|
|
if (result.Length != 0)
|
|
{
|
|
result.Append(' ');
|
|
}
|
|
|
|
result.Append("<span");
|
|
|
|
result.AppendFormat(" data-tanuloertekelesid='{0}'", tanuloErtekelesGridItem.Id);
|
|
|
|
result.AppendFormat(" data-datum='{0}'", tanuloErtekelesGridItem.Datum.ToShortDateString());
|
|
|
|
bool modosithato = hasClickEvent && tanuloErtekelesGridItem.Modosithato && naplozarasDatuma <= tanuloErtekelesGridItem.Datum;
|
|
result.AppendFormat(" data-modosithato='{0}'", modosithato);
|
|
|
|
result.AppendFormat(" class='{0}'", GetTanuloErtekelesSpanClass(isMainGrid, tanuloId, modosithato));
|
|
|
|
result.AppendFormat(" data-ertekelonyomtatasinev='{0}'", GetTanuloErtekelesSpanErtekeloNyomtatasiNev(tanuloErtekelesGridItem));
|
|
|
|
bool isEvkoziErtekeles = tanuloErtekelesGridItem.TipusId == (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles;
|
|
|
|
result.AppendFormat(" data-ertekelestema='{0}'", GetTanuloErtekelesSpanErtekelesTema(tanuloErtekelesGridItem, isEvkoziErtekeles));
|
|
|
|
result.AppendFormat(" data-tipusmod='{0}'", GetTanuloErtekelesSpanTipusMod(tanuloErtekelesGridHelperCo.TanevId, tanuloErtekelesGridItem, isEvkoziErtekeles, isMagatartasSzorgalom, out int? ertekelesModId));
|
|
|
|
result.AppendFormat(" style='{0}'", GetTanuloErtekelesStyle(tanuloErtekelesGridItem.TipusId, ertekelesModId, ertekelesModDictionary));
|
|
|
|
result.AppendFormat(" data-tooltipstyle='{0}'", GetToolTipStyle(tanuloErtekelesGridItem.TipusId, ertekelesModId, ertekelesModDictionary));
|
|
|
|
(string tanuloErtekelesText, string tanuloErtekelesShortText) = GetTanuloErtekelesSpanTanuloErtekelesText(tanuloErtekelesGridHelperCo, tanuloErtekelesGridItem, isMagatartasSzorgalom, out bool isErtekelesOsztalyzatSelected);
|
|
|
|
result.AppendFormat(" data-suly='{0}'", GetTanuloErtekelesSpanSuly(tanuloErtekelesGridItem, isErtekelesOsztalyzatSelected, isEvkoziErtekeles));
|
|
|
|
result.AppendFormat(" data-tanuloertekeles='{0}'", tanuloErtekelesText);
|
|
|
|
result.Append('>');
|
|
|
|
result.Append(tanuloErtekelesShortText);
|
|
|
|
result.Append("</span>");
|
|
}
|
|
return result.ToString();
|
|
}
|
|
|
|
private static string GetTanuloErtekelesSpanTipusMod(int tanevId, TanuloErtekelesGridItemCo tanuloErtekelesGridItem, bool isEvkoziErtekeles, bool isMagatartasSzorgalom, out int? ertekelesModId)
|
|
{
|
|
ertekelesModId = null;
|
|
|
|
var tipusMod = string.Empty;
|
|
if (isEvkoziErtekeles && !isMagatartasSzorgalom)
|
|
{
|
|
if (tanuloErtekelesGridItem.ErtekelesModId.IsEntityId())
|
|
{
|
|
ertekelesModId = tanuloErtekelesGridItem.ErtekelesModId;
|
|
tipusMod = HttpUtility.HtmlEncode(ertekelesModId.GetDisplayName<ErtekelesModEnum>(tanevId));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
tipusMod = HttpUtility.HtmlEncode(tanuloErtekelesGridItem.TipusId.GetDisplayName<ErtekelesTipusEnum>(tanevId));
|
|
}
|
|
return tipusMod;
|
|
}
|
|
|
|
private static string GetTanuloErtekelesSpanErtekelesTema(TanuloErtekelesGridItemCo tanuloErtekelesGridItem, bool isEvkoziErtekeles)
|
|
{
|
|
var ertekelesTemaSb = new StringBuilder();
|
|
|
|
ertekelesTemaSb.Append(isEvkoziErtekeles ? "Téma: " : "Feljegyzés: ");
|
|
|
|
ertekelesTemaSb.Append(!string.IsNullOrWhiteSpace(tanuloErtekelesGridItem.ErtekelesTema) ? HttpUtility.HtmlEncode(tanuloErtekelesGridItem.ErtekelesTema) : "-");
|
|
|
|
return ertekelesTemaSb.ToString();
|
|
}
|
|
|
|
private static string GetTanuloErtekelesSpanSuly(TanuloErtekelesGridItemCo tanuloErtekelesGridItem, bool isErtekelesOsztalyzatSelected, bool isEvkoziErtekeles)
|
|
{
|
|
var suly = string.Empty;
|
|
if (tanuloErtekelesGridItem.Suly.HasValue && isErtekelesOsztalyzatSelected && isEvkoziErtekeles)
|
|
{
|
|
suly = $"Súly: {tanuloErtekelesGridItem.Suly}%";
|
|
}
|
|
return suly;
|
|
}
|
|
|
|
private static string GetTanuloErtekelesSpanErtekeloNyomtatasiNev(TanuloErtekelesGridItemCo tanuloErtekelesGridItem)
|
|
{
|
|
var ertekeloNyomtatasiNev = string.Empty;
|
|
if (!string.IsNullOrWhiteSpace(tanuloErtekelesGridItem.ErtekeloNyomtatasiNev))
|
|
{
|
|
ertekeloNyomtatasiNev = HttpUtility.HtmlEncode(tanuloErtekelesGridItem.ErtekeloNyomtatasiNev);
|
|
}
|
|
return ertekeloNyomtatasiNev;
|
|
}
|
|
|
|
private static (string tanuloErtekelesText, string tanuloErtekelesShortText) GetTanuloErtekelesSpanTanuloErtekelesText(TanuloErtekelesGridHelperCo tanuloErtekelesGridHelperCo, TanuloErtekelesGridItemCo tanuloErtekelesGridItem, bool isMagatartasSzorgalom, out bool isErtekelesOsztalyzatSelected)
|
|
{
|
|
isErtekelesOsztalyzatSelected = false;
|
|
|
|
string tanuloErtekelesText;
|
|
string tanuloErtekelesShortText;
|
|
if (!isMagatartasSzorgalom)
|
|
{
|
|
if (tanuloErtekelesGridItem.ErtekelesOsztalyzatId.IsEntityId())
|
|
{
|
|
string ertekelesOsztalyzat = GetOsztalyzatTextShort(
|
|
tanuloErtekelesGridItem.ErtekelesOsztalyzatId,
|
|
tanuloErtekelesGridHelperCo.EgyszerAdhatoErtekelesTipusIds,
|
|
tipusId: tanuloErtekelesGridItem.TipusId,
|
|
tema: tanuloErtekelesGridItem.ErtekelesTema);
|
|
tanuloErtekelesText = ertekelesOsztalyzat;
|
|
tanuloErtekelesShortText = ertekelesOsztalyzat;
|
|
isErtekelesOsztalyzatSelected = true;
|
|
}
|
|
else if (!string.IsNullOrWhiteSpace(tanuloErtekelesGridItem.ErtekelesSzoveg))
|
|
{
|
|
string ertekelesSzoveg = string.IsNullOrWhiteSpace(tanuloErtekelesGridItem.ErtekelesSzovegRovidNev) ? "sz" : HttpUtility.HtmlEncode(tanuloErtekelesGridItem.ErtekelesSzovegRovidNev);
|
|
tanuloErtekelesText = ertekelesSzoveg;
|
|
tanuloErtekelesShortText = ertekelesSzoveg;
|
|
}
|
|
else if (tanuloErtekelesGridItem.ErtekelesSzazalek.HasValue)
|
|
{
|
|
string ertekelesSzazalek = tanuloErtekelesGridItem.ErtekelesSzazalek + "%";
|
|
tanuloErtekelesText = ertekelesSzazalek;
|
|
tanuloErtekelesShortText = ertekelesSzazalek;
|
|
}
|
|
else
|
|
{
|
|
var ex = new KretaException(ErrorResource.HibaTortentAMuveletKozben);
|
|
SDAServer.Instance.Logger.ExceptionThrown(ex);
|
|
throw ex;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (tanuloErtekelesGridItem.MagatartasOsztalyzatId.IsEntityId() || tanuloErtekelesGridItem.SzorgalomOsztalyzatId.IsEntityId())
|
|
{
|
|
tanuloErtekelesText = $"{GetOsztalyzatTextShort(tanuloErtekelesGridItem.MagatartasOsztalyzatId, tanuloErtekelesGridHelperCo.EgyszerAdhatoErtekelesTipusIds)}<br/>{GetOsztalyzatTextShort(tanuloErtekelesGridItem.SzorgalomOsztalyzatId, tanuloErtekelesGridHelperCo.EgyszerAdhatoErtekelesTipusIds)}";
|
|
tanuloErtekelesShortText = $"{GetOsztalyzatTextShort(tanuloErtekelesGridItem.MagatartasOsztalyzatId, tanuloErtekelesGridHelperCo.EgyszerAdhatoErtekelesTipusIds)}/{GetOsztalyzatTextShort(tanuloErtekelesGridItem.SzorgalomOsztalyzatId, tanuloErtekelesGridHelperCo.EgyszerAdhatoErtekelesTipusIds)}";
|
|
}
|
|
else if (!string.IsNullOrWhiteSpace(tanuloErtekelesGridItem.MagatartasSzoveg) || !string.IsNullOrWhiteSpace(tanuloErtekelesGridItem.SzorgalomSzoveg))
|
|
{
|
|
string magatartasSzoveg;
|
|
if (string.IsNullOrWhiteSpace(tanuloErtekelesGridItem.MagatartasSzoveg))
|
|
{
|
|
magatartasSzoveg = "-";
|
|
}
|
|
else
|
|
{
|
|
magatartasSzoveg = string.IsNullOrWhiteSpace(tanuloErtekelesGridItem.MagatartasSzovegRovidNev) ? "sz" : HttpUtility.HtmlEncode(tanuloErtekelesGridItem.MagatartasSzovegRovidNev);
|
|
}
|
|
|
|
string szorgalomSzoveg;
|
|
if (string.IsNullOrWhiteSpace(tanuloErtekelesGridItem.SzorgalomSzoveg))
|
|
{
|
|
szorgalomSzoveg = "-";
|
|
}
|
|
else
|
|
{
|
|
szorgalomSzoveg = string.IsNullOrWhiteSpace(tanuloErtekelesGridItem.SzorgalomSzovegRovidNev) ? "sz" : HttpUtility.HtmlEncode(tanuloErtekelesGridItem.SzorgalomSzovegRovidNev);
|
|
}
|
|
|
|
tanuloErtekelesText = $"{magatartasSzoveg}<br/>{szorgalomSzoveg}";
|
|
tanuloErtekelesShortText = $"{magatartasSzoveg}/{szorgalomSzoveg}";
|
|
}
|
|
else if (tanuloErtekelesGridItem.MagatartasErtekId.IsEntityId() || tanuloErtekelesGridItem.SzorgalomErtekId.IsEntityId())
|
|
{
|
|
tanuloErtekelesText = $"{GetMagatartasErtek(tanuloErtekelesGridItem.MagatartasErtekId, tanuloErtekelesGridHelperCo.TanevId)}<br/>{GetSzorgalomErtek(tanuloErtekelesGridItem.SzorgalomErtekId, tanuloErtekelesGridHelperCo.TanevId)}";
|
|
tanuloErtekelesShortText = $"{GetMagatartasErtekShort(tanuloErtekelesGridItem.MagatartasErtekId)}/{GetSzorgalomErtekShort(tanuloErtekelesGridItem.SzorgalomErtekId)}";
|
|
}
|
|
else
|
|
{
|
|
var ex = new KretaException(ErrorResource.HibaTortentAMuveletKozben);
|
|
SDAServer.Instance.Logger.ExceptionThrown(ex);
|
|
throw ex;
|
|
}
|
|
}
|
|
return (tanuloErtekelesText, tanuloErtekelesShortText);
|
|
}
|
|
|
|
private static string GetTanuloErtekelesSpanClass(bool isMainGrid, int? tanuloId, bool modosithato)
|
|
{
|
|
var classSb = new StringBuilder("kendoTooltip tanuloErtekelesKendoTooltip");
|
|
|
|
if (!isMainGrid && tanuloId.IsEntityId())
|
|
{
|
|
classSb.Append("_" + tanuloId);
|
|
}
|
|
|
|
if (modosithato)
|
|
{
|
|
classSb.Append(" clickable");
|
|
}
|
|
|
|
return classSb.ToString();
|
|
}
|
|
|
|
private static string GetTanuloErtekelesText(DataRow dataRow, int tanevId, bool pErtekelesTextTemaval = false)
|
|
{
|
|
var isMagatartasSzorgalom = SDAConvert.ToBoolean(dataRow["IsMagatartasSzorgalom_BOOL"]);
|
|
string tanuloErtekelesText;
|
|
if (!isMagatartasSzorgalom)
|
|
{
|
|
tanuloErtekelesText = GetErtekelesText(dataRow, tanevId);
|
|
}
|
|
else
|
|
{
|
|
var magatartasText = GetMagatartasText(dataRow, tanevId);
|
|
var szorgalomText = GetSzorgalomText(dataRow, tanevId);
|
|
tanuloErtekelesText = string.Format(TanuloErtekelesResource.MagatartasSzorgalomText, magatartasText, szorgalomText);
|
|
}
|
|
|
|
var ertekelesTema = dataRow["ErtekelesTema"].ToString();
|
|
tanuloErtekelesText += !string.IsNullOrWhiteSpace(ertekelesTema) && pErtekelesTextTemaval ? " - " + ertekelesTema : string.Empty;
|
|
|
|
return tanuloErtekelesText;
|
|
}
|
|
|
|
private static string GetErtekelesText(DataRow dataRow, int tanevId)
|
|
{
|
|
string ertekelesText;
|
|
if (SDAConvert.ToNullableInt32(dataRow["ErtekelesOsztalyzatId"]).IsEntityId())
|
|
{
|
|
ertekelesText = SDAConvert.ToNullableInt32(dataRow["TantargyKategoriaId"]) == (int)TargyKategoriaTipusEnum.Szorgalom ?
|
|
GetOsztalyzatTextSzorgalom(SDAConvert.ToInt32(dataRow["ErtekelesOsztalyzatId"]), tanevId) :
|
|
GetOsztalyzatText(SDAConvert.ToInt32(dataRow["ErtekelesOsztalyzatId"]), tanevId);
|
|
}
|
|
else if (!string.IsNullOrWhiteSpace(dataRow["ErtekelesSzoveg"].ToString()))
|
|
{
|
|
var ertekelesFormazott = dataRow["ErtekelesSzovegFormazott"].ToString();
|
|
ertekelesText = !string.IsNullOrWhiteSpace(ertekelesFormazott) ?
|
|
ertekelesFormazott :
|
|
dataRow["ErtekelesSzoveg"].ToString();
|
|
}
|
|
else if (!string.IsNullOrWhiteSpace(dataRow["ErtekelesSzazalek"].ToString()))
|
|
{
|
|
ertekelesText = SDAConvert.ToInt32(dataRow["ErtekelesSzazalek"]) + "%";
|
|
}
|
|
else
|
|
{
|
|
var ex = new KretaException(ErrorResource.HibaTortentAMuveletKozben);
|
|
SDAServer.Instance.Logger.ExceptionThrown(ex);
|
|
throw ex;
|
|
}
|
|
|
|
return ertekelesText;
|
|
}
|
|
|
|
private static string GetMagatartasText(DataRow dataRow, int tanevId)
|
|
{
|
|
string magatartasText = string.Empty;
|
|
if (SDAConvert.ToNullableInt32(dataRow["MagatartasOsztalyzatId"]).IsEntityId() || SDAConvert.ToNullableInt32(dataRow["SzorgalomOsztalyzatId"]).IsEntityId())
|
|
{
|
|
if (SDAConvert.ToNullableInt32(dataRow["MagatartasOsztalyzatId"]).IsEntityId())
|
|
{
|
|
magatartasText = GetOsztalyzatText(SDAConvert.ToInt32(dataRow["MagatartasOsztalyzatId"]), tanevId);
|
|
}
|
|
}
|
|
else if (!string.IsNullOrWhiteSpace(dataRow["MagatartasSzoveg"].ToString()) || !string.IsNullOrWhiteSpace(dataRow["SzorgalomSzoveg"].ToString()))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(dataRow["MagatartasSzoveg"].ToString()))
|
|
{
|
|
var magatartasFormazott = dataRow["MagatartasSzovegFormazott"].ToString();
|
|
magatartasText = !string.IsNullOrWhiteSpace(magatartasFormazott) ?
|
|
magatartasFormazott :
|
|
dataRow["MagatartasSzoveg"].ToString();
|
|
}
|
|
}
|
|
else if (SDAConvert.ToNullableInt32(dataRow["MagatartasErtekId"]).IsEntityId() || SDAConvert.ToNullableInt32(dataRow["SzorgalomErtekId"]).IsEntityId())
|
|
{
|
|
if (SDAConvert.ToNullableInt32(dataRow["MagatartasErtekId"]).IsEntityId())
|
|
{
|
|
magatartasText = GetMagatartasErtek(SDAConvert.ToInt32(dataRow["MagatartasErtekId"]), tanevId);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var ex = new KretaException(ErrorResource.HibaTortentAMuveletKozben);
|
|
SDAServer.Instance.Logger.ExceptionThrown(ex);
|
|
throw ex;
|
|
}
|
|
|
|
return magatartasText;
|
|
}
|
|
|
|
private static string GetSzorgalomText(DataRow dataRow, int tanevId)
|
|
{
|
|
string szorgalomText = string.Empty;
|
|
if (SDAConvert.ToNullableInt32(dataRow["MagatartasOsztalyzatId"]).IsEntityId() || SDAConvert.ToNullableInt32(dataRow["SzorgalomOsztalyzatId"]).IsEntityId())
|
|
{
|
|
if (SDAConvert.ToNullableInt32(dataRow["SzorgalomOsztalyzatId"]).IsEntityId())
|
|
{
|
|
szorgalomText = GetOsztalyzatText(SDAConvert.ToInt32(dataRow["SzorgalomOsztalyzatId"]), tanevId);
|
|
}
|
|
}
|
|
else if (!string.IsNullOrWhiteSpace(dataRow["MagatartasSzoveg"].ToString()) || !string.IsNullOrWhiteSpace(dataRow["SzorgalomSzoveg"].ToString()))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(dataRow["SzorgalomSzoveg"].ToString()))
|
|
{
|
|
var szorgalomFormazott = dataRow["SzorgalomSzovegFormazott"].ToString();
|
|
szorgalomText = !string.IsNullOrWhiteSpace(szorgalomFormazott) ?
|
|
szorgalomFormazott :
|
|
dataRow["SzorgalomSzoveg"].ToString();
|
|
}
|
|
}
|
|
else if (SDAConvert.ToNullableInt32(dataRow["MagatartasErtekId"]).IsEntityId() || SDAConvert.ToNullableInt32(dataRow["SzorgalomErtekId"]).IsEntityId())
|
|
{
|
|
if (SDAConvert.ToNullableInt32(dataRow["SzorgalomErtekId"]).IsEntityId())
|
|
{
|
|
szorgalomText = GetSzorgalomErtek(SDAConvert.ToInt32(dataRow["SzorgalomErtekId"]), tanevId);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var ex = new KretaException(ErrorResource.HibaTortentAMuveletKozben);
|
|
SDAServer.Instance.Logger.ExceptionThrown(ex);
|
|
throw ex;
|
|
}
|
|
|
|
return szorgalomText;
|
|
}
|
|
|
|
private static string GetToolTipStyle(int tipusId, int? ertekelesModId, Dictionary<int, ErtekelesModCo> ertekelesModDictionary)
|
|
{
|
|
string result;
|
|
switch (tipusId)
|
|
{
|
|
case (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Evkozi);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.felevi_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Felevi);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.evvegi_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Evvegi);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.I_ne_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.I_Ne);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.II_ne_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.II_Ne);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.III_ne_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.III_Ne);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.IV_ne_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.IV_Ne);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.modulzaro_vizsga:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Modulzaro);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.potvizsga:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Potvizsga);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.osztalyozo_vizsga:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Osztalyozo);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.kulonbozeti_vizsga:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Kulonbozeti);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.na:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Na);
|
|
break;
|
|
|
|
default:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Na);
|
|
break;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private static string GetTanuloErtekelesStyle(int tipusId, int? ertekelesModId, Dictionary<int, ErtekelesModCo> ertekelesModDictionary)
|
|
{
|
|
string result;
|
|
switch (tipusId)
|
|
{
|
|
case (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Evkozi);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.felevi_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Felevi, isBackgrouded: true);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.evvegi_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Evvegi, isBackgrouded: true);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.I_ne_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.I_Ne, isBackgrouded: true);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.II_ne_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.II_Ne, isBackgrouded: true);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.III_ne_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.III_Ne, isBackgrouded: true);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.IV_ne_jegy_ertekeles:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.IV_Ne, isBackgrouded: true);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.modulzaro_vizsga:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Modulzaro, isBordered: true);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.potvizsga:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Potvizsga, isBordered: true);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.osztalyozo_vizsga:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Osztalyozo, isBordered: true);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.kulonbozeti_vizsga:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Kulonbozeti, isBordered: true);
|
|
break;
|
|
|
|
case (int)ErtekelesTipusEnum.na:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Na, isBordered: true);
|
|
break;
|
|
|
|
default:
|
|
result = GetJegyStyle(ertekelesModId, ertekelesModDictionary, TanuloErtekelesColorCodes.Na);
|
|
break;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private static string GetJegyStyle(int? ertekelesModId, Dictionary<int, ErtekelesModCo> ertekelesModDictionary, string defaultColor, bool isBackgrouded = false, bool isBordered = false)
|
|
{
|
|
string colorCode = defaultColor;
|
|
bool isBold = false;
|
|
if (ertekelesModId.IsEntityId())
|
|
{
|
|
colorCode = ertekelesModDictionary[ertekelesModId.Value].Color;
|
|
isBold = ertekelesModDictionary[ertekelesModId.Value].IsBold;
|
|
}
|
|
|
|
string style = isBackgrouded ? $"color: #FFFFFF; background-color: #{colorCode}; " : $"color: #{colorCode}; ";
|
|
|
|
style += isBordered ? $"padding: 0px 2px 0px 2px; border: solid 1px #{colorCode}; " : "padding: 1px 3px 1px 3px; ";
|
|
|
|
if (isBold)
|
|
{
|
|
style += " font-weight: bold; ";
|
|
}
|
|
|
|
return style;
|
|
}
|
|
|
|
public static string GetOsztalyzatText(int? osztalyzat, int tanevId)
|
|
{
|
|
switch (osztalyzat)
|
|
{
|
|
case (int)OsztalyzatTipusEnum.elegtelen_1_:
|
|
return OsztalyzatTipusEnum.elegtelen_1_.GetDisplayName(tanevId);
|
|
|
|
case (int)OsztalyzatTipusEnum.elegseges_2_:
|
|
return OsztalyzatTipusEnum.elegseges_2_.GetDisplayName(tanevId);
|
|
|
|
case (int)OsztalyzatTipusEnum.kozepes_3_:
|
|
return OsztalyzatTipusEnum.kozepes_3_.GetDisplayName(tanevId);
|
|
|
|
case (int)OsztalyzatTipusEnum.jo_4_:
|
|
return OsztalyzatTipusEnum.jo_4_.GetDisplayName(tanevId);
|
|
|
|
case (int)OsztalyzatTipusEnum.jeles_5_:
|
|
return OsztalyzatTipusEnum.jeles_5_.GetDisplayName(tanevId);
|
|
|
|
default:
|
|
return "-";
|
|
}
|
|
}
|
|
public static string GetOsztalyzatTextSzorgalom(int? osztalyzat, int tanevId)
|
|
{
|
|
switch (osztalyzat)
|
|
{
|
|
case (int)OsztalyzatTipusEnum.elegtelen_1_:
|
|
return OsztalyzatTipusEnum.elegtelen_1_.GetDisplayName(tanevId);
|
|
case (int)OsztalyzatTipusEnum.elegseges_2_:
|
|
return TanuloErtekelesResource.HanyagFullText;
|
|
case (int)OsztalyzatTipusEnum.kozepes_3_:
|
|
return TanuloErtekelesResource.ValtozoFullText;
|
|
case (int)OsztalyzatTipusEnum.jo_4_:
|
|
return TanuloErtekelesResource.JoFullText;
|
|
case (int)OsztalyzatTipusEnum.jeles_5_:
|
|
return TanuloErtekelesResource.PeldasFullText;
|
|
default:
|
|
return "-";
|
|
}
|
|
}
|
|
|
|
public static string GetMagatartasErtek(int? magatartasErtekId, int tanevId)
|
|
{
|
|
switch (magatartasErtekId)
|
|
{
|
|
case (int)MagatartasErtekelesTipusEnum.rossz:
|
|
return MagatartasErtekelesTipusEnum.rossz.GetDisplayName(tanevId);
|
|
|
|
case (int)MagatartasErtekelesTipusEnum.valtozo:
|
|
return MagatartasErtekelesTipusEnum.valtozo.GetDisplayName(tanevId);
|
|
|
|
case (int)MagatartasErtekelesTipusEnum.jo:
|
|
return MagatartasErtekelesTipusEnum.jo.GetDisplayName(tanevId);
|
|
|
|
case (int)MagatartasErtekelesTipusEnum.peldas:
|
|
return MagatartasErtekelesTipusEnum.peldas.GetDisplayName(tanevId);
|
|
|
|
default:
|
|
return "-";
|
|
}
|
|
}
|
|
|
|
private static string GetMagatartasErtekShort(int? magatartasErtekId)
|
|
{
|
|
switch (magatartasErtekId)
|
|
{
|
|
case (int)MagatartasErtekelesTipusEnum.rossz:
|
|
return "R";
|
|
|
|
case (int)MagatartasErtekelesTipusEnum.valtozo:
|
|
return "V";
|
|
|
|
case (int)MagatartasErtekelesTipusEnum.jo:
|
|
return "J";
|
|
|
|
case (int)MagatartasErtekelesTipusEnum.peldas:
|
|
return "P";
|
|
|
|
default:
|
|
return "-";
|
|
}
|
|
}
|
|
|
|
public static string GetSzorgalomErtek(int? szorgalomErtekId, int tanevId)
|
|
{
|
|
switch (szorgalomErtekId)
|
|
{
|
|
case (int)SzorgalomErtekelesTipusEnum.hanyag:
|
|
return SzorgalomErtekelesTipusEnum.hanyag.GetDisplayName(tanevId);
|
|
|
|
case (int)SzorgalomErtekelesTipusEnum.valtozo:
|
|
return SzorgalomErtekelesTipusEnum.valtozo.GetDisplayName(tanevId);
|
|
|
|
case (int)SzorgalomErtekelesTipusEnum.jo:
|
|
return SzorgalomErtekelesTipusEnum.jo.GetDisplayName(tanevId);
|
|
|
|
case (int)SzorgalomErtekelesTipusEnum.peldas:
|
|
return SzorgalomErtekelesTipusEnum.peldas.GetDisplayName(tanevId);
|
|
|
|
default:
|
|
return "-";
|
|
}
|
|
}
|
|
|
|
private static string GetSzorgalomErtekShort(int? szorgalomErtekId)
|
|
{
|
|
switch (szorgalomErtekId)
|
|
{
|
|
case (int)SzorgalomErtekelesTipusEnum.hanyag:
|
|
return "H";
|
|
|
|
case (int)SzorgalomErtekelesTipusEnum.valtozo:
|
|
return "V";
|
|
|
|
case (int)SzorgalomErtekelesTipusEnum.jo:
|
|
return "J";
|
|
|
|
case (int)SzorgalomErtekelesTipusEnum.peldas:
|
|
return "P";
|
|
|
|
default:
|
|
return "-";
|
|
}
|
|
}
|
|
|
|
private static void SetTanuloErtekelesHaviAtlagColumns(DataTable gridDataTable)
|
|
{
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.Szeptember_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.Oktober_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.November_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.December_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.JanuarI_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.I_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.JanuarII_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.Februar_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.Marcius_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.Aprilis_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.Majus_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.Junius_HaviAtlag, typeof(string)));
|
|
gridDataTable.Columns.Add(new DataColumn(TanuloErtekelesHaviAtlagColumnNames.II_HaviAtlag, typeof(string)));
|
|
}
|
|
|
|
private static void SetTanuloErtekelesHaviAtlagValues(TanuloErtekelesGridHelperCo tanuloErtekelesGridHelperCo, DataRow gridDataRow, TanuloErtekelesBaseGridRowCo tanuloErtekelesGridRow)
|
|
{
|
|
if (!tanuloErtekelesGridRow.IsMagatartasSzorgalom)
|
|
{
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.Szeptember_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Szeptember));
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.Oktober_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Oktober));
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.November_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.November));
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.December_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.December));
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.JanuarI_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.JanuarI));
|
|
|
|
var iTanuloErtekelesGridRow = tanuloErtekelesGridRow.I == null ? new List<TanuloErtekelesGridItemCo>() : new List<TanuloErtekelesGridItemCo> { tanuloErtekelesGridRow.I };
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.I_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, iTanuloErtekelesGridRow));
|
|
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.JanuarII_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.JanuarII));
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.Februar_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Februar));
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.Marcius_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Marcius));
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.Aprilis_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Aprilis));
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.Majus_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Majus));
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.Junius_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, tanuloErtekelesGridRow.Junius));
|
|
|
|
var iiTanuloErtekelesGridRow = tanuloErtekelesGridRow.II == null ? new List<TanuloErtekelesGridItemCo>() : new List<TanuloErtekelesGridItemCo> { tanuloErtekelesGridRow.II };
|
|
gridDataRow.SetField(TanuloErtekelesHaviAtlagColumnNames.II_HaviAtlag, AddTanuloErtelelesekHaviAtlagJson(tanuloErtekelesGridHelperCo, iiTanuloErtekelesGridRow));
|
|
}
|
|
}
|
|
|
|
private static string AddTanuloErtelelesekHaviAtlagJson(TanuloErtekelesGridHelperCo tanuloErtekelesGridHelperCo, List<TanuloErtekelesGridItemCo> tanuloErtekelesGridItemList)
|
|
{
|
|
string result = null;
|
|
var tanuloErtekelesHaviAtlagJsonList = new List<(string Ertekeles, string Suly)>();
|
|
foreach (var tanuloErtekelesGridItem in tanuloErtekelesGridItemList.Where(e => e.ErtekelesOsztalyzatId.IsEntityId() && e.IsTanulmanyiAtlagbaNemSzamit == false && !HaviAtlagbaNemSzamitoErtekelesTipusIdList.Contains(e.TipusId)))
|
|
{
|
|
var ertekeles = GetOsztalyzatTextShort(tanuloErtekelesGridItem.ErtekelesOsztalyzatId, tanuloErtekelesGridHelperCo.EgyszerAdhatoErtekelesTipusIds);
|
|
|
|
var suly = "100";
|
|
if (tanuloErtekelesGridItem.Suly != null && tanuloErtekelesGridItem.TipusId == (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles)
|
|
{
|
|
suly = tanuloErtekelesGridItem.Suly.ToString();
|
|
}
|
|
|
|
tanuloErtekelesHaviAtlagJsonList.Add((ertekeles, suly));
|
|
}
|
|
|
|
if (tanuloErtekelesHaviAtlagJsonList.Any())
|
|
{
|
|
var jsonFormat = "{{ \"haviAtlagErtekek\": [{0}] }}";
|
|
var jsonList = tanuloErtekelesHaviAtlagJsonList.Select(e => $"{{ \"ertekeles\": {e.Ertekeles}, \"suly\": {e.Suly} }}");
|
|
result = string.Format(jsonFormat, string.Join(",", jsonList));
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|