init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue