init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
482
KretaWeb/Areas/Orarend/Logic/OrarendiOraLogic.cs
Normal file
482
KretaWeb/Areas/Orarend/Logic/OrarendiOraLogic.cs
Normal file
|
@ -0,0 +1,482 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Enums.ManualEnums.SystemSettings;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.KretaServer.SystemSettings;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Intezmeny.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class OrarendiOraLogic
|
||||
{
|
||||
public static List<TabStripItemModel> GetModOrarendiOraTabs(OrarendiOraModel model, string orarendTipus, bool isFromSzervezet = false)
|
||||
{
|
||||
var list = new List<TabStripItemModel>();
|
||||
list.Add(new TabStripItemModel() { ItemId = "1", ItemName = StringResourcesUtil.GetString(4124) /*Óra adatok*/, Model = model, PartialViewName = "OrarendiOraAdatok_Tab_" + orarendTipus, IsActive = true });
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
list.Add(new TabStripItemModel() { ItemId = "2", ItemName = StringResourcesUtil.GetString(4867) /*Speciális adatok*/, Model = model, PartialViewName = "SpecialisAdatok_Bevitel" });
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public static System.Web.Http.ModelBinding.ModelStateDictionary CheckCustomValidation(System.Web.Http.ModelBinding.ModelStateDictionary ms, OrarendiOraModel model)
|
||||
{
|
||||
if (!model.TTFModel.TanarID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("TTFModel_TanarID", ErrorResource.PedagogusMegadasaKotelezo); //Pedagógus megadása kötelező
|
||||
}
|
||||
|
||||
if (SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value) != (int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF)
|
||||
{
|
||||
if (!model.TTFModel.FoglalkozasID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("TTFModel_FoglalkozasID", ErrorResource.FoglalkozasMegadasaKotelezo);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!model.TTFModel.OsztalyID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("TTFModel_OsztalyID", StringResourcesUtil.GetString(4569)); //Osztály megadása kötelező
|
||||
}
|
||||
|
||||
if (!model.TTFModel.TantargyID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("TTFModel_TantargyID", StringResourcesUtil.GetString(2564)); //Tantárgy megadása kötelező
|
||||
}
|
||||
}
|
||||
|
||||
if (!model.TeremID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("TeremID", StringResourcesUtil.GetString(2493)); //Terem megadása kötelező
|
||||
}
|
||||
|
||||
if (!model.OraErvenyessegKezdete.HasValue)
|
||||
{
|
||||
ms.AddModelError("OraErvenyessegKezdete", StringResourcesUtil.GetString(4575)); //Óra érvényességi idejének kezdete kötelező
|
||||
}
|
||||
|
||||
if (!model.OraErvenyessegVege.HasValue)
|
||||
{
|
||||
ms.AddModelError("OraErvenyessegVege", StringResourcesUtil.GetString(4576)); //Óra érvényességi idejének vége kötelező
|
||||
}
|
||||
|
||||
if (model.OraErvenyessegVege < model.OraErvenyessegKezdete)
|
||||
{
|
||||
ms.AddModelError("OraErvenyessegVege", StringResourcesUtil.GetString(4580)); //Az óra érvényességének vége későbbre kell hogy essen, mint a kezdete
|
||||
}
|
||||
|
||||
if (model.OraVege <= model.OraKezdete)
|
||||
{
|
||||
ms.AddModelError("OraVege", StringResourcesUtil.GetString(4581)); //Az óra vége későbbre kell hogy essen, mint a kezdete
|
||||
}
|
||||
|
||||
if (!model.HetirendID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("HetirendID", ErrorResource.HetirendMegadasaKotelezo); //Órarendi nap hetirendje megadása kötelező!
|
||||
}
|
||||
|
||||
if (model.CsengetesiRendOraID.IsEntityId())
|
||||
{
|
||||
if (!model.CsengetesiRendID.HasValue || model.CsengetesiRendID < 0)
|
||||
{
|
||||
ms.AddModelError("CsengetesiRendID", OrarendResource.CsengetesiRendMegadasaKotelezo);
|
||||
}
|
||||
|
||||
if (!model.Oraszam.HasValue || model.Oraszam < 0)
|
||||
{
|
||||
ms.AddModelError("Oraszam", OrarendResource.OraszamMegadasaKotelezo);
|
||||
}
|
||||
}
|
||||
|
||||
// ha az érvényesség kezdete és vége megegyezik, és az rendkívüli tanítási nap akkor nem kell dátum validáció
|
||||
bool kellDatumValidacio = model.OraErvenyessegKezdete.Value.Date != model.OraErvenyessegVege.Value.Date && model.CsengetesiRendID.HasValue;
|
||||
var isNyariSzakmaiGyakorlat = model.TTFModel?.OsztalyID != null && new CsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).IsNyariSzakmaiGyakorlatos(model.TTFModel.OsztalyID.Value);
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
if (kellDatumValidacio)
|
||||
{
|
||||
kellDatumValidacio = !tanevrendHelper.IsRendkivuliTanitasiNap(model.OraErvenyessegKezdete.Value);
|
||||
}
|
||||
|
||||
TanevHelper helper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanev = helper.GetTanevInfo();
|
||||
kellDatumValidacio = tanev.IsKovetkezo || kellDatumValidacio;
|
||||
|
||||
if ((kellDatumValidacio || isNyariSzakmaiGyakorlat) && model.TTFModel.OsztalyID.HasValue)
|
||||
{
|
||||
DateTime elsoNap = tanev.OraFelvetelKezdete;
|
||||
DateTime utolsoNap = model.IsFromSzervezet ? tanev.UtolsoNap : tanev.UtolsoTanitasiNap;
|
||||
|
||||
if (isNyariSzakmaiGyakorlat)
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
elsoNap = systemSettingsHelper.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_kezd_datum).Value;
|
||||
utolsoNap = systemSettingsHelper.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_veg_datum).Value;
|
||||
}
|
||||
|
||||
if (model.OraErvenyessegKezdete < elsoNap)
|
||||
{
|
||||
ms.AddModelError("OraErvenyessegKezdete", isNyariSzakmaiGyakorlat ? ErrorResource.OraErvenyessegNyariGyakorlatKezdet : StringResourcesUtil.GetString(3087)); //Az óra érvényessége nem lehet korábban, mint az első tanítási nap!
|
||||
}
|
||||
|
||||
if (model.IsTanoranKivuliFoglalkozas ? model.OraErvenyessegVege.Value.Date > utolsoNap.AddDays(1) : model.OraErvenyessegVege > utolsoNap.AddDays(1)) //Az utolsó nap 0 óra 0 percet tartalmaz, de aznap napközben még lehet óra, ezért a következő nap 0:00 időpont a jó.
|
||||
{
|
||||
ms.AddModelError("OraErvenyessegVege", isNyariSzakmaiGyakorlat ? ErrorResource.OraErvenyessegNyariGyakorlatVege : StringResourcesUtil.GetString(3088)); //Az óra érvényessége nem lehet később, mint az utolsó tanítási nap!
|
||||
}
|
||||
}
|
||||
|
||||
var checkDate = model.ID.HasValue ? model.ModificationDate.Date : model.OraErvenyessegKezdete.Value.ToLocalTime().Date;
|
||||
|
||||
if (!tanevrendHelper.IsOrarendiNap(checkDate, model.TTFModel.OsztalyID, model.IsFromSzervezet))
|
||||
{
|
||||
ms.AddModelError("OraKezdete", OrarendResource.NemOrarendiNapHibaUzenet);
|
||||
}
|
||||
|
||||
return ms;
|
||||
}
|
||||
|
||||
public static void SetHetNapja(OrarendiOraModel model, DayOfWeek day)
|
||||
{
|
||||
switch (day)
|
||||
{
|
||||
case DayOfWeek.Monday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Hetfo;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Hetfo.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Tuesday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Kedd;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Kedd.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Wednesday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Szerda;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Szerda.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Thursday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Csutortok;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Csutortok.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Friday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Pentek;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Pentek.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Saturday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Szombat;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Szombat.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Sunday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Vasarnap;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Vasarnap.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public static WarningValidationModel CheckUtkozesValidation(OraValidationCo oraValidationCo, string successFunction, string closeFunction = null, string errMsgOraData = null, bool isPrevalidation = false, bool isForDelete = false)
|
||||
{
|
||||
bool tortentValtozas;
|
||||
try
|
||||
{
|
||||
tortentValtozas = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).CheckUtkozesValidation(oraValidationCo, errMsgOraData, isPrevalidation, isForDelete: isForDelete);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message) { CloseFunction = string.IsNullOrWhiteSpace(closeFunction) ? oraValidationCo.OrarendiOraValidationCo.JSHelperNev + ".modCancel" : closeFunction };
|
||||
}
|
||||
|
||||
if (tortentValtozas)
|
||||
{
|
||||
return new WarningValidationModel() { Msg = oraValidationCo.Msg.ToString(), ErrorMsg = oraValidationCo.ErrorMsg.ToString(), SuccessFunction = successFunction, CloseFunction = closeFunction };
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.NoContent, string.Empty) { CloseFunction = oraValidationCo.OrarendiOraValidationCo.JSHelperNev + ".modCancel" };
|
||||
}
|
||||
|
||||
public static List<SelectListItem> GetAktualHetirendList()
|
||||
{
|
||||
var dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HetiRendTipus, ClaimData.SelectedTanevID.Value, false, visibleOnly: false);
|
||||
var mindenHetVal = ((int)HetiRendTipusEnum.MindegyikHet).ToString();
|
||||
|
||||
var list = new List<SelectListItem>();
|
||||
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var HetirendDictionary = helper.GetTanevHetirendTipusok();
|
||||
|
||||
if (!HetirendDictionary.ContainsKey(mindenHetVal))
|
||||
{
|
||||
list.Add(new SelectListItem() { Text = dictionary[mindenHetVal], Value = mindenHetVal });
|
||||
}
|
||||
|
||||
foreach (var dictionaryItem in HetirendDictionary)
|
||||
{
|
||||
list.Add(new SelectListItem() { Text = dictionaryItem.Value, Value = dictionaryItem.Key });
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public static void SetCsengetesiRendAndOraszam(OrarendiOraModel model)
|
||||
{
|
||||
var helper = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var (csengetesiRendId, oraSzam) = helper.GetCsengetesiRendAndOraszam(model.CsengetesiRendOraID);
|
||||
|
||||
model.CsengetesiRendID = csengetesiRendId;
|
||||
model.Oraszam = oraSzam;
|
||||
}
|
||||
|
||||
public static DateTime CreateLocalDateTimeBasedOnDateAndTime(DateTime date, DateTime time)
|
||||
{
|
||||
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("Central Europe Standard Time");
|
||||
var datum = TimeZoneInfo.ConvertTimeFromUtc(new DateTime(date.Year, date.Month, date.Day, time.Hour, time.Minute, 0, DateTimeKind.Utc), tzi);
|
||||
|
||||
return new DateTime(date.Year, date.Month, date.Day, datum.Hour, datum.Minute, 0, DateTimeKind.Local);
|
||||
}
|
||||
|
||||
public static (int minOraszam, int maxOraszam) GetMinMaxOraszam(int csengetesirendId)
|
||||
{
|
||||
return new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMinMaxOraszam(csengetesirendId);
|
||||
}
|
||||
|
||||
public static OraValidationCo SetOraValidationCoFromOrarendiOraModel(OrarendiOraModel model)
|
||||
{
|
||||
if (model.IsTanoranKivuliFoglalkozas)
|
||||
{
|
||||
var OraKezdeteLocalTime = model.OraKezdete.Value.ToLocalTime();
|
||||
var OraVegeLocalTime = model.OraVege.Value.ToLocalTime();
|
||||
|
||||
model.OraKezdete = new DateTime(1900, 1, 1, OraKezdeteLocalTime.Hour, OraKezdeteLocalTime.Minute, 0, DateTimeKind.Local);
|
||||
model.OraVege = new DateTime(1900, 1, 1, OraVegeLocalTime.Hour, OraVegeLocalTime.Minute, 0, DateTimeKind.Local);
|
||||
|
||||
model.Oraszam = null;
|
||||
}
|
||||
|
||||
if (model.CsengetesiRendID.IsEntityId())
|
||||
{
|
||||
PostProcessOraszam(model);
|
||||
|
||||
var (minOraszam, maxOraszam) = GetMinMaxOraszam(model.CsengetesiRendID.Value);
|
||||
if (model.Oraszam > maxOraszam || model.Oraszam < minOraszam)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(OrarendResource.OraszamError, minOraszam.ToString(), maxOraszam.ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
PostProcessHetirend(model);
|
||||
|
||||
if (model.TTFModel != null && model.TTFModel.OsztalyID.IsEntityId() && model.OraErvenyessegKezdete.Value.Date == model.OraErvenyessegVege.Value.Date)
|
||||
{
|
||||
model.IsEgyediNap = TanevRendjeLogic.IsEgyediNapByDateAndOsztalyCsoportId(model.OraErvenyessegKezdete.Value.Date, model.TTFModel.OsztalyID.Value);
|
||||
}
|
||||
|
||||
PostProcessHetnapja(model);
|
||||
|
||||
return model.CreateOraValidationCo();
|
||||
}
|
||||
|
||||
public static OraValidationCo SetOraValidationCoFromCopyOrarendiElemModel(OrarendiOraHelper orarendiOraHelper, CopyOrarendiElemModel copyOrarendiElemModel)
|
||||
{
|
||||
var napData = new NaptariNapHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNaptariNapData(copyOrarendiElemModel.dateFrom.Date);
|
||||
if (napData.Tables[0].Rows.Count == 1)
|
||||
{
|
||||
OrarendiOraCO co = orarendiOraHelper.GetOrarendiOraById(copyOrarendiElemModel.copyId);
|
||||
orarendiOraHelper.GetOrarendiOraTulajdonsagok(co, copyOrarendiElemModel.copyId);
|
||||
|
||||
int? csengetesiRendOraId = default;
|
||||
if (copyOrarendiElemModel.oraszam > -1)
|
||||
{
|
||||
csengetesiRendOraId = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsengetesiRendOraId(co.CsengetesiRendID.Value, copyOrarendiElemModel.oraszam);
|
||||
}
|
||||
|
||||
OrarendiOraModel model = new OrarendiOraModel
|
||||
{
|
||||
CsengetesiRendID = co.CsengetesiRendID,
|
||||
HetirendID = co.Hetirend,
|
||||
CsengetesiRendOraID = csengetesiRendOraId.HasValue ? csengetesiRendOraId.Value : co.CsengetesiRendOraID,
|
||||
HetNapja = napData.Tables[0].Rows[0].Field<int>("Hetnapja"),
|
||||
OraErvenyessegKezdete = co.OraErvenyessegKezdete,
|
||||
OraErvenyessegVege = co.OraErvenyessegVege,
|
||||
OraKezdete = copyOrarendiElemModel.dateFrom,
|
||||
OraVege = copyOrarendiElemModel.dateTo,
|
||||
Oraszam = copyOrarendiElemModel.oraszam,
|
||||
OsztalyCsoportId = co.OsztalyCsoportId,
|
||||
TanarNev = co.TanarNev,
|
||||
TeremID = co.TeremID,
|
||||
TantargyNev = co.TantargyNev,
|
||||
ModositasiIdoszakTipus = (int)OraModositasiIdoszakTipus.TeljesIdoszak,
|
||||
IsModification = false,
|
||||
ModificationDate = copyOrarendiElemModel.dateFrom,
|
||||
|
||||
IKTTanora = co.IKTTanora,
|
||||
Bontott = co.Bontott,
|
||||
IsFelnottoktatasiSzerzodes = co.IsFelnottoktatasiSzerzodes,
|
||||
NemzetisegiOra = co.NemzetisegiOra,
|
||||
MindennaposTestneveles = co.MindennaposTestneveles,
|
||||
IPRTanora = co.IPRTanora,
|
||||
Differencialt = co.Differencialt,
|
||||
Kooperativ = co.Kooperativ,
|
||||
Meres = co.Meres,
|
||||
Drama = co.Drama,
|
||||
Tiop = co.Tiop,
|
||||
ParhuzamosOra = co.ParhuzamosOra,
|
||||
NemSzakrendszeruOra = co.NemSzakrendszeruOra,
|
||||
TAMOPOra = co.TAMOPOra,
|
||||
KIPOra = co.KIPOra,
|
||||
VEKOP73317 = co.VEKOP73317,
|
||||
KAPOra = co.KAPOra,
|
||||
Tulora = co.Tulora,
|
||||
Multikulturalis = co.Multikulturalis,
|
||||
EFOP32317 = co.EFOP32317,
|
||||
KomplexOra = co.KomplexOra,
|
||||
GINOP623 = co.GINOP623,
|
||||
EFOP31716EselyteremtesAKoznevelesben = co.EFOP31716EselyteremtesAKoznevelesben,
|
||||
EFOP33717 = co.EFOP33717,
|
||||
TIOP11112120120001 = co.TIOP11112120120001,
|
||||
DFHT = co.DFHT,
|
||||
Rahangolodas = co.Rahangolodas,
|
||||
Testmozgas = co.Testmozgas,
|
||||
Muveszet = co.Muveszet,
|
||||
Eletgyakorlat = co.Eletgyakorlat,
|
||||
Logika = co.Logika,
|
||||
TeOrad = co.TeOrad,
|
||||
Sorszamozando = co.Sorszamozando,
|
||||
DigitalisAlapProgram = co.DigitalisAlapProgram,
|
||||
EFOP23517201700038Miapalya = co.EFOP23517201700038Miapalya,
|
||||
|
||||
TanevTananyaganakIsmetlese = co.TanevTananyaganakIsmetlese,
|
||||
TanevTananyaganakKiegeszitese = co.TanevTananyaganakKiegeszitese,
|
||||
TanulokDigitalisKeszsegfejlesztese = co.TanulokDigitalisKeszsegfejlesztese,
|
||||
Projektmunka = co.Projektmunka,
|
||||
TanulokKompenzaciosIraskeszsegFejlesztese = co.TanulokKompenzaciosIraskeszsegFejlesztese,
|
||||
TanulokKompenzaciosOlvasasiKepessegFejlesztese = co.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
|
||||
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = co.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokNyelviKepessegenekKompenzaciosFejlesztese = co.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokOnmegismeresenekSegitese = co.TanulokOnmegismeresenekSegitese,
|
||||
TanulokOnallosagraNevelese = co.TanulokOnallosagraNevelese,
|
||||
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = co.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
|
||||
TanulokOrientaciosTamogatasa = co.TanulokOrientaciosTamogatasa,
|
||||
TanulokSzocialitasanakFejlesztese = co.TanulokSzocialitasanakFejlesztese,
|
||||
TanulokTovabbhaladasatElokeszitoTevekenysegek = co.TanulokTovabbhaladasatElokeszitoTevekenysegek,
|
||||
PedagogusAltalJelzettEgyeniEsetkezeles = co.PedagogusAltalJelzettEgyeniEsetkezeles,
|
||||
ProjektmunkaTamogatasa = co.ProjektmunkaTamogatasa,
|
||||
DigitalisKeszsegfejlesztes = co.DigitalisKeszsegfejlesztes,
|
||||
KozossegiMunkaTamogatasa = co.KozossegiMunkaTamogatasa,
|
||||
TanoraElokeszitesenekTamogatasa = co.TanoraElokeszitesenekTamogatasa,
|
||||
TanoraLebonyolitasanakTamogatasa = co.TanoraLebonyolitasanakTamogatasa,
|
||||
NapkozisTevekenysegKeretebenEgyeniFejlesztes = co.NapkozisTevekenysegKeretebenEgyeniFejlesztes,
|
||||
IsEgybefuggoGyakorlat = co.IsEgybefuggoGyakorlat
|
||||
};
|
||||
model.TTFModel = new TTFModel
|
||||
{
|
||||
FoglalkozasID = co.FoglalkozasID,
|
||||
OsztalyID = co.OsztalyCsoportId,
|
||||
TantargyID = co.TantargyId,
|
||||
TanarID = co.TanarId
|
||||
};
|
||||
|
||||
SetOraKezdetekAndOraVegek(model);
|
||||
OraValidationCo oraValidationCo = SetOraValidationCoFromOrarendiOraModel(model);
|
||||
oraValidationCo.OrarendiOraValidationCo.JSHelperNev = Constants.JSHelperName.OrarendiOra;
|
||||
oraValidationCo.OrarendiOraValidationCo.IsOraCopy = true;
|
||||
return oraValidationCo;
|
||||
}
|
||||
return new OraValidationCo();
|
||||
|
||||
}
|
||||
|
||||
public static void SetOraKezdetekAndOraVegek(OrarendiOraModel model)
|
||||
{
|
||||
model.OraKezdete = CreateLocalDateTimeBasedOnDateAndTime(model.OraKezdete.Value, model.OraKezdete.Value);
|
||||
model.OraVege = CreateLocalDateTimeBasedOnDateAndTime(model.OraVege.Value, model.OraVege.Value);
|
||||
|
||||
if (model.IsTanoranKivuliFoglalkozas && model.ModositasiIdoszakTipus == (int)OraModositasiIdoszakTipus.EgyOra)
|
||||
{
|
||||
model.OraErvenyessegKezdete = model.OraErvenyessegKezdete.Value.ToLocalTime();
|
||||
model.OraErvenyessegVege = model.OraErvenyessegVege.Value.ToLocalTime();
|
||||
}
|
||||
else if (!model.CsengetesiRendID.HasValue) //NOTE: Különben nem a popupban kiválasztott értéket kapná
|
||||
{
|
||||
model.OraErvenyessegKezdete = model.OraErvenyessegKezdete.Value.Date.AddHours(model.OraKezdete.Value.Hour).AddMinutes(model.OraKezdete.Value.Minute);
|
||||
model.OraErvenyessegVege = model.OraErvenyessegVege.Value.Date.AddHours(model.OraVege.Value.Hour).AddMinutes(model.OraVege.Value.Minute);
|
||||
}
|
||||
}
|
||||
|
||||
public static void PostProcessHetirend(OrarendiOraModel model)
|
||||
{
|
||||
if (model.ModositasiIdoszakTipus == (int)OraModositasiIdoszakTipus.EgyOra)
|
||||
{
|
||||
model.HetirendID = (int)HetiRendTipusEnum.MindegyikHet;
|
||||
}
|
||||
}
|
||||
|
||||
public static void PostProcessOraszam(OrarendiOraModel model)
|
||||
{
|
||||
if (model.CsengetesiRendID.IsEntityId())
|
||||
{
|
||||
var orarendiOraHelper = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var csengrendOraId = orarendiOraHelper.GetCsengetesiRendOraId(model.CsengetesiRendID.Value, model.Oraszam.Value);
|
||||
|
||||
if (!csengrendOraId.IsEntityId())
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.CsengetesiRendhezNincsCsengetesiOra);
|
||||
}
|
||||
|
||||
model.CsengetesiRendOraID = csengrendOraId.Value;
|
||||
}
|
||||
}
|
||||
|
||||
public static void PostProcessHetnapja(OrarendiOraModel model)
|
||||
{
|
||||
if (model.OraErvenyessegKezdete.Value.Date == model.OraErvenyessegVege.Value.Date)
|
||||
{
|
||||
var ds = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevrendekOsztalyCsoportokkal(model.OraErvenyessegKezdete.Value.Date, model.OraErvenyessegVege.Value.Date);
|
||||
|
||||
foreach (DataRow row in ds.Tables[0].Rows)
|
||||
{
|
||||
if (row.Field<bool>("OrarendiNap_BOOL") == true)
|
||||
{
|
||||
var hetNapja = row.Field<int?>("HetNapja");
|
||||
|
||||
if (hetNapja.HasValue && hetNapja.Value != model.HetNapja)
|
||||
{
|
||||
var osztalyCsoportId = row.Field<int?>("OsztalyCsoportId");
|
||||
|
||||
if (osztalyCsoportId.HasValue && osztalyCsoportId == model.TTFModel.OsztalyID)
|
||||
{
|
||||
model.HetNapja = hetNapja.Value;
|
||||
break;
|
||||
}
|
||||
|
||||
if (SDAConvert.ToBooleanFromTF(row.Field<string>("Global")))
|
||||
{
|
||||
model.HetNapja = hetNapja.Value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue