init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,225 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Core;
|
||||
using Kreta.DataAccess.Interfaces;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Logic.TanuloErtekeles
|
||||
{
|
||||
public class TanuloErtekelesLogicBase
|
||||
{
|
||||
#region Fields
|
||||
|
||||
public static List<int> NyelviesithetoTanuloErtekelesTipusIdList => new List<int>
|
||||
{
|
||||
//NOTE: Egyelőre ez azért egy elemű lista, mert a jövőben bővülni fog és így csak itt kell kiegészíteni nem sok helyen átírni.
|
||||
// Ha 1-nél több eleme van, akkor törölni ezt a NOTE-ot!
|
||||
(int) ErtekelesTipusEnum.evvegi_jegy_ertekeles
|
||||
};
|
||||
|
||||
public static List<int> HaviAtlagbaNemSzamitoErtekelesTipusIdList => new List<int>
|
||||
{
|
||||
(int) ErtekelesTipusEnum.muveszeti_alapvizsga,
|
||||
(int) ErtekelesTipusEnum.muveszeti_zarovizsga
|
||||
};
|
||||
|
||||
#endregion Fields
|
||||
|
||||
/// INFO @DevKornel: Mobil használja
|
||||
public static string GetOsztalyzatTextShort(int? osztalyzat, List<int> egyszerAdhatoErtekelesTipusIds, bool isDefaultReturnValueNull = false, int? tipusId = null, string tema = null)
|
||||
{
|
||||
switch (osztalyzat)
|
||||
{
|
||||
case (int)OsztalyzatTipusEnum.elegtelen_1_:
|
||||
return "1";
|
||||
|
||||
case (int)OsztalyzatTipusEnum.elegseges_2_:
|
||||
return "2";
|
||||
|
||||
case (int)OsztalyzatTipusEnum.kozepes_3_:
|
||||
return "3";
|
||||
|
||||
case (int)OsztalyzatTipusEnum.jo_4_:
|
||||
return "4";
|
||||
|
||||
case (int)OsztalyzatTipusEnum.jeles_5_:
|
||||
var jeles = "5";
|
||||
if (tipusId.IsEntityId() && egyszerAdhatoErtekelesTipusIds.Contains(tipusId.Value))
|
||||
{
|
||||
if (tema.ReplaceMultipleSpacesAndTrim(string.Empty).ToLower() == TanuloErtekelesResource.Dicseret.ReplaceMultipleSpacesAndTrim()?.ToLower())
|
||||
{
|
||||
jeles = TanuloErtekelesResource.DicseretRovidNev;
|
||||
}
|
||||
else if (tema.ReplaceMultipleSpacesAndTrim(string.Empty).ToLower() == TanuloErtekelesResource.Kituno.ReplaceMultipleSpacesAndTrim()?.ToLower())
|
||||
{
|
||||
jeles = TanuloErtekelesResource.KitunoRovidNev;
|
||||
}
|
||||
}
|
||||
|
||||
return jeles;
|
||||
|
||||
default:
|
||||
return isDefaultReturnValueNull ? null : "-";
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetDefaultTanuloErtekelesProperties(ITanuloErtekeles entity, TanuloErtekelesCo tanuloErtekelesCo, DateTime datum, bool isMagatartasSzorgalom, bool isNew)
|
||||
{
|
||||
int tipusId = tanuloErtekelesCo.TipusId;
|
||||
entity.TipusId = tipusId;
|
||||
entity.Datum = datum;
|
||||
entity.IsFromMobil = tanuloErtekelesCo.IsFromMobil;
|
||||
if (!isMagatartasSzorgalom)
|
||||
{
|
||||
SetErtekelesProperties(entity, tanuloErtekelesCo, isNew, tipusId);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMagatartasSzorgalomProperties(entity, tanuloErtekelesCo);
|
||||
}
|
||||
|
||||
if (tanuloErtekelesCo.IntezmenyId.IsEntityId())
|
||||
{
|
||||
entity.IntezmenyId = tanuloErtekelesCo.IntezmenyId.Value;
|
||||
}
|
||||
}
|
||||
|
||||
private static void SetErtekelesProperties(ITanuloErtekeles entity, TanuloErtekelesCo tanuloErtekelesCo, bool isNew, int tipusId)
|
||||
{
|
||||
if (isNew)
|
||||
{
|
||||
entity.TantargyId = tanuloErtekelesCo.TantargyId.Value;
|
||||
}
|
||||
|
||||
if (tanuloErtekelesCo.ErtekelesOsztalyzatId.IsEntityId())
|
||||
{
|
||||
entity.ErtekelesOsztalyzatId = tanuloErtekelesCo.ErtekelesOsztalyzatId.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.ErtekelesOsztalyzatId = null;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(tanuloErtekelesCo.ErtekelesSzoveg))
|
||||
{
|
||||
entity.ErtekelesSzoveg = tanuloErtekelesCo.ErtekelesSzoveg;
|
||||
entity.ErtekelesSzovegFormazott = tanuloErtekelesCo.ErtekelesSzovegFormazott;
|
||||
string ertekelesSzovegRovidNev = tanuloErtekelesCo.ErtekelesSzovegRovidNev;
|
||||
entity.ErtekelesSzovegRovidNev = !string.IsNullOrWhiteSpace(ertekelesSzovegRovidNev) ? ertekelesSzovegRovidNev : null;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.ErtekelesSzoveg = null;
|
||||
entity.ErtekelesSzovegFormazott = null;
|
||||
entity.ErtekelesSzovegRovidNev = null;
|
||||
}
|
||||
|
||||
if (tanuloErtekelesCo.ErtekelesSzazalek.HasValue)
|
||||
{
|
||||
entity.ErtekelesSzazalek = tanuloErtekelesCo.ErtekelesSzazalek.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.ErtekelesSzazalek = null;
|
||||
}
|
||||
|
||||
if (tipusId == (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles && tanuloErtekelesCo.ErtekelesModId.IsEntityId())
|
||||
{
|
||||
entity.ErtekelesModId = tanuloErtekelesCo.ErtekelesModId.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.ErtekelesModId = null;
|
||||
}
|
||||
|
||||
entity.ErtekelesTema = !string.IsNullOrWhiteSpace(tanuloErtekelesCo.ErtekelesTema) ? tanuloErtekelesCo.ErtekelesTema : null;
|
||||
}
|
||||
|
||||
private static void SetMagatartasSzorgalomProperties(ITanuloErtekeles entity, TanuloErtekelesCo tanuloErtekelesCo)
|
||||
{
|
||||
if (tanuloErtekelesCo.MagatartasOsztalyzatId.IsEntityId())
|
||||
{
|
||||
entity.MagatartasOsztalyzatId = tanuloErtekelesCo.MagatartasOsztalyzatId.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.MagatartasOsztalyzatId = null;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(tanuloErtekelesCo.MagatartasSzoveg))
|
||||
{
|
||||
entity.MagatartasSzoveg = tanuloErtekelesCo.MagatartasSzoveg;
|
||||
entity.MagatartasSzovegFormazott = tanuloErtekelesCo.MagatartasSzovegFormazott;
|
||||
string magatartasSzovegRovidNev = tanuloErtekelesCo.MagatartasSzovegRovidNev;
|
||||
entity.MagatartasSzovegRovidNev = !string.IsNullOrWhiteSpace(magatartasSzovegRovidNev) ? magatartasSzovegRovidNev : null;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.MagatartasSzoveg = null;
|
||||
entity.MagatartasSzovegFormazott = null;
|
||||
entity.MagatartasSzovegRovidNev = null;
|
||||
}
|
||||
|
||||
if (tanuloErtekelesCo.MagatartasErtekId.IsEntityId())
|
||||
{
|
||||
entity.MagatartasErtekId = tanuloErtekelesCo.MagatartasErtekId.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.MagatartasErtekId = null;
|
||||
}
|
||||
|
||||
if (tanuloErtekelesCo.SzorgalomOsztalyzatId.IsEntityId())
|
||||
{
|
||||
entity.SzorgalomOsztalyzatId = tanuloErtekelesCo.SzorgalomOsztalyzatId.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.SzorgalomOsztalyzatId = null;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(tanuloErtekelesCo.SzorgalomSzoveg))
|
||||
{
|
||||
entity.SzorgalomSzoveg = tanuloErtekelesCo.SzorgalomSzoveg;
|
||||
entity.SzorgalomSzovegFormazott = tanuloErtekelesCo.SzorgalomSzovegFormazott;
|
||||
string szorgalomSzovegRovidNev = tanuloErtekelesCo.SzorgalomSzovegRovidNev;
|
||||
entity.SzorgalomSzovegRovidNev = !string.IsNullOrWhiteSpace(szorgalomSzovegRovidNev) ? szorgalomSzovegRovidNev : null;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.SzorgalomSzoveg = null;
|
||||
entity.SzorgalomSzovegFormazott = null;
|
||||
entity.SzorgalomSzovegRovidNev = null;
|
||||
}
|
||||
|
||||
if (tanuloErtekelesCo.SzorgalomErtekId.IsEntityId())
|
||||
{
|
||||
entity.SzorgalomErtekId = tanuloErtekelesCo.SzorgalomErtekId.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.SzorgalomErtekId = null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetNewTanuloErtekelesProperties(ITanuloErtekeles entity, TanuloErtekelesCo tanuloErtekelesCo, int felhasznaloId, bool isMagatartasSzorgalom, int? rogziteskoriTanuloOsztalyId)
|
||||
{
|
||||
entity.TanuloId = tanuloErtekelesCo.TanuloId;
|
||||
entity.ErtekeloId = tanuloErtekelesCo.ErtekeloId ?? felhasznaloId;
|
||||
entity.RogzitesDatum = DateTime.Now;
|
||||
entity.OsztalyCsoportId = tanuloErtekelesCo.OsztalyCsoportId.Value;
|
||||
entity.IsMagatartasSzorgalom = isMagatartasSzorgalom;
|
||||
if (tanuloErtekelesCo.OsszefuggoSzakGyakId.IsEntityId())
|
||||
{
|
||||
entity.OsszefuggoSzakGyakId = tanuloErtekelesCo.OsszefuggoSzakGyakId.Value;
|
||||
}
|
||||
|
||||
if (rogziteskoriTanuloOsztalyId.IsEntityId())
|
||||
{
|
||||
entity.RogziteskoriTanuloOsztalyId = rogziteskoriTanuloOsztalyId.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Logic.TanuloErtekeles
|
||||
{
|
||||
public class TanuloErtekelesLogicMobil : TanuloErtekelesLogicBase
|
||||
{
|
||||
/// INFO @DevKornel: Mobil használja
|
||||
public static List<TanuloErtekelesCo> GetTanuloErtekelesCoListV2(int intezmenyId, int felhasznaloId, OsztalyCsoportErtekelesRequestCo osztalyCsoportErtekelesRequestCo)
|
||||
{
|
||||
var tanuloErtekelesCoList = new List<TanuloErtekelesCo>();
|
||||
|
||||
foreach (var item in osztalyCsoportErtekelesRequestCo.TanuloLista)
|
||||
{
|
||||
var tanuloErtekelesCo = new TanuloErtekelesCo
|
||||
{
|
||||
MobilId = item.MobilId,
|
||||
TanuloId = item.TanuloId,
|
||||
ErtekelesModId = osztalyCsoportErtekelesRequestCo.Mod?.Id,
|
||||
TipusId = osztalyCsoportErtekelesRequestCo.Tipus.Id,
|
||||
ErtekeloId = felhasznaloId,
|
||||
IntezmenyId = intezmenyId,
|
||||
OsztalyCsoportId = osztalyCsoportErtekelesRequestCo.OsztalyCsoportId,
|
||||
TantargyId = osztalyCsoportErtekelesRequestCo.TantargyId,
|
||||
ErtekelesOsztalyzatId = item.Ertekeles.OsztalyzatTipus?.Id,
|
||||
ErtekelesSzazalek = item.Ertekeles.Szazalek,
|
||||
ErtekelesTema = osztalyCsoportErtekelesRequestCo.Tema,
|
||||
Datum = osztalyCsoportErtekelesRequestCo.Datum,
|
||||
IsFromMobil = true
|
||||
};
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(item.Ertekeles.Szoveg))
|
||||
{
|
||||
string ertekelesSzovegFormazott = RichTextLogic.GetLegalHtmlString(item.Ertekeles.Szoveg, RichTextLogic.LegalFastReportHtmlTagList, true);
|
||||
tanuloErtekelesCo.ErtekelesSzovegFormazott = ertekelesSzovegFormazott;
|
||||
tanuloErtekelesCo.ErtekelesSzoveg = CommonUtils.RemoveAllHtmlTags(ertekelesSzovegFormazott);
|
||||
}
|
||||
|
||||
tanuloErtekelesCoList.Add(tanuloErtekelesCo);
|
||||
}
|
||||
|
||||
return tanuloErtekelesCoList;
|
||||
}
|
||||
|
||||
public static List<TanuloErtekelesCo> GetTanuloErtekelesCoList(int intezmenyId, int felhasznaloId, Classes.MobileApi.Naplo.V3.Co.Ertekeles.OsztalyCsoportErtekelesRequestCo osztalyCsoportErtekelesRequestCo)
|
||||
{
|
||||
var tanuloErtekelesCoList = new List<TanuloErtekelesCo>();
|
||||
|
||||
foreach (var item in osztalyCsoportErtekelesRequestCo.TanuloLista)
|
||||
{
|
||||
var tanuloErtekelesCo = new TanuloErtekelesCo
|
||||
{
|
||||
TanuloId = item.TanuloId,
|
||||
ErtekelesModId = osztalyCsoportErtekelesRequestCo.Mod?.Id,
|
||||
TipusId = (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles, // Direkt van beégetve, mobilról csak évközi jegy értékelés lehet
|
||||
ErtekeloId = felhasznaloId,
|
||||
IntezmenyId = intezmenyId,
|
||||
OsztalyCsoportId = osztalyCsoportErtekelesRequestCo.OsztalyCsoportId,
|
||||
TantargyId = osztalyCsoportErtekelesRequestCo.TantargyId,
|
||||
ErtekelesOsztalyzatId = item.Ertekeles.OsztalyzatTipus?.Id,
|
||||
ErtekelesSzazalek = int.TryParse(item.Ertekeles.Szazalek, out var szam) ? (int?)szam : null,
|
||||
ErtekelesTema = osztalyCsoportErtekelesRequestCo.Tema,
|
||||
Datum = osztalyCsoportErtekelesRequestCo.Datum,
|
||||
IsFromMobil = true
|
||||
};
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(item.Ertekeles.Szoveg))
|
||||
{
|
||||
var ertekelesSzovegFormazott = RichTextLogic.GetLegalHtmlString(item.Ertekeles.Szoveg, RichTextLogic.LegalFastReportHtmlTagList, true);
|
||||
tanuloErtekelesCo.ErtekelesSzovegFormazott = ertekelesSzovegFormazott;
|
||||
tanuloErtekelesCo.ErtekelesSzoveg = CommonUtils.RemoveAllHtmlTags(ertekelesSzovegFormazott);
|
||||
}
|
||||
|
||||
tanuloErtekelesCoList.Add(tanuloErtekelesCo);
|
||||
}
|
||||
|
||||
return tanuloErtekelesCoList;
|
||||
}
|
||||
|
||||
public static ValidationException GetValidationException(List<ValidationExceptionItem> errors)
|
||||
{
|
||||
var validationException = new ValidationException(ValidationErrorType.Undefined, TanuloErtekelesResource.HibasErtekeles);
|
||||
foreach (var item in errors)
|
||||
{
|
||||
validationException.AddValidationItem(item);
|
||||
}
|
||||
|
||||
return validationException;
|
||||
}
|
||||
}
|
||||
}
|
1287
Kreta.BusinessLogic/Logic/TanuloErtekeles/TanuloErtekelesLogicWeb.cs
Normal file
1287
Kreta.BusinessLogic/Logic/TanuloErtekeles/TanuloErtekelesLogicWeb.cs
Normal file
File diff suppressed because it is too large
Load diff
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,140 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Logic.TanuloErtekeles
|
||||
{
|
||||
public class TanuloErtekelesValidacioMobil : TanuloErtekelesValidacioBase
|
||||
{
|
||||
#region Constructors
|
||||
|
||||
public TanuloErtekelesValidacioMobil(IConnectionType connectionType) : base(connectionType)
|
||||
{
|
||||
}
|
||||
|
||||
#endregion Constructors
|
||||
|
||||
public List<TanuloErtekelesCo> Validate(IDalHandler dalHandler, List<TanuloErtekelesCo> tanuloErtekelesCoList, out List<ValidationExceptionItem> validationExceptionItemList)
|
||||
{
|
||||
//NOTE: A validációhoz szükséges közös adatok, minden egyes item-nél benne vannak és ezek megegyeznek, ezért elég ha csak a firstItem-et vizsgáljuk
|
||||
TanuloErtekelesCo firstItem = tanuloErtekelesCoList.FirstOrDefault();
|
||||
var tanuloIdList = tanuloErtekelesCoList.Select(x => x.TanuloId).ToList();
|
||||
//NOTE: Levalidáljuk, hogy van-e egyáltalán menteni való elem!
|
||||
IsExists(firstItem);
|
||||
if (!IsValid)
|
||||
{
|
||||
ThrowExeption(tanuloErtekelesCoList);
|
||||
}
|
||||
|
||||
//NOTE: Levalidáljuk a közös, alap adatokat!
|
||||
IsValidOsztalyCsoportId(firstItem);
|
||||
IsValidTanoraiCeluOsztalyCsoport(firstItem);
|
||||
IsValidTipusId(firstItem);
|
||||
IsValidDatum(firstItem);
|
||||
|
||||
List<int> egyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(ConnectionType.TanevId, true).Select(x => x.Id).ToList();
|
||||
if (!firstItem.IsMagatartasSzorgalom)
|
||||
{
|
||||
IsValidSpecialisErtekelesOsztalyzatId(tanuloErtekelesCoList, egyszerAdhatoErtekelesTipusIds, firstItem.TipusId);
|
||||
IsValidErtekelesFajta(tanuloErtekelesCoList);
|
||||
IsValidTantargyId(firstItem);
|
||||
IsValidErtekelesTema(firstItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
IsValidMagatartasSzorgalomFajta(tanuloErtekelesCoList);
|
||||
}
|
||||
if (!IsValid)
|
||||
{
|
||||
ThrowExeption(tanuloErtekelesCoList);
|
||||
}
|
||||
|
||||
//NOTE: Levalidáljuk a közös, alap adatokra épülő dolgokat!
|
||||
IsValidDatumIsTanitasiNap(firstItem);
|
||||
IsValidUtolsoTanitasiNapUtanErtekeles(firstItem);
|
||||
if (!firstItem.IsMagatartasSzorgalom)
|
||||
{
|
||||
IsValidErtekelesModId(firstItem);
|
||||
}
|
||||
if (!IsValid)
|
||||
{
|
||||
ThrowExeption(tanuloErtekelesCoList);
|
||||
}
|
||||
|
||||
validationExceptionItemList = new List<ValidationExceptionItem>();
|
||||
var result = new List<TanuloErtekelesCo>();
|
||||
|
||||
DataSet tanuloMentessegValidationDataSet = null;
|
||||
if (!firstItem.IsMagatartasSzorgalom)
|
||||
{
|
||||
var helper = new TanuloErtekelesHelper(ConnectionType);
|
||||
tanuloMentessegValidationDataSet = helper.ValidateTanuloListTanuloMentesseg(tanuloIdList, firstItem.TantargyId.Value, firstItem.Datum);
|
||||
}
|
||||
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionType);
|
||||
List<TantargyItemCo> tantargyCoList = new TantargyHelper(ConnectionType).GetTantargyCoList();
|
||||
//NOTE: Levalidáljuk az összes bejövő tanuló értékelést!
|
||||
foreach (TanuloErtekelesCo tanuloErtekelesCo in tanuloErtekelesCoList)
|
||||
{
|
||||
IsValid = true;
|
||||
//IsValidDuplikaltErtekeles(dalHandler, tanuloErtekelesCo); // web-en nincs ilyen vizsgálat és enged teljesen ugyan olyan értékelést menteni
|
||||
//NOTE: Az egyszer adható tanuló értékelés validációra csak akkor van szükség, ha a tanuló az osztály/csoport tagja.
|
||||
var isTanuloOsztalyCsoportTagja = IsValidTanuloOsztalyCsoportTagja(dalHandler, tanuloErtekelesCo, osztalyCsoportHelper);
|
||||
if (isTanuloOsztalyCsoportTagja)
|
||||
{
|
||||
IsValidEgyszerAdhatoTanuloErtekeles(firstItem, new List<TanuloErtekelesCo> { tanuloErtekelesCo }, egyszerAdhatoErtekelesTipusIds);
|
||||
}
|
||||
|
||||
if (!firstItem.IsMagatartasSzorgalom)
|
||||
{
|
||||
IsValidTanuloMentesseg(tanuloErtekelesCo, tanuloMentessegValidationDataSet);
|
||||
IsValidErtekelesSzazalek(tanuloErtekelesCo);
|
||||
IsValidSzorgalomTargykategoriaErtekeles(tanuloErtekelesCo, tantargyCoList);
|
||||
IsValidErtekelesSzoveg(tanuloErtekelesCo);
|
||||
}
|
||||
|
||||
if (IsValid)
|
||||
{
|
||||
result.Add(tanuloErtekelesCo);
|
||||
}
|
||||
else
|
||||
{
|
||||
validationExceptionItemList.Add(new ValidationExceptionItem(tanuloErtekelesCo.TanuloId.ToString(), string.Join("; ", ErrorMessageList)));
|
||||
ErrorMessageList.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private void ThrowExeption(List<TanuloErtekelesCo> tanuloErtekelesCoList)
|
||||
{
|
||||
var validationItems = new List<ValidationExceptionItem>();
|
||||
foreach (TanuloErtekelesCo tanuloErtekelesCo in tanuloErtekelesCoList)
|
||||
{
|
||||
validationItems.Add(new ValidationExceptionItem(tanuloErtekelesCo.TanuloId.ToString(), string.Join("; ", ErrorMessageList)));
|
||||
}
|
||||
|
||||
throw new ValidationException(ValidationErrorType.Undefined, TanuloErtekelesResource.HibasErtekelesElem, validationItems.DistinctBy(v => v.Id));
|
||||
}
|
||||
|
||||
private void IsValidDuplikaltErtekeles(IDalHandler dalHandler, TanuloErtekelesCo tanuloErtekelesCo)
|
||||
{
|
||||
bool isTanuloErtekelt = dalHandler.TanuloErtekelesDal().IsTanuloErtekelt(ConnectionType.IntezmenyId, ConnectionType.TanevId, tanuloErtekelesCo.Datum, tanuloErtekelesCo.ErtekelesModId, tanuloErtekelesCo.TipusId, tanuloErtekelesCo.TantargyId.Value, tanuloErtekelesCo.ErtekelesTema, tanuloErtekelesCo.TanuloId, tanuloErtekelesCo.ErtekelesOsztalyzatId, tanuloErtekelesCo.ErtekelesSzazalek, tanuloErtekelesCo.ErtekelesSzoveg);
|
||||
|
||||
if (isTanuloErtekelt)
|
||||
{
|
||||
ErrorMessageList.Add(TanuloErtekelesResource.ATanulonakEzAzErtekelesMarRogzitesreKerultKorabban);
|
||||
IsValid = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccessManual;
|
||||
|
||||
namespace Kreta.BusinessLogic.Logic.TanuloErtekeles
|
||||
{
|
||||
public class TanuloErtekelesValidacioWeb : TanuloErtekelesValidacioBase
|
||||
{
|
||||
public TanuloErtekelesValidacioWeb(IConnectionType connectionType) : base(connectionType)
|
||||
{
|
||||
}
|
||||
|
||||
public void Validate(List<TanuloErtekelesCo> tanuloErtekelesCoList)
|
||||
{
|
||||
//NOTE: A validációhoz szükséges közös adatok, minden egyes item-nél benne vannak és ezek megegyeznek, ezért elég ha csak a firstItem-et vizsgáljuk
|
||||
TanuloErtekelesCo firstItem = tanuloErtekelesCoList.FirstOrDefault();
|
||||
var tanuloIdList = tanuloErtekelesCoList.Select(x => x.TanuloId).ToList();
|
||||
//NOTE: Levalidáljuk, hogy van-e egyáltalán menteni való elem!
|
||||
IsExists(firstItem);
|
||||
if (!IsValid)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//NOTE: Levalidáljuk a közös, alap adatokat!
|
||||
IsValidOsztalyCsoportId(firstItem);
|
||||
IsValidTipusId(firstItem);
|
||||
IsValidDatum(firstItem);
|
||||
|
||||
List<int> egyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(ConnectionType.TanevId, true).Select(x => x.Id).ToList();
|
||||
if (!firstItem.IsMagatartasSzorgalom)
|
||||
{
|
||||
IsValidSpecialisErtekelesOsztalyzatId(tanuloErtekelesCoList, egyszerAdhatoErtekelesTipusIds, firstItem.TipusId);
|
||||
IsValidErtekelesFajta(tanuloErtekelesCoList);
|
||||
IsValidTantargyId(firstItem);
|
||||
IsValidErtekelesTema(firstItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
IsValidMagatartasSzorgalomFajta(tanuloErtekelesCoList);
|
||||
}
|
||||
if (!IsValid)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//NOTE: Levalidáljuk a közös, alap adatokra épülő dolgokat!
|
||||
IsValidDatumIsTanitasiNap(firstItem);
|
||||
IsValidUtolsoTanitasiNapUtanErtekeles(firstItem);
|
||||
if (!firstItem.IsMagatartasSzorgalom)
|
||||
{
|
||||
IsValidErtekelesModId(firstItem);
|
||||
}
|
||||
if (!IsValid)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
DataSet tanuloMentessegValidationDataSet = null;
|
||||
if (!firstItem.IsMagatartasSzorgalom)
|
||||
{
|
||||
var helper = new TanuloErtekelesHelper(ConnectionType);
|
||||
tanuloMentessegValidationDataSet = helper.ValidateTanuloListTanuloMentesseg(tanuloIdList, firstItem.TantargyId.Value, firstItem.Datum);
|
||||
}
|
||||
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionType);
|
||||
List<TantargyItemCo> tantargyCoList = new TantargyHelper(ConnectionType).GetTantargyCoList();
|
||||
//NOTE: Levalidáljuk az összes bejövő tanuló értékelést!
|
||||
|
||||
foreach (TanuloErtekelesCo tanuloErtekelesCo in tanuloErtekelesCoList)
|
||||
{
|
||||
//NOTE: Az egyszer adható tanuló értékelés validációra csak akkor van szükség, ha a tanuló az osztály/csoport tagja.
|
||||
var isTanuloOsztalyCsoportTagja = Dal.CustomConnection.Run(ConnectionType, dalHandler =>
|
||||
{
|
||||
return IsValidTanuloOsztalyCsoportTagja(dalHandler, tanuloErtekelesCo, osztalyCsoportHelper);
|
||||
});
|
||||
|
||||
if (isTanuloOsztalyCsoportTagja)
|
||||
{
|
||||
IsValidEgyszerAdhatoTanuloErtekeles(firstItem, new List<TanuloErtekelesCo> { tanuloErtekelesCo }, egyszerAdhatoErtekelesTipusIds);
|
||||
}
|
||||
|
||||
if (!firstItem.IsMagatartasSzorgalom)
|
||||
{
|
||||
IsValidTanuloMentesseg(tanuloErtekelesCo, tanuloMentessegValidationDataSet);
|
||||
IsValidErtekelesSzazalek(tanuloErtekelesCo);
|
||||
IsValidSzorgalomTargykategoriaErtekeles(tanuloErtekelesCo, tantargyCoList);
|
||||
IsValidErtekelesSzoveg(tanuloErtekelesCo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue