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 ErrorMessageList = new List(); 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(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(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 model, List 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(ConnectionType.TanevId), item.SpecialisErtekelesOsztalyzatId.Value.GetDisplayName(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(ConnectionType.TanevId), item.SpecialisErtekelesOsztalyzatId.Value.GetDisplayName(ConnectionType.TanevId), item.TanuloSzuletesiNev)); IsValid = false; } } } } protected void IsValidErtekelesFajta(List 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 nemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionType).GetSystemSettingValue>(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 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 tanuloErtekelesCoList, List 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 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(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 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(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(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 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 nemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionType).GetSystemSettingValue>(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; } } }