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

View file

@ -0,0 +1,580 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlTypes;
using System.Linq;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.DokumentumHelpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual.Interfaces;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
namespace Kreta.BusinessLogic.Logic.TanuloErtekeles
{
public abstract class TanuloErtekelesValidacioBase
{
#region Fields
public readonly List<string> ErrorMessageList = new List<string>();
protected bool IsValid = true;
private const int ErtekelesTemaMaxLength = 2000;
protected IConnectionType ConnectionType;
#endregion Fields
#region Constructors
protected TanuloErtekelesValidacioBase(IConnectionType connectionType)
{
ConnectionType = connectionType;
}
#endregion Constructors
protected void IsExists(TanuloErtekelesCo tanuloErtekelesCo)
{
if (tanuloErtekelesCo == null)
{
ErrorMessageList.Add(TanuloErtekelesResource.NincsKitoltveEgyetlenErtekelesSem);
IsValid = false;
}
}
protected void IsValidOsztalyCsoportId(TanuloErtekelesCo tanuloErtekelesCo)
{
if (!tanuloErtekelesCo.OsztalyCsoportId.IsEntityId())
{
ErrorMessageList.Add(TanuloErtekelesResource.OsztalyCsoportKivalasztasaKotelezo);
IsValid = false;
}
else
{
if (new NaplozarasLogic(ConnectionType).GetLezartOsztalyokEsBontottCsoportjaik().Contains(tanuloErtekelesCo.OsztalyCsoportId.Value))
{
ErrorMessageList.Add(tanuloErtekelesCo.Id.HasValue ? TanuloErtekelesResource.AKivalasztottOsztalyNaplojaLezartNemModosithatoErtekelesAzOsztalyTanuloinaknak : TanuloErtekelesResource.AKivalasztottOsztalyNaplojaLezartNemAdhatoErtekelesAzOsztalyTanuloinaknak);
IsValid = false;
}
}
}
protected void IsValidTanoraiCeluOsztalyCsoport(TanuloErtekelesCo tanuloErtekelesCo)
{
if (tanuloErtekelesCo.OsztalyCsoportId.IsEntityId())
{
bool nemTanoraiCeluCsoportokErtekelesiLehetosege = new SystemSettingsHelper(ConnectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.nem_tanorai_celu_csoportok_ertekelesi_lehetosege);
bool isOsztalyCsoportNemTanoraiCeluCsoport = new OsztalyCsoportHelper(ConnectionType).IsOsztalyCsoportNemTanoraiCeluCsoport(tanuloErtekelesCo.OsztalyCsoportId.Value);
if (!nemTanoraiCeluCsoportokErtekelesiLehetosege && isOsztalyCsoportNemTanoraiCeluCsoport)
{
ErrorMessageList.Add(TanuloErtekelesResource.NemTanoraiCeluCsoporthozNemLehetErtekelestRogziteni);
IsValid = false;
}
}
}
protected void IsValidTipusId(TanuloErtekelesCo tanuloErtekelesCo)
{
if (!tanuloErtekelesCo.TipusId.IsEntityId())
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesTipusanakMegadasaKotelezo);
IsValid = false;
}
}
protected void IsValidDatum(TanuloErtekelesCo tanuloErtekelesCo)
{
DateTime datum = tanuloErtekelesCo.Datum;
if (datum == default)
{
ErrorMessageList.Add(string.Format(CommonResource.Required, $"\"{TanuloErtekelesResource.BejegyzesDatuma}\""));
IsValid = false;
}
else
{
if (datum > DateTime.Today)
{
ErrorMessageList.Add(TanuloErtekelesResource.BejegyzesDatumaNemlehetKesobbiMintAMaiNap);
IsValid = false;
}
var isCsakNaplozasZarasa = new SystemSettingsHelper(ConnectionType).GetSystemSettingValue<NaplozarasErvenyessegiKoreEnum>(RendszerBeallitasTipusEnum.elektronikus_naplo_zarasanak_datuma_beallitas_ervenyesegi_kore) == NaplozarasErvenyessegiKoreEnum.CsakNaplozasZarasa;
if (!isCsakNaplozasZarasa && datum < new OrarendHelper(ConnectionType).GetNaplozarasDate(startDate: null))
{
ErrorMessageList.Add(TanuloErtekelesResource.BejegyzesDatumaNemLehetKorabbiMintAMegengedett);
IsValid = false;
}
}
}
protected void IsValidSpecialisErtekelesOsztalyzatId(List<TanuloErtekelesCo> model, List<int> egyszerAdhatoErtekelesTipusIds, int tipusId)
{
foreach (TanuloErtekelesCo item in model)
{
if (item.SpecialisErtekelesOsztalyzatId.IsEntityId())
{
if (item.SpecialisErtekelesOsztalyzatId.Value == (int)SpecialisErtekelesOsztalyzatEnum.NemIrt &&
egyszerAdhatoErtekelesTipusIds.Contains(tipusId))
{
ErrorMessageList.Add(string.Format(
TanuloErtekelesResource.NemKaphatTipusuErtekelesOsztalyzatotAKovetkezoTanulonal,
tipusId.GetDisplayName<ErtekelesTipusEnum>(ConnectionType.TanevId),
item.SpecialisErtekelesOsztalyzatId.Value.GetDisplayName<SpecialisErtekelesOsztalyzatEnum>(ConnectionType.TanevId),
item.TanuloSzuletesiNev));
IsValid = false;
}
else if ((item.SpecialisErtekelesOsztalyzatId.Value == (int)SpecialisErtekelesOsztalyzatEnum.Dicseret ||
item.SpecialisErtekelesOsztalyzatId.Value == (int)SpecialisErtekelesOsztalyzatEnum.Kituno ||
item.SpecialisErtekelesOsztalyzatId.Value == (int)SpecialisErtekelesOsztalyzatEnum.Mentesitve) &&
!egyszerAdhatoErtekelesTipusIds.Contains(tipusId))
{
ErrorMessageList.Add(string.Format(
TanuloErtekelesResource.NemKaphatTipusuErtekelesOsztalyzatotAKovetkezoTanulonal,
tipusId.GetDisplayName<ErtekelesTipusEnum>(ConnectionType.TanevId),
item.SpecialisErtekelesOsztalyzatId.Value.GetDisplayName<SpecialisErtekelesOsztalyzatEnum>(ConnectionType.TanevId),
item.TanuloSzuletesiNev));
IsValid = false;
}
}
}
}
protected void IsValidErtekelesFajta(List<TanuloErtekelesCo> model)
{
bool isOsztalyzattalErtekelheto = false;
bool isSzovegesenErtekelheto = false;
bool isSzazalekosanErtekelheto = false;
if (model != null && model.Count > 0 && model[0].TantargyId.HasValue)
{
(isOsztalyzattalErtekelheto, isSzovegesenErtekelheto, isSzazalekosanErtekelheto) = new TantargyHelper(ConnectionType).GetErtekelesKorlatozasok(model[0].TantargyId.Value);
}
foreach (TanuloErtekelesCo item in model)
{
bool hasErtekelesOsztalyzat = false;
bool hasErtekelesSzoveges = false;
bool hasErtekelesSzazalekos = false;
int? specialisErtekelesOsztalyzatId = item.SpecialisErtekelesOsztalyzatId;
if (item.ErtekelesOsztalyzatId.IsEntityId() || specialisErtekelesOsztalyzatId.IsEntityId())
{
if (!isOsztalyzattalErtekelheto)
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesFajtajaNemLehetOsztalyzat);
IsValid = false;
break;
}
hasErtekelesOsztalyzat = true;
}
// NOTE: A Mentesitve és a NemIrt speciális osztályzat esetén szöveges értékelés jön létre osztályzat helyett, viszont az osztályzatok tabfülről jön,
// így ezt nem vesszük szöveges értékelésnek validációkor. Emiatt nem is dobunk validációs hibát, mert olyan mintha osztályzat lenne.
// Ezt az ErtekelesListSaveModel.cs-ben állítjuk ToCoList függvényben.
if (!string.IsNullOrWhiteSpace(item.ErtekelesSzoveg) &&
(!specialisErtekelesOsztalyzatId.IsEntityId() ||
(specialisErtekelesOsztalyzatId.IsEntityId() &&
specialisErtekelesOsztalyzatId != (int)SpecialisErtekelesOsztalyzatEnum.Mentesitve &&
specialisErtekelesOsztalyzatId != (int)SpecialisErtekelesOsztalyzatEnum.NemIrt)))
{
if (!isSzovegesenErtekelheto)
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesFajtajaNemLehetSzoveges);
IsValid = false;
break;
}
hasErtekelesSzoveges = true;
}
if (item.ErtekelesSzazalek.HasValue)
{
if (!isSzazalekosanErtekelheto)
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesFajtajaNemLehetSzazalek);
IsValid = false;
break;
}
hasErtekelesSzazalekos = true;
}
if (!hasErtekelesOsztalyzat &&
!hasErtekelesSzoveges &&
!hasErtekelesSzazalekos)
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesFajtajaNemLehetNull);
IsValid = false;
}
else
{
if (!CommonUtils.TernaryXor(
hasErtekelesOsztalyzat,
hasErtekelesSzoveges,
hasErtekelesSzazalekos))
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesFajtajaNemLehetKulonbozo);
IsValid = false;
}
}
}
}
protected void IsValidTantargyId(TanuloErtekelesCo tanuloErtekelesCo)
{
if (!tanuloErtekelesCo.TantargyId.IsEntityId())
{
ErrorMessageList.Add(TanuloErtekelesResource.TantargyKivalasztasaKotelezo);
IsValid = false;
}
}
protected void IsValidErtekelesTema(TanuloErtekelesCo tanuloErtekelesCo)
{
string ertekelesTema = tanuloErtekelesCo.ErtekelesTema;
if (!string.IsNullOrWhiteSpace(ertekelesTema))
{
if (ertekelesTema.Length > ErtekelesTemaMaxLength)
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesTemaTulHosszu);
IsValid = false;
}
List<int> nemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionType).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
if (nemzetiDokumentumNyelvek.Any() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(tanuloErtekelesCo.TipusId))
{
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.nemet))
{
string ertekelesTemaNemet = tanuloErtekelesCo.ErtekelesTemaNemet;
if (!string.IsNullOrWhiteSpace(ertekelesTemaNemet) && ertekelesTemaNemet.Length > ErtekelesTemaMaxLength)
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesTemaNemetTulHosszu);
IsValid = false;
}
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.horvat))
{
string ertekelesTemaHorvat = tanuloErtekelesCo.ErtekelesTemaHorvat;
if (!string.IsNullOrWhiteSpace(ertekelesTemaHorvat) && ertekelesTemaHorvat.Length > ErtekelesTemaMaxLength)
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesTemaHorvatTulHosszu);
IsValid = false;
}
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.roman))
{
string ertekelesTemaRoman = tanuloErtekelesCo.ErtekelesTemaRoman;
if (!string.IsNullOrWhiteSpace(ertekelesTemaRoman) && ertekelesTemaRoman.Length > ErtekelesTemaMaxLength)
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesTemaRomanTulHosszu);
IsValid = false;
}
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.szerb))
{
string ertekelesTemaSzerb = tanuloErtekelesCo.ErtekelesTemaSzerb;
if (!string.IsNullOrWhiteSpace(ertekelesTemaSzerb) && ertekelesTemaSzerb.Length > ErtekelesTemaMaxLength)
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesTemaSzerbTulHosszu);
IsValid = false;
}
}
}
}
}
protected void IsValidMagatartasSzorgalomFajta(List<TanuloErtekelesCo> model)
{
bool hasMagatartasSzorgalomOsztalyzat = false;
bool hasMagatartasSzorgalomSzoveges = false;
bool hasMagatartasSzorgalomErtek = false;
foreach (TanuloErtekelesCo item in model)
{
if (item.MagatartasOsztalyzatId.IsEntityId() || item.SzorgalomOsztalyzatId.IsEntityId())
{
hasMagatartasSzorgalomOsztalyzat = true;
}
if (!string.IsNullOrWhiteSpace(item.MagatartasSzoveg) || !string.IsNullOrWhiteSpace(item.SzorgalomSzoveg))
{
hasMagatartasSzorgalomSzoveges = true;
}
if (item.MagatartasErtekId.IsEntityId() || item.SzorgalomErtekId.IsEntityId())
{
hasMagatartasSzorgalomErtek = true;
}
}
if (!hasMagatartasSzorgalomOsztalyzat && !hasMagatartasSzorgalomSzoveges && !hasMagatartasSzorgalomErtek)
{
ErrorMessageList.Add(TanuloErtekelesResource.MagatartasSzorgalomFajtajaNemLehetNull);
IsValid = false;
}
else
{
if (!CommonUtils.TernaryXor(
hasMagatartasSzorgalomOsztalyzat,
hasMagatartasSzorgalomSzoveges,
hasMagatartasSzorgalomErtek))
{
ErrorMessageList.Add(TanuloErtekelesResource.MagatartasSzorgalomFajtajaNemLehetKulonbozo);
IsValid = false;
}
}
}
protected void IsValidDatumIsTanitasiNap(TanuloErtekelesCo tanuloErtekelesCo)
{
DateTime datum = tanuloErtekelesCo.Datum;
int? osztalyCsoportId = tanuloErtekelesCo.OsztalyCsoportId;
if (!IsTanitasiNap(datum, osztalyCsoportId))
{
ErrorMessageList.Add(TanuloErtekelesResource.CsakTanitasiNapraVehetoFelErtekeles);
IsValid = false;
}
}
protected void IsValidEgyszerAdhatoTanuloErtekeles(TanuloErtekelesCo tanuloErtekelesCo, List<TanuloErtekelesCo> tanuloErtekelesCoList, List<int> egyszerAdhatoErtekelesTipusIds)
{
int tipusId = tanuloErtekelesCo.TipusId;
int? tantargyId = tanuloErtekelesCo.TantargyId;
DateTime datum = tanuloErtekelesCo.Datum;
int feladatKategoriaId = new OsztalyCsoportHelper(ConnectionType).GetOsztalyCsoportFeladatKategoria(tanuloErtekelesCo.OsztalyCsoportId.Value);
if (egyszerAdhatoErtekelesTipusIds.Contains(tipusId))
{
var helper = new TanuloErtekelesHelper(ConnectionType);
Dictionary<int, int?> tanuloErtekelesDictionary = tanuloErtekelesCoList.Select(x => new { x.TanuloId, x.Id }).ToDictionary(x => x.TanuloId, x => x.Id);
if (helper.CheckTanuloListEgyszerAdhatoTanuloErtekelesValidation(tanuloErtekelesDictionary, tipusId, tantargyId, datum, feladatKategoriaId))
{
var message = string.Format(TanuloErtekelesResource.AzErtekelesTipusbolNemLehetTobbATanevben, tipusId.GetDisplayName<ErtekelesTipusEnum>(ConnectionType.TanevId));
if (!ErrorMessageList.Contains(message))
{
ErrorMessageList.Add(message);
}
IsValid = false;
}
}
}
protected void IsValidErtekelesModId(TanuloErtekelesCo tanuloErtekelesCo)
{
int tipusId = tanuloErtekelesCo.TipusId;
int? ertekelesModId = tanuloErtekelesCo.ErtekelesModId;
if (tipusId == (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles)
{
if (!ertekelesModId.IsEntityId())
{
ErrorMessageList.Add(string.Format(CommonResource.Required, $"\"{TanuloErtekelesResource.ErtekelesModja}\""));
IsValid = false;
}
}
else
{
if (ertekelesModId.IsEntityId())
{
ErrorMessageList.Add(TanuloErtekelesResource.ErtekelesModjaCsakEvkozinélTolthetoKi);
IsValid = false;
}
}
}
protected void IsValidUtolsoTanitasiNapUtanErtekeles(TanuloErtekelesCo tanuloErtekelesCo)
{
var tanevCo = new TanevHelper(ConnectionType).GetTanevInfo();
DateTime datum = tanuloErtekelesCo.Datum;
int tipusId = tanuloErtekelesCo.TipusId;
int? osztalyCsoportId = tanuloErtekelesCo.OsztalyCsoportId;
if (tanevCo.UtolsoTanitasiNap < datum)
{
List<TanevrendOsztalycsoportCO> osztalyTanevrendjei = new TanevrendHelper(ConnectionType).GetOsztalycsoportTanevrendje(datum, osztalyCsoportId ?? 0);
if (osztalyTanevrendjei.All(x => x.Naptipus != (int)NapTipusEnum.RendkivuliTanitasiNap))
{
if (tipusId == (int)ErtekelesTipusEnum.na || tipusId == (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles)
{
ErrorMessageList.Add(string.Format(
TanuloErtekelesResource.ErtekelesUtolsoTanitasiNapUtanValidacio,
tanevCo.UtolsoTanitasiNap.ToString(Constants.ToStringPattern.HungarianDate),
tipusId.GetDisplayName<ErtekelesTipusEnum>(ConnectionType.TanevId)));
IsValid = false;
}
else
{
if (osztalyTanevrendjei.All(x => x.Naptipus != (int)NapTipusEnum.vizsganap))
{
ErrorMessageList.Add(string.Format(TanuloErtekelesResource.ErtekelesUtolsoTanitasiNapUtanValidacioEgyszerAdhato,
tanevCo.UtolsoTanitasiNap.ToString(Constants.ToStringPattern.HungarianDate),
tipusId.GetDisplayName<ErtekelesTipusEnum>(ConnectionType.TanevId),
NapTipusEnum.RendkivuliTanitasiNap.GetDisplayName(ConnectionType.TanevId),
NapTipusEnum.vizsganap.GetDisplayName(ConnectionType.TanevId)));
IsValid = false;
}
}
}
}
}
protected void IsValidTanuloMentesseg(TanuloErtekelesCo tanuloErtekelesCo, DataSet tanuloMentessegValidationDataSet)
{
if (!string.IsNullOrWhiteSpace(tanuloErtekelesCo.ErtekelesSzoveg))
{
if (tanuloErtekelesCo.ErtekelesSzoveg.ReplaceMultipleSpacesAndTrim()?.ToLower() != TanuloErtekelesResource.Mentesitve.ToLower() ||
tanuloErtekelesCo.ErtekelesSzovegRovidNev.ReplaceMultipleSpacesAndTrim()?.ToLower() != TanuloErtekelesResource.MentesitveRovidNev.ToLower())
{
foreach (var tanuloMentessegValidationDataRow in tanuloMentessegValidationDataSet.Tables[0].AsEnumerable())
{
if (SDAConvert.ToInt32(tanuloMentessegValidationDataRow["ID"]) == tanuloErtekelesCo.TanuloId &&
SDAConvert.ToBoolean(tanuloMentessegValidationDataRow["ErtkelesMentesseg_BOOL"]) &&
!SDAConvert.ToBoolean(tanuloMentessegValidationDataRow["SzovegesenErtekelheto_BOOL"]))
{
ErrorMessageList.Add(string.Format(TanuloErtekelesResource.ValidateErtekelesSzovegesFelmentes, tanuloMentessegValidationDataRow["Nev"], tanuloErtekelesCo.Datum.ToShortDateString()));
IsValid = false;
}
}
}
}
else
{
foreach (var tanuloMentessegValidationDataRow in tanuloMentessegValidationDataSet.Tables[0].AsEnumerable())
{
if (SDAConvert.ToInt32(tanuloMentessegValidationDataRow["ID"]) == tanuloErtekelesCo.TanuloId &&
SDAConvert.ToBoolean(tanuloMentessegValidationDataRow["ErtkelesMentesseg_BOOL"]))
{
ErrorMessageList.Add(string.Format(TanuloErtekelesResource.ValidateErtekelesFelmentes, tanuloMentessegValidationDataRow["Nev"], tanuloErtekelesCo.Datum.ToShortDateString()));
IsValid = false;
}
}
}
}
protected bool IsValidTanuloOsztalyCsoportTagja(IDalHandler dalHandler, TanuloErtekelesCo tanuloErtekelesCo, OsztalyCsoportHelper osztalyCsoportHelper)
{
var isTanuloOsztalyCsoportTagja = osztalyCsoportHelper.IsTanuloOsztalyCsoportTagja(tanuloErtekelesCo.TanuloId, tanuloErtekelesCo.OsztalyCsoportId.Value, tanuloErtekelesCo.Datum);
if (!isTanuloOsztalyCsoportTagja)
{
ITanulo tanulo = dalHandler.Tanulo().Get(tanuloErtekelesCo.TanuloId);
ErrorMessageList.Add(string.Format(TanuloErtekelesResource.AdottNaponATanuloNemTagjaAzOsztalyCsoportnak, tanulo.SzuletesiNev));
IsValid = false;
}
return isTanuloOsztalyCsoportTagja;
}
protected void IsValidErtekelesSzazalek(TanuloErtekelesCo model)
{
if (model.ErtekelesSzazalek.HasValue && (model.ErtekelesSzazalek < 0 || model.ErtekelesSzazalek > 100))
{
ErrorMessageList.Add(TanuloErtekelesResource.SzazalekosErtekNincsAMegengedettTartomanyban);
IsValid = false;
}
}
protected void IsValidSzorgalomTargykategoriaErtekeles(TanuloErtekelesCo model, List<TantargyItemCo> tantargyCoList)
{
var tantargyCo = tantargyCoList.SingleOrDefault(x => x.Id == model.TantargyId);
if (tantargyCo != null &&
tantargyCo.TargykategoriaTipusId == (int)TargyKategoriaTipusEnum.Szorgalom &&
model.ErtekelesOsztalyzatId == (int)OsztalyzatTipusEnum.elegtelen_1_)
{
ErrorMessageList.Add(string.IsNullOrWhiteSpace(model.TanuloSzuletesiNev) ?
TanuloErtekelesResource.SzorgalomTargykategoriabaTartozoTantargybolNemAhatoElegtelenOsztalyzat :
string.Format(TanuloErtekelesResource.TanulonakElegelenOsztalyzatotAdtakSzorgalomTargykategoriabaTartozoTantargybolNemAhatoElegtelenOsztalyzat, model.TanuloSzuletesiNev));
IsValid = false;
}
}
protected void IsValidErtekelesSzoveg(TanuloErtekelesCo model)
{
if (!string.IsNullOrWhiteSpace(model.ErtekelesSzoveg) && (model.ErtekelesSzoveg.Length > Constants.MinMaxValues.MaxSzovegesErtekelesHossz))
{
ErrorMessageList.Add(string.Format(ErrorResource.ASzovegNemLehetHosszabbMint0Karakter, Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
IsValid = false;
}
List<int> nemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionType).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
if (nemzetiDokumentumNyelvek.Any() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(model.TipusId))
{
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.nemet))
{
string ertekelesSzovegNemet = model.ErtekelesSzovegNemet;
if (!string.IsNullOrWhiteSpace(ertekelesSzovegNemet) && ertekelesSzovegNemet.Length > Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
{
ErrorMessageList.Add(string.Format(ErrorResource.ASzovegNemetNemLehetHosszabbMint0Karakter, Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
IsValid = false;
}
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.horvat))
{
string ertekelesSzovegHorvat = model.ErtekelesSzovegHorvat;
if (!string.IsNullOrWhiteSpace(ertekelesSzovegHorvat) && ertekelesSzovegHorvat.Length > Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
{
ErrorMessageList.Add(string.Format(ErrorResource.ASzovegHorvatNemLehetHosszabbMint0Karakter, Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
IsValid = false;
}
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.roman))
{
string ertekelesSzovegRoman = model.ErtekelesSzovegRoman;
if (!string.IsNullOrWhiteSpace(ertekelesSzovegRoman) && ertekelesSzovegRoman.Length > Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
{
ErrorMessageList.Add(string.Format(ErrorResource.ASzovegRomanNemLehetHosszabbMint0Karakter, Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
IsValid = false;
}
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.szerb))
{
string ertekelesSzovegSzerb = model.ErtekelesSzovegSzerb;
if (!string.IsNullOrWhiteSpace(ertekelesSzovegSzerb) && ertekelesSzovegSzerb.Length > Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
{
ErrorMessageList.Add(string.Format(ErrorResource.ASzovegSzerbNemLehetHosszabbMint0Karakter, Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
IsValid = false;
}
}
}
}
private bool IsTanitasiNap(DateTime date, int? osztalycsoportId)
{
var sqlMinDate = SqlDateTime.MinValue.Value.Date;
var sqlMaxDate = SqlDateTime.MaxValue.Value.Date;
if (date < sqlMinDate || date > sqlMaxDate)
{
throw new OverflowException(string.Format(ErrorResource.ADatumNemLehetKisebbMintVagyNagyobbMint, sqlMinDate.ToShortDateString(), sqlMaxDate.ToShortDateString()));
}
var osztalyTanevrendjei = new TanevrendHelper(ConnectionType).GetOsztalycsoportTanevrendje(date, osztalycsoportId ?? 0);
if (osztalyTanevrendjei.Any(x => x.Naptipus == (int)NapTipusEnum.vizsganap))
{
return true;
}
bool result = new TanevrendHelper(ConnectionType).IsTanitasiNap(date, osztalycsoportId);
return result;
}
}
}