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

863 lines
46 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Caching;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.ComboBox;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers.DokumentumHelpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Logic.TanuloErtekeles;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.Core.FeatureToggle;
using Kreta.Core.Validation.Exceptions;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual;
using Kreta.DataAccessManual.DataAccessObjects.Csoport;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Caching.DictionaryItemTables;
using Kreta.KretaServer.SystemSettings;
namespace Kreta.BusinessLogic.Helpers
{
public class TanuloErtekelesHelper : LogicBase
{
public TanuloErtekelesHelper(IConnectionType connectionType) : base(connectionType) { }
public TanuloErtekelesCo GetTanuloErtekelesCoById(int id)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
ITanuloErtekeles entity = h.TanuloErtekelesDal().Get(id);
List<int> nemzetiDokumentumNyelvek = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
TanuloErtekelesCo co = new TanuloErtekelesCo(entity, nemzetiDokumentumNyelvek, TanevId);
return co;
});
}
public DataSet GetTanuloErtekelesDataSetByTantargyForGrid(int tanarId, int osztalyCsoportId, int tantargyId, DateTime? datum, bool isFromSzervezet)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var tanuloErtekelesGridHelperCo = new TanuloErtekelesGridHelperCo
{
DataSet = h.TanuloErtekelesDal(GridParameters).GetTanuloErtekelesDataSetByTantargy(TanevId, tanarId, tantargyId, osztalyCsoportId, datum, isFromSzervezet),
Datum = datum,
TanuloErtekelesVisibilityCo = null,
EgyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(TanevId, true).Select(x => x.Id).ToList(),
ErtekelesModDictionary = GetErtekelesModDictionary()
};
SetTanuloErtekelesGridHelperCo(h, tanuloErtekelesGridHelperCo);
DataSet gridDataSet = TanuloErtekelesLogicWeb.GetTanuloErtekelesDataSetByTantargyForGrid(tanuloErtekelesGridHelperCo);
return gridDataSet;
});
}
public DataSet GetTanuloErtekelesDataSetByMagatartasSzorgalomForGrid(int tanarId, int osztalyCsoportId, DateTime? datum)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var tanuloErtekelesGridHelperCo = new TanuloErtekelesGridHelperCo
{
DataSet = h.TanuloErtekelesDal(GridParameters).GetTanuloErtekelesDataSetByMagatartasSzorgalom(TanevId, tanarId, osztalyCsoportId, datum),
Datum = datum,
TanuloErtekelesVisibilityCo = null,
EgyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(TanevId, true).Select(x => x.Id).ToList(),
ErtekelesModDictionary = GetErtekelesModDictionary()
};
SetTanuloErtekelesGridHelperCo(h, tanuloErtekelesGridHelperCo);
DataSet gridDataSet = TanuloErtekelesLogicWeb.GetTanuloErtekelesDataSetByMagatartasSzorgalomForGrid(tanuloErtekelesGridHelperCo);
return gridDataSet;
});
}
public DataSet GetTanuloErtekelesDataSetByTanuloForGrid(int? tanarId, int tanuloId, bool isTanuloView, DateTime? datum, int oktatasiNevelesiFeladatId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var feladatKategoriaId = h.OktatasNevelesiFeladatDal().GetFeladatKategoriaId(oktatasiNevelesiFeladatId, TanevId);
bool isVegzosOsztalyTanuloja = GetIsVegzosOsztalyTanuloja(tanuloId, h);
var tanuloErtekelesVisibilityCo = new TanuloErtekelesVisibilityCo
{
IsTanuloView = isTanuloView,
IsINegyedevesJegyHidden = IsINegyedevesJegyHidden(),
IsIiNegyedevesJegyHidden = IsIiNegyedevesJegyHidden(),
IsFeleviJegyHidden = IsFeleviJegyHidden(),
IsIiiNegyedevesJegyHidden = IsIiiNegyedevesJegyHidden(),
IsIvNegyedevesJegyHidden = IsIvNegyedevesJegyHidden(isVegzosOsztalyTanuloja),
IsEvvegiJegyHidden = IsEvvegiJegyHidden(isVegzosOsztalyTanuloja),
KesleltetettMegjelenitesOraszam = GetKesleltetettMegjelenitesOraszam()
};
var tanuloErtekelesGridHelperCo = new TanuloErtekelesGridHelperCo
{
DataSet = h.TanuloErtekelesDal().GetTanuloErtekelesDataSetByTanulo(IntezmenyId, TanevId, tanarId, tanuloId, datum, oktatasiNevelesiFeladatId, feladatKategoriaId),
Datum = datum,
TanuloErtekelesVisibilityCo = tanuloErtekelesVisibilityCo,
EgyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(TanevId, true).Select(x => x.Id).ToList(),
ErtekelesModDictionary = GetErtekelesModDictionary()
};
SetTanuloErtekelesGridHelperCo(h, tanuloErtekelesGridHelperCo);
DataSet gridDataSet = TanuloErtekelesLogicWeb.GetTanuloErtekelesDataSetByTanuloForGrid(tanuloErtekelesGridHelperCo);
return gridDataSet;
});
}
public DataSet GetTanuloErtekelesDataSetByFotargyAltargyForGrid(int tanarId, int tanuloId, int fotargyAltargyId, DateTime? datum, int feladatKategoriaId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var tanuloErtekelesGridHelperCo = new TanuloErtekelesGridHelperCo
{
DataSet = h.TanuloErtekelesDal().GetTanuloErtekelesDataSetByFotargyAltargy(IntezmenyId, TanevId, tanarId, tanuloId, fotargyAltargyId, datum, feladatKategoriaId),
Datum = datum,
TanuloErtekelesVisibilityCo = null,
EgyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(TanevId, true).Select(x => x.Id).ToList(),
ErtekelesModDictionary = GetErtekelesModDictionary()
};
SetTanuloErtekelesGridHelperCo(h, tanuloErtekelesGridHelperCo);
DataSet gridDataSet = TanuloErtekelesLogicWeb.GetTanuloErtekelesDataSetByFotargyAltargyForGrid(tanuloErtekelesGridHelperCo);
return gridDataSet;
});
}
private void SetTanuloErtekelesGridHelperCo(IDalHandler h, TanuloErtekelesGridHelperCo tanuloErtekelesGridHelperCo)
{
tanuloErtekelesGridHelperCo.TanevId = TanevId;
tanuloErtekelesGridHelperCo.FelevVegeDatum = h.TanevRendjeDal().GetElsoFelevVege(IntezmenyId, TanevId);
tanuloErtekelesGridHelperCo.NaplozarasDatuma = new OrarendHelper(new DalHandlerConnectionType(ConnectionType, h)).GetNaplozarasDate(startDate: null);
tanuloErtekelesGridHelperCo.IsJegyekAtlagaMegjelenik = GetIsJegyekAtlagaMegjelenik();
}
public DataSet GetTanuloErtekelesDataSetForDetailGrid(int tanuloId, int? tantargyId, bool showToroltElemek, bool isTanuloView, int felhasznaloId, int ertekelesMegjelenesFajtaEnumId, DateTime? datum, int? feladatKategoriaId, int? oktatasiNevelesiFeladatId, bool isDualisKepzesEnabled)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var fkId = feladatKategoriaId ?? 0;
if (oktatasiNevelesiFeladatId.HasValue)
{
fkId = h.OktatasNevelesiFeladatDal().GetFeladatKategoriaId(oktatasiNevelesiFeladatId.Value, TanevId);
}
int? tanarId = isTanuloView ? (int?)null : felhasznaloId;
DataSet result = h.TanuloErtekelesDal(GridParameters).GetTanuloErtekelesDetailDataSet(TanevId, tanuloId, tantargyId, showToroltElemek, tanarId, ertekelesMegjelenesFajtaEnumId, datum, fkId, oktatasiNevelesiFeladatId, isDualisKepzesEnabled);
var dataTable = result.Tables[0];
if (isTanuloView)
{
RemoveTanuloJogosultsagMiattiErtekelesek(new List<int> { tanuloId }, dataTable);
}
DateTime naplozarasDatuma = new OrarendHelper(new DalHandlerConnectionType(ConnectionType, h)).GetNaplozarasDate(startDate: null);
TanuloErtekelesLogicWeb.SetTanuloErtekelesDataSetForDetailGridDataTable(dataTable, ertekelesMegjelenesFajtaEnumId, naplozarasDatuma, TanevId);
return result;
});
}
public DataSet GetTanuloErtekelesListGridDataSet(TanuloErtekelesListCo tanuloErtekelesListCo, bool pErtekelesTextTemaval = false, bool utolagosOsztalyszures = false)
{
DataSet dataSet = GetTanuloErtekelesListDataSet(tanuloErtekelesListCo, utolagosOsztalyszures);
TanuloErtekelesLogicWeb.SetTanuloErtekelesListGridDataSet(dataSet, TanevId, pErtekelesTextTemaval);
return dataSet;
}
public QuadrupleList<string, string, string, string> GetTanuloLegfrissebbTanuloErtekelesList(int tanuloId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
int kesleltetettMegjelenitesOraszam = GetKesleltetettMegjelenitesOraszam();
DataSet tanuloErtekelesDataSet = h.TanuloErtekelesDal().GetLegfrissebbTanuloErtekelesDataSet(IntezmenyId, TanevId, tanuloId, kesleltetettMegjelenitesOraszam);
List<int> egyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(TanevId, true).Select(x => x.Id).ToList();
QuadrupleList<string, string, string, string> result = TanuloErtekelesLogicWeb.GetTanuloLegfrissebbTanuloErtekelesList(tanuloErtekelesDataSet, egyszerAdhatoErtekelesTipusIds);
return result;
});
}
public DataSet GetTanuloErtekelesDataSetForGrid(DolgozatokAtlagaSearchCo searchCo)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var dolgozatGridHelperCo = new DolgozatGridHelperCo
{
DataSet = h.TanuloErtekelesDal(GridParameters).GetErtekelesDolgozatAtlagDataSet(IntezmenyId, TanevId, searchCo.ToPco()),
Datum = searchCo.Datum,
TanevId = TanevId
};
DataSet gridDataSet = TanuloErtekelesLogicWeb.GetDolgozatErtekelesDataSetForGrid(dolgozatGridHelperCo);
return gridDataSet;
});
}
public DataSet GetDolgozatReszletekDataSetForGrid(int? osztalyCsoportId, int? tantargyId, string ertekelesTemaja, DateTime? datum)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
return h.TanuloErtekelesDal(GridParameters).GetDolgozatReszletekDataSet(osztalyCsoportId, tantargyId, ertekelesTemaja, datum);
});
}
public MemoryStream GetTanulokJegyeiByTipusIdExcelExport(int tipusId, TanuloErtekelesListCo searchModel)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
DataSet dataSet = h.Tanulo().GetTanulokJegyeiByErtekelesTipusExcelExport(TanevId, tipusId, searchModel.ToPco());
dataSet.Tables[0].ChangeColumnDataType("Százalékos értékelés", typeof(string));
foreach (DataRow row in dataSet.Tables[0].Rows)
{
if (row.Field<int?>("C_TARGYKATEGORIA") == (int)TargyKategoriaTipusEnum.Szorgalom)
{
row["Osztályzat"] = TanuloErtekelesLogicWeb.GetOsztalyzatTextSzorgalom(row.Field<int?>("C_ERTEKELESOSZTALYZATID"), TanevId);
}
if (!(string.IsNullOrWhiteSpace(row.Field<string>("Százalékos értékelés"))))
{
row["Százalékos értékelés"] = row["Százalékos értékelés"] + "%";
}
}
dataSet.Tables[0].Columns.Remove("C_TARGYKATEGORIA");
dataSet.Tables[0].Columns.Remove("C_ERTEKELESOSZTALYZATID");
DataTable dataTable = dataSet.Tables[0];
ExportLogic.TryCreateHeaderIfNotExist(dataTable);
MemoryStream memoryStream = TanuloErtekelesLogicWeb.GetTanulokJegyeiByTipusIdExcelExport(dataTable, tipusId);
return memoryStream;
});
}
public void DeleteTanuloErtekelesById(int id, int? szervezetTipusId = null)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
var ertekeles = h.TanuloErtekelesDal().Get(id);
h.TanuloErtekelesDal().Delete(id);
if (!szervezetTipusId.HasValue)
{
UpdateTantargyAtlagByTanuloTantargy(h, ertekeles.TanuloId, ertekeles.TantargyId, ertekeles.OsztalyCsoport.FeladatEllatasiHely.OktatasiNevelesiFeladatTipus);
}
});
}
/// INFO @DevKornel: Mobil használja
public void SaveTanuloErtekelesListMobilV2(int felhasznaloId, OsztalyCsoportErtekelesRequestCo osztalyCsoportErtekelesRequestCo)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
var tanuloErtekelesCoList = TanuloErtekelesLogicMobil.GetTanuloErtekelesCoListV2(IntezmenyId, felhasznaloId, osztalyCsoportErtekelesRequestCo);
tanuloErtekelesCoList = new TanuloErtekelesValidacioMobil(new DalHandlerConnectionType(ConnectionType, h)).Validate(h, tanuloErtekelesCoList, out List<ValidationExceptionItem> errors);
SaveTanuloErtekelesList(h, felhasznaloId, tanuloErtekelesCoList);
if (errors.Any())
{
var validationException = TanuloErtekelesLogicMobil.GetValidationException(errors);
throw validationException;
}
});
}
public void SaveTanuloErtekelesList(int felhasznaloId, List<TanuloErtekelesCo> tanuloErtekelesCoList, int? szervezetTipusId = null)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
SaveTanuloErtekelesList(h, felhasznaloId, tanuloErtekelesCoList, szervezetTipusId);
});
}
private void SaveTanuloErtekelesList(IDalHandler h, int felhasznaloId, List<TanuloErtekelesCo> tanuloErtekelesCoList, int? szervezetTipusId = null)
{
tanuloErtekelesCoList.ForEach(x => SaveOrUpdateTanuloErtekeles(h, felhasznaloId, x, szervezetTipusId));
}
private ITanuloErtekeles SaveOrUpdateTanuloErtekeles(IDalHandler h, int felhasznaloId, TanuloErtekelesCo tanuloErtekelesCo, int? szervezetTipusId = null)
{
ITanuloErtekelesDal dal = h.TanuloErtekelesDal();
bool isNew = !tanuloErtekelesCo.Id.IsEntityId();
var entity = isNew ? dal.Get() : dal.Get(tanuloErtekelesCo.Id.Value);
DateTime datum = tanuloErtekelesCo.Datum;
bool isMagatartasSzorgalom = tanuloErtekelesCo.IsMagatartasSzorgalom;
TanuloErtekelesLogicBase.SetDefaultTanuloErtekelesProperties(entity, tanuloErtekelesCo, datum, isMagatartasSzorgalom, isNew);
if (isNew)
{
int? rogziteskoriTanuloOsztalyId = GetRogziteskoriOsztalyId(h, tanuloErtekelesCo, datum, szervezetTipusId);
TanuloErtekelesLogicBase.SetNewTanuloErtekelesProperties(entity, tanuloErtekelesCo, felhasznaloId, isMagatartasSzorgalom, rogziteskoriTanuloOsztalyId);
dal.Insert(entity);
SetNyelviesitesProperties(h, entity, tanuloErtekelesCo, isMagatartasSzorgalom);
dal.FullUpdate(entity);
}
else
{
SetNyelviesitesProperties(h, entity, tanuloErtekelesCo, isMagatartasSzorgalom);
dal.FullUpdate(entity);
}
if (tanuloErtekelesCo.TantargyId != null && !szervezetTipusId.HasValue)
{
UpdateTantargyAtlagByTanuloTantargy(h, tanuloErtekelesCo.TanuloId, tanuloErtekelesCo.TantargyId.Value, entity.OsztalyCsoport.FeladatEllatasiHely.OktatasiNevelesiFeladatTipus);
}
return entity;
}
private void SetNyelviesitesProperties(IDalHandler h, ITanuloErtekeles entity, TanuloErtekelesCo tanuloErtekelesCo, bool isMagatartasSzorgalom)
{
ITanuloErtekelesDal dal = h.TanuloErtekelesDal();
if (!TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(entity.TipusId))
{
dal.RemoveAllTanuloErtekelesNyelv(entity);
return;
}
var nemzetiDokumentumNyelvek = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
if (!nemzetiDokumentumNyelvek.Any() || !TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(tanuloErtekelesCo.TipusId))
{
return;
}
var tanuloErtekelesNyelvHelperCo = new TanuloErtekelesNyelvHelperCo
{
IsMagatartasSzorgalom = isMagatartasSzorgalom,
ErtekelesSzoveg = tanuloErtekelesCo.ErtekelesSzoveg,
ErtekelesTema = tanuloErtekelesCo.ErtekelesTema,
MagatartasSzoveg = tanuloErtekelesCo.MagatartasSzoveg,
SzorgalomSzoveg = tanuloErtekelesCo.SzorgalomSzoveg,
};
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.nemet))
{
tanuloErtekelesNyelvHelperCo.NyelvEnum = AnyanyelvEnum.nemet;
tanuloErtekelesNyelvHelperCo.ErtekelesSzovegNyelv = tanuloErtekelesCo.ErtekelesSzovegNemet;
tanuloErtekelesNyelvHelperCo.ErtekelesSzovegFormazottNyelv = tanuloErtekelesCo.ErtekelesSzovegFormazottNemet;
tanuloErtekelesNyelvHelperCo.ErtekelesTemaNyelv = tanuloErtekelesCo.ErtekelesTemaNemet;
tanuloErtekelesNyelvHelperCo.MagatartasSzovegNyelv = tanuloErtekelesCo.MagatartasSzovegNemet;
tanuloErtekelesNyelvHelperCo.MagatartasSzovegFormazottNyelv = tanuloErtekelesCo.MagatartasSzovegFormazottNemet;
tanuloErtekelesNyelvHelperCo.SzorgalomSzovegNyelv = tanuloErtekelesCo.ErtekelesSzovegNemet;
tanuloErtekelesNyelvHelperCo.SzorgalomSzovegFormazottNyelv = tanuloErtekelesCo.SzorgalomSzovegFormazottNemet;
SetNyelvProperties(h, entity, tanuloErtekelesNyelvHelperCo);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.horvat))
{
tanuloErtekelesNyelvHelperCo.NyelvEnum = AnyanyelvEnum.horvat;
tanuloErtekelesNyelvHelperCo.ErtekelesSzovegNyelv = tanuloErtekelesCo.ErtekelesSzovegHorvat;
tanuloErtekelesNyelvHelperCo.ErtekelesSzovegFormazottNyelv = tanuloErtekelesCo.ErtekelesSzovegFormazottHorvat;
tanuloErtekelesNyelvHelperCo.ErtekelesTemaNyelv = tanuloErtekelesCo.ErtekelesTemaHorvat;
tanuloErtekelesNyelvHelperCo.MagatartasSzovegNyelv = tanuloErtekelesCo.MagatartasSzovegHorvat;
tanuloErtekelesNyelvHelperCo.MagatartasSzovegFormazottNyelv = tanuloErtekelesCo.MagatartasSzovegFormazottHorvat;
tanuloErtekelesNyelvHelperCo.SzorgalomSzovegNyelv = tanuloErtekelesCo.ErtekelesSzovegHorvat;
tanuloErtekelesNyelvHelperCo.SzorgalomSzovegFormazottNyelv = tanuloErtekelesCo.SzorgalomSzovegFormazottHorvat;
SetNyelvProperties(h, entity, tanuloErtekelesNyelvHelperCo);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.roman))
{
tanuloErtekelesNyelvHelperCo.NyelvEnum = AnyanyelvEnum.roman;
tanuloErtekelesNyelvHelperCo.ErtekelesSzovegNyelv = tanuloErtekelesCo.ErtekelesSzovegRoman;
tanuloErtekelesNyelvHelperCo.ErtekelesSzovegFormazottNyelv = tanuloErtekelesCo.ErtekelesSzovegFormazottRoman;
tanuloErtekelesNyelvHelperCo.ErtekelesTemaNyelv = tanuloErtekelesCo.ErtekelesTemaRoman;
tanuloErtekelesNyelvHelperCo.MagatartasSzovegNyelv = tanuloErtekelesCo.MagatartasSzovegRoman;
tanuloErtekelesNyelvHelperCo.MagatartasSzovegFormazottNyelv = tanuloErtekelesCo.MagatartasSzovegFormazottRoman;
tanuloErtekelesNyelvHelperCo.SzorgalomSzovegNyelv = tanuloErtekelesCo.ErtekelesSzovegRoman;
tanuloErtekelesNyelvHelperCo.SzorgalomSzovegFormazottNyelv = tanuloErtekelesCo.SzorgalomSzovegFormazottRoman;
SetNyelvProperties(h, entity, tanuloErtekelesNyelvHelperCo);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.szerb))
{
tanuloErtekelesNyelvHelperCo.NyelvEnum = AnyanyelvEnum.szerb;
tanuloErtekelesNyelvHelperCo.ErtekelesSzovegNyelv = tanuloErtekelesCo.ErtekelesSzovegSzerb;
tanuloErtekelesNyelvHelperCo.ErtekelesSzovegFormazottNyelv = tanuloErtekelesCo.ErtekelesSzovegFormazottSzerb;
tanuloErtekelesNyelvHelperCo.ErtekelesTemaNyelv = tanuloErtekelesCo.ErtekelesTemaSzerb;
tanuloErtekelesNyelvHelperCo.MagatartasSzovegNyelv = tanuloErtekelesCo.MagatartasSzovegSzerb;
tanuloErtekelesNyelvHelperCo.MagatartasSzovegFormazottNyelv = tanuloErtekelesCo.MagatartasSzovegFormazottSzerb;
tanuloErtekelesNyelvHelperCo.SzorgalomSzovegNyelv = tanuloErtekelesCo.ErtekelesSzovegSzerb;
tanuloErtekelesNyelvHelperCo.SzorgalomSzovegFormazottNyelv = tanuloErtekelesCo.SzorgalomSzovegFormazottSzerb;
SetNyelvProperties(h, entity, tanuloErtekelesNyelvHelperCo);
}
}
private int? GetRogziteskoriOsztalyId(IDalHandler h, TanuloErtekelesCo tanuloErtekelesCo, DateTime? datum, int? szervezetTipusId = null)
{
var osztalyCsoportFeladatKategoriaId = new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h)).GetOsztalyCsoportFeladatKategoria(tanuloErtekelesCo.OsztalyCsoportId.Value);
if (osztalyCsoportFeladatKategoriaId != (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas)
{
return new TanuloHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanuloOsztalyIdByFeladatKategoria(tanuloErtekelesCo.TanuloId, datum, (OktNevelesiKategoriaEnum)osztalyCsoportFeladatKategoriaId, szervezetTipusId);
}
return null;
}
private void SetNyelvProperties(IDalHandler h, ITanuloErtekeles entity, TanuloErtekelesNyelvHelperCo tanuloErtekelesNyelvHelperCo)
{
ITanuloErtekelesNyelv tanuloErtekelesNyelv = entity.TanuloErtekelesNyelv.FirstOrDefault(x => !x.Torolt && x.NyelvId == (int)tanuloErtekelesNyelvHelperCo.NyelvEnum);
var isNew = tanuloErtekelesNyelv == null;
if (isNew)
{
tanuloErtekelesNyelv = h.TanuloErtekelesNyelvDal().Get();
tanuloErtekelesNyelv.NyelvId = (int)tanuloErtekelesNyelvHelperCo.NyelvEnum;
tanuloErtekelesNyelv.TanuloErtekelesId = entity.ID;
}
if (!tanuloErtekelesNyelvHelperCo.IsMagatartasSzorgalom)
{
tanuloErtekelesNyelv.SzorgalomSzoveg = null;
tanuloErtekelesNyelv.SzorgalomSzovegFormazott = null;
tanuloErtekelesNyelv.MagatartasSzoveg = null;
tanuloErtekelesNyelv.MagatartasSzovegFormazott = null;
if (!string.IsNullOrWhiteSpace(tanuloErtekelesNyelvHelperCo.ErtekelesSzoveg))
{
tanuloErtekelesNyelv.ErtekelesSzoveg = tanuloErtekelesNyelvHelperCo.ErtekelesSzovegNyelv;
tanuloErtekelesNyelv.ErtekelesSzovegFormazott = tanuloErtekelesNyelvHelperCo.ErtekelesSzovegFormazottNyelv;
}
else
{
tanuloErtekelesNyelv.ErtekelesSzoveg = null;
tanuloErtekelesNyelv.ErtekelesSzovegFormazott = null;
}
tanuloErtekelesNyelv.ErtekelesTema = !string.IsNullOrWhiteSpace(tanuloErtekelesNyelvHelperCo.ErtekelesTema) ? tanuloErtekelesNyelvHelperCo.ErtekelesTemaNyelv : null;
}
else
{
tanuloErtekelesNyelv.ErtekelesSzoveg = null;
tanuloErtekelesNyelv.ErtekelesSzovegFormazott = null;
tanuloErtekelesNyelv.ErtekelesTema = null;
if (!string.IsNullOrWhiteSpace(tanuloErtekelesNyelvHelperCo.MagatartasSzoveg))
{
tanuloErtekelesNyelv.MagatartasSzoveg = tanuloErtekelesNyelvHelperCo.MagatartasSzovegNyelv;
tanuloErtekelesNyelv.MagatartasSzovegFormazott = tanuloErtekelesNyelvHelperCo.MagatartasSzovegFormazottNyelv;
}
else
{
tanuloErtekelesNyelv.MagatartasSzoveg = null;
tanuloErtekelesNyelv.MagatartasSzovegFormazott = null;
}
if (!string.IsNullOrWhiteSpace(tanuloErtekelesNyelvHelperCo.SzorgalomSzoveg))
{
tanuloErtekelesNyelv.SzorgalomSzoveg = tanuloErtekelesNyelvHelperCo.SzorgalomSzovegNyelv;
tanuloErtekelesNyelv.SzorgalomSzovegFormazott = tanuloErtekelesNyelvHelperCo.SzorgalomSzovegFormazottNyelv;
}
else
{
tanuloErtekelesNyelv.SzorgalomSzoveg = null;
tanuloErtekelesNyelv.SzorgalomSzovegFormazott = null;
}
}
if (isNew)
{
h.TanuloErtekelesDal().AddTanuloErtekelesNyelv(entity, tanuloErtekelesNyelv);
}
else
{
h.TanuloErtekelesNyelvDal().Update(tanuloErtekelesNyelv);
}
}
public ITanuloErtekeles SaveOrUpdateTanuloErtekeles(int felhasznaloId, TanuloErtekelesCo tanuloErtekelesCo, int? szervezetTipusId = null)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
return SaveOrUpdateTanuloErtekeles(h, felhasznaloId, tanuloErtekelesCo, szervezetTipusId);
});
}
public List<ComboBoxListItem> GetDolgozatTemakForComboBox(int? osztalyCsoportId, int? tantargyId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var comboBoxListItemList = new List<ComboBoxListItem>();
DataSet dataSet = h.TanuloErtekelesDal().GetDolgozatErtekelesTemak(IntezmenyId, TanevId, osztalyCsoportId, tantargyId);
foreach (var tema in dataSet.Tables[0].AsEnumerable().Select(r => r.Field<string>("ErtekelesTema")).OrderBy(r => r))
{
comboBoxListItemList.Add(
new ComboBoxListItem
{
Text = tema,
Value = tema
});
}
return comboBoxListItemList;
});
}
private bool GetIsJegyekAtlagaMegjelenik()
{
bool result = SystemSettingsManager.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Ertekelesnel_a_naplojegyek_atlaga_megjelenik, IntezmenyAzonosito, TanevId);
return result;
}
/// INFO @DevKornel: Mobil használja
private bool GetIsVegzosOsztalyTanuloja(int tanuloId, IDalHandler h)
{
var isVegzosOsztalyTanuloja = false;
int? osztalyId = new TanuloHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanuloAlapkepzesesOsztalyId(tanuloId);
if (osztalyId.IsEntityId())
{
isVegzosOsztalyTanuloja = new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h)).GetIsVegzosOsztalyCsoport(osztalyId.Value);
}
return isVegzosOsztalyTanuloja;
}
private bool IsINegyedevesJegyHidden()
{
DateTime? megjelenitesDate = SystemSettingsManager.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.I_Negyedeves_jegyek_megjelenesenek_datuma, IntezmenyAzonosito, TanevId);
return megjelenitesDate > DateTime.UtcNow;
}
private bool IsIiNegyedevesJegyHidden()
{
DateTime? megjelenitesDate = SystemSettingsManager.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.II_Negyedeves_jegyek_megjelenesenek_datuma, IntezmenyAzonosito, TanevId);
return megjelenitesDate > DateTime.UtcNow;
}
private bool IsFeleviJegyHidden()
{
DateTime? megjelenitesDate = SystemSettingsManager.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Felevi_jegyek_megjelenesenek_datuma, IntezmenyAzonosito, TanevId);
return megjelenitesDate > DateTime.UtcNow;
}
private bool IsIiiNegyedevesJegyHidden()
{
DateTime? megjelenitesDate = SystemSettingsManager.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.III_Negyedeves_jegyek_megjelenesenek_datuma, IntezmenyAzonosito, TanevId);
return megjelenitesDate > DateTime.UtcNow;
}
private bool IsIvNegyedevesJegyHidden(bool isVegzosOsztalyTanuloja)
{
DateTime? megjelenitesDate;
DateTime? ivNegyedevesJegyMegjelenitesDate = SystemSettingsManager.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.IV_Negyedeves_jegyek_megjelenesenek_datuma, IntezmenyAzonosito, TanevId);
if (isVegzosOsztalyTanuloja)
{
//NOTE: Ha végzős, akkor a végzős évvégi jegy megjelenítés és a IV. negyedéves jegy megjelenítés dátum közül a korábbit vesszük figyelembe!
List<DateTime?> megjelenitesDateList = new List<DateTime?>
{
ivNegyedevesJegyMegjelenitesDate,
SystemSettingsManager.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Ev_vegi_jegyek_megjelenesenek_datuma_vegzos, IntezmenyAzonosito, TanevId)
};
megjelenitesDate = megjelenitesDateList.OfType<DateTime>().Min();
}
else
{
//NOTE: Ha nem végzős, akkor a IV. negyedéves jegy megjelenítés dátumát vesszük figyelembe!
megjelenitesDate = ivNegyedevesJegyMegjelenitesDate;
}
return megjelenitesDate > DateTime.UtcNow;
}
private bool IsEvvegiJegyHidden(bool isVegzosOsztalyTanuloja)
{
//NOTE: Ha végzős, akkor a végzős évvégi jegy megjelenítés dátumát vesszük figyelembe, különben az évvégi jegy megjelenítés dátumát!
DateTime? megjelenitesDate = isVegzosOsztalyTanuloja ? SystemSettingsManager.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Ev_vegi_jegyek_megjelenesenek_datuma_vegzos, IntezmenyAzonosito, TanevId) : SystemSettingsManager.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Ev_vegi_jegyek_megjelenesenek_datuma, IntezmenyAzonosito, TanevId);
return megjelenitesDate > DateTime.UtcNow;
}
/// INFO @DevKornel: Mobil használja
public int GetKesleltetettMegjelenitesOraszam()
{
int result = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Ertekelesek_megjelenese_az_ellenorzo_modulban, IntezmenyAzonosito, TanevId);
return result;
}
/// INFO @DevKornel: Mobil használja
public void RemoveTanuloJogosultsagMiattiErtekelesek(List<int> tanuloIds, DataTable dataTable)
{
var isVegzosOsztalyTanulojaByTanuloId = new Dictionary<int, bool>();
Dal.CustomConnection.Run(ConnectionType, h =>
{
foreach (var tanuloId in tanuloIds)
{
isVegzosOsztalyTanulojaByTanuloId.Add(tanuloId, GetIsVegzosOsztalyTanuloja(tanuloId, h));
}
});
int kesleltetettMegjelenitesOraszam = GetKesleltetettMegjelenitesOraszam();
for (int i = dataTable.Rows.Count - 1; i >= 0; --i)
{
var tanuloId = dataTable.Rows[i].Field<int>("TanuloId");
int tipusId = SDAConvert.ToInt32(dataTable.Rows[i]["TipusId"]);
DateTime created = SDAConvert.ToDateTime(dataTable.Rows[i]["Created"]).Value;
bool isErtesitesElkuldve = SDAConvert.ToBooleanFromTF(dataTable.Rows[i]["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 && IsINegyedevesJegyHidden() ||
tipusId == (int)ErtekelesTipusEnum.II_ne_jegy_ertekeles && IsIiNegyedevesJegyHidden() ||
tipusId == (int)ErtekelesTipusEnum.felevi_jegy_ertekeles && IsFeleviJegyHidden() ||
tipusId == (int)ErtekelesTipusEnum.III_ne_jegy_ertekeles && IsIiiNegyedevesJegyHidden() ||
tipusId == (int)ErtekelesTipusEnum.IV_ne_jegy_ertekeles && IsIvNegyedevesJegyHidden(isVegzosOsztalyTanulojaByTanuloId[tanuloId]) ||
tipusId == (int)ErtekelesTipusEnum.evvegi_jegy_ertekeles && IsEvvegiJegyHidden(isVegzosOsztalyTanulojaByTanuloId[tanuloId]) ||
created.AddHours(kesleltetettMegjelenitesOraszam) > DateTime.Now)
{
dataTable.Rows.RemoveAt(i);
}
}
}
}
/// INFO @DevKornel: Mobil használja
public DataSet GetTanuloErtekelesListDataSet(TanuloErtekelesListCo tanuloErtekelesListCo, bool utolagosOsztalyszures = false)
{
if (tanuloErtekelesListCo.TantargyUids != null && tanuloErtekelesListCo.TantargyUids.Contains("-1"))
{
tanuloErtekelesListCo.TantargyUids.Remove("-1");
tanuloErtekelesListCo.TantargyUids.Add("Magatartas");
tanuloErtekelesListCo.TantargyUids.Add("Szorgalom");
}
return Dal.CustomConnection.Run(ConnectionType, h =>
{
List<int> szervezetIdList = null;
if (tanuloErtekelesListCo.SzervezetId.IsEntityId())
{
szervezetIdList = h.SzervezetDal(GridParameters).GetLathatoSzervezetek(IntezmenyId, TanevId, tanuloErtekelesListCo.SzervezetId.Value, (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek);
}
DataSet result = h.TanuloErtekelesDal(GridParameters).GetTanuloErtekelesListDataSet(tanuloErtekelesListCo.ToPco(szervezetIdList), utolagosOsztalyszures);
return result;
});
}
/// INFO @DevKornel: Mobil használja
public DataSet GetTantargyiAtlagListDataSet(List<int> tantargyIds, List<int> tanuloIds, int? oktatasiNevelesiFeladatId = null)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
return h.TanuloErtekelesDal(GridParameters).GetTantargyiAtlagListDataSet(TanevId, tantargyIds, tanuloIds, oktatasiNevelesiFeladatId);
});
}
public DataSet GetErtekelesFoglalkozasData(bool isDualisErtekeles = false)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
DataSet result = h.Foglalkozas().GetFelhasznaloFoglalkozasokErtekelesekhez(TanevId, FelhasznaloId);
var nemTanoraiCeluCsoportTipusok = new List<NemTanoraiCeluCsoportTipusDao>();
var isNemTanoraiCeluCsoportokErtekelesEnabled = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.nem_tanorai_celu_csoportok_ertekelesi_lehetosege);
if (!isNemTanoraiCeluCsoportokErtekelesEnabled)
{
nemTanoraiCeluCsoportTipusok = h.Csoport().GetNemTanoraiCeluCsoportTipusList();
}
var responseDs = new DataSet();
responseDs.Tables.Add(result.Tables[0].Clone());
if (isDualisErtekeles)
{
foreach (var dr in result.Tables[0].AsEnumerable().Where(x => x.Field<int?>("CsoportTipusId").HasValue && x.Field<int?>("CsoportTipusId").Value == (int)CsoportTipusEnum.dualis_kepzesi_csoport))
{
responseDs.Tables[0].ImportRow(dr);
}
}
else
{
foreach (DataRow dr in result.Tables[0].Rows)
{
var csoportTipusId = dr.Field<int?>("CsoportTipusId");
if (!isNemTanoraiCeluCsoportokErtekelesEnabled && csoportTipusId.HasValue && nemTanoraiCeluCsoportTipusok.Any(x => x.CsoportTipusId == csoportTipusId.Value))
{
continue;
}
responseDs.Tables[0].ImportRow(dr);
}
}
return responseDs;
});
}
public DataSet GetErtekelesFotargyiFoglalkozasData()
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
DataSet result = h.Foglalkozas().GetErtekelesFotargyiFoglalkozasData(TanevId, FelhasznaloId);
var nemTanoraiCeluCsoportTipusok = new List<NemTanoraiCeluCsoportTipusDao>();
var isNemTanoraiCeluCsoportokErtekelesEnabled = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.nem_tanorai_celu_csoportok_ertekelesi_lehetosege);
if (!isNemTanoraiCeluCsoportokErtekelesEnabled)
{
nemTanoraiCeluCsoportTipusok = h.Csoport().GetNemTanoraiCeluCsoportTipusList();
}
var responseDs = new DataSet();
responseDs.Tables.Add(result.Tables[0].Clone());
foreach (DataRow dr in result.Tables[0].Rows)
{
var csoportTipusId = dr.Field<int?>("CsoportTipusId");
if (!isNemTanoraiCeluCsoportokErtekelesEnabled && csoportTipusId.HasValue && nemTanoraiCeluCsoportTipusok.Any(x => x.CsoportTipusId == csoportTipusId.Value))
{
continue;
}
responseDs.Tables[0].ImportRow(dr);
}
return responseDs;
});
}
public bool HasTantargyFotargyAltargy(int fotargyAltargyId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
bool result = h.Tantargy().HasTantargyFotargyAltargy(IntezmenyId, TanevId, fotargyAltargyId);
return result;
});
}
public string GetAtlag(int osztalyCsoportId, int tantargyId, AtlagMegjelenitesTipus atlagMegjelenitesTipus, AtlagbaBeleszamitoOsztalyTipus atlagbaBeleszamitoOsztalyTipus, DateTime? datum = null)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
string result = "-";
var tantargy = h.Tantargy().GetTantargy(tantargyId);
if (!tantargy.IsTanulmanyiAtlagbaNemSzamit)
{
DataSet dataSet = h.TanuloErtekelesDal().GetAtlag(osztalyCsoportId, tantargyId, TanevId, atlagMegjelenitesTipus, atlagbaBeleszamitoOsztalyTipus, datum);
DataTable dataTable = dataSet.Tables[0];
if (dataTable.Rows.Count > 0)
{
DataRow dataRow = dataTable.Rows[0];
result = SDAConvert.ToString(dataRow["Atlag"]);
}
}
return result;
});
}
public void UpdateTantargyAtlag()
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
h.TanuloErtekelesDal().UpdateTantargyAtlag(IntezmenyId, TanevId, FelhasznaloId);
});
}
public void UpdateTantargyAtlagByTanuloTantargy(IDalHandler h, int tanuloId, int tantargyId, int oktatasNevelesiFeladatId)
{
TantargyiAtlagCache tantargyiAtlagCache = KretaServer.KretaServer.Instance.CacheManager.AquireCacheMobile<TantargyiAtlagCache>();
var cacheEnabledAndNotNull = DependencyResolver.Current.GetService<IFeatureContext>()?.IsEnabled(Constants.FeatureName.MobileEllenorzoApiCache) != null && tantargyiAtlagCache != null;
h.TanuloErtekelesDal().UpdateTantargyAtlagByTanuloTantargy(IntezmenyId, TanevId, FelhasznaloId, tanuloId, tantargyId, oktatasNevelesiFeladatId);
if (cacheEnabledAndNotNull)
{
tantargyiAtlagCache.RemoveTantargyiAtlag(tanuloId, IntezmenyAzonosito, tantargyId.ToString(), oktatasNevelesiFeladatId);
}
}
public void AtlagUjraSzamitasVisszamenolegesModositasUtan(TantargyFelosztasVisszamenolegesCO ttfCo)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
UpdateAtlagByOsztalyCsoportTantargy(h, ttfCo.EredetiOsztalyCsoportId, ttfCo.EredetiTantargyId);
UpdateAtlagByOsztalyCsoportTantargy(h, ttfCo.ModosultOsztalyCsoportId, ttfCo.ModosultTantargyId);
});
}
public void UpdateAtlagByOsztalyCsoportTantargy(IDalHandler h, int osztalyCsoportId, int? tantargyId = null)
{
//TODO: cache törlése lsd. UpdateTantargyAtlagByTanuloTantargy?
h.TanuloErtekelesDal().UpdateAtlagByOsztalyCsoportTantargy(IntezmenyId, TanevId, FelhasznaloId, osztalyCsoportId, tantargyId);
}
public bool CheckTanuloListEgyszerAdhatoTanuloErtekelesValidation(Dictionary<int, int?> tanuloErtekelesDictionary, int tipusId, int? tantargyId, DateTime? datum, int feladatKategoriaId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
bool result = h.TanuloErtekelesDal().CheckTanuloListEgyszerAdhatoTanuloErtekelesValidation(tanuloErtekelesDictionary, tipusId, tantargyId, datum, feladatKategoriaId);
return result;
});
}
public DataSet ValidateTanuloListTanuloMentesseg(List<int> tanuloIdList, int tantargyId, DateTime ertekelesDatum)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
DataSet result = h.TanuloErtekelesDal().ValidateTanuloListTanuloMentesseg(tanuloIdList, tantargyId, ertekelesDatum);
return result;
});
}
/// INFO @DevKornel: Mobil használja
public void RemoveMasEvfolyamTanuloErtekelesek(DataTable dataTable, List<(int tanuloId, int feladatKategoriaId, int? evfolyamTipusId)> tanuloIdAndFeladatKategoriaIdAndEvfolyamTipusIdList)
{
for (int i = dataTable.Rows.Count - 1; i >= 0; --i)
{
(int tanuloId, int feladatKategoriaId, int? evfolyamTipusId) tanuloIdAndFeladatKategoriaAndEvfolyamTipusIdItem = (SDAConvert.ToInt32(dataTable.Rows[i]["TanuloId"]), SDAConvert.ToInt32(dataTable.Rows[i]["FeladatKategoriaId"]), SDAConvert.ToNullableInt32(dataTable.Rows[i]["RogziteskoriTanuloOsztalyEvfolyamTipusId"]));
if (!tanuloIdAndFeladatKategoriaIdAndEvfolyamTipusIdList.Contains(tanuloIdAndFeladatKategoriaAndEvfolyamTipusIdItem))
{
dataTable.Rows.RemoveAt(i);
}
}
}
private Dictionary<int, ErtekelesModCo> GetErtekelesModDictionary()
{
List<ErtekelesModDictionaryItem> ertekelesModDictionaryItems = EnumExtensions.GetErtekelesModDictionaryItems(TanevId);
var ertekelesDict = ertekelesModDictionaryItems.Select(x => new ErtekelesModCo
{
Id = x.Id,
Color = x.Color,
IsBold = x.IsBold
}).ToDictionary(e => e.Id);
return ertekelesDict;
}
public void SaveTanuloErtekelesListMobil(int felhasznaloId, Classes.MobileApi.Naplo.V3.Co.Ertekeles.OsztalyCsoportErtekelesRequestCo osztalyCsoportErtekelesRequestCo)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
var tanuloErtekelesCoList = TanuloErtekelesLogicMobil.GetTanuloErtekelesCoList(IntezmenyId, felhasznaloId, osztalyCsoportErtekelesRequestCo);
tanuloErtekelesCoList = new TanuloErtekelesValidacioMobil(new DalHandlerConnectionType(ConnectionType, h)).Validate(h, tanuloErtekelesCoList, out List<ValidationExceptionItem> errors);
SaveTanuloErtekelesList(h, felhasznaloId, tanuloErtekelesCoList);
if (errors.Any())
{
var validationException = TanuloErtekelesLogicMobil.GetValidationException(errors);
throw validationException;
}
});
}
}
}