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

View file

@ -0,0 +1,390 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.KretaServer.SystemSettings;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Areas.Orarend.ApiControllers;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
public class BaseAdminTeremOrarendController : Controller
{
[NonAction]
public ActionResult GetOrarendiOrak(int index = 0, bool isFromSzervezet = false)
{
var model = new OrarendiOrakModel
{
Index = index,
IsFromSzervezet = isFromSzervezet
};
return View("OrarendiOrak_Tab", model);
}
[NonAction]
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1, bool isFromSzervezet = false)
{
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
{
Index = index,
IsFromSzervezet = isFromSzervezet
};
return View("TanoranKivuliFoglalkozasok_Tab", model);
}
[NonAction]
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model, bool isFromSzervezet = false)
{
var oom = GetNewOrarendiOraModel(model.CalendarModel, false, isFromSzervezet);
if (model.OsztalyId != 0)
{
oom.TTFModel.OsztalyID = model.OsztalyId;
}
var list = new List<TabStripItemModel> { new TabStripItemModel { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Terem", IsActive = true } };
if (!isFromSzervezet)
{
list.Add(new TabStripItemModel { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
}
oom.OrarendiOraTabList = list;
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.CalendarModel.Start.Date, model.OsztalyId);
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "OrarendiOrak.newOrarendiOraCancel");
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "OrarendiOrak.EgyOraHozzaadasaSave");
if (isFromSzervezet || !isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "OrarendiOrak.OrarendhezSave");
}
if (!isDateHasTanevrend && !isFromSzervezet)
{
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "OrarendiOrak.EttolHettolSave");
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "OrarendiOrak.EddigHetigSave");
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetModifyOrarendiOraModel(model, false, isFromSzervezet);
var isEgyOra = oom.OraErvenyessegKezdete.Value.Date == oom.OraErvenyessegVege.Value.Date;
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
pm = pm.AddBtn(pm, "modCancel", AdminisztracioResource.Megsem, "OrarendiOrak.modCancel");
pm = pm.AddBtn(pm, "tovabbiOrarendiOraFelvetele", OrarendResource.AddAgain, "OrarendiOrak.tovabbiOrarendiOraFelvetele");
if (!isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modOrarendiOraDeleteFrom", OrarendResource.DeleteFrom, "OrarendiOrak.modOrarendiOraDeleteFromConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraDeleteTo", OrarendResource.DeleteTo, "OrarendiOrak.modOrarendiOraDeleteToConfirmWindow", "pull-left");
}
pm = pm.AddBtn(pm, "modOrarendiOraDelete", OrarendResource.DeleteAll, "OrarendiOrak.modOrarendiOraDeleteConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", secondLine: true, "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modOrarendiOraSaveFrom", OrarendResource.ModSaveFrom, "OrarendiOrak.modOrarendiOraSaveFrom", secondLine: true, "pull-left");
pm = pm.AddBtn(pm, "modOrarendiOraSaveTo", OrarendResource.ModSaveTo, "OrarendiOrak.modOrarendiOraSaveTo", secondLine: true, "pull-left");
}
pm = pm.AddBtn(pm, "modOrarendiOraSave", OrarendResource.ModAllSave, "OrarendiOrak.modOrarendiOraSaveTanev", secondLine: true, "pull-left");
}
else
{
//Bármikor lehessen egy órát törölni
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
if (isEgyOra)
{
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", "pull-left");
}
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetNewOrarendiOraModel(model, true, isFromSzervezet);
var list = new List<TabStripItemModel> { new TabStripItemModel { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Terem", IsActive = true } };
if (!isFromSzervezet)
{
list.Add(new TabStripItemModel { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
}
oom.OrarendiOraTabList = list;
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = helper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "Foglalkozasok.newFoglalkozasCancel");
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "Foglalkozasok.EgyOraHozzaadasaSave");
if (!isDateHasTanevrend && !isFromSzervezet)
{
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "Foglalkozasok.EttolHettolSave");
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "Foglalkozasok.EddigHetigSave");
}
if (isFromSzervezet || !isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "Foglalkozasok.OrarendhezSave");
}
return PartialView(Constants.General.PopupView, pm);
}
[NonAction]
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
{
var oom = GetModifyOrarendiOraModel(model, true, isFromSzervezet);
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
pm = pm.AddBtn(pm, "modFoglalkozasCancel", AdminisztracioResource.Megsem, "Foglalkozasok.modFoglalkozasCancel");
pm = pm.AddBtn(pm, "tovabbiFoglalkozasFelvetele", OrarendResource.AddAgain, "Foglalkozasok.tovabbiFoglalkozasFelvetele");
if (!isDateHasTanevrend)
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteFrom", OrarendResource.DeleteFrom, "Foglalkozasok.modFoglalkozasDeleteFromConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasDeleteTo", OrarendResource.DeleteTo, "Foglalkozasok.modFoglalkozasDeleteToConfirmWindow", "pull-left");
}
pm = pm.AddBtn(pm, "modFoglalkozasDelete", OrarendResource.DeleteAll, "Foglalkozasok.modFoglalkozasDeleteConfirmWindow", "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasSaveDay", OrarendResource.ModSaveOneDay, "Foglalkozasok.modFoglalkozasSaveDay", secondLine: true, "pull-left");
if (!isFromSzervezet)
{
pm = pm.AddBtn(pm, "modFoglalkozasSaveFrom", OrarendResource.ModSaveFrom, "Foglalkozasok.modFoglalkozasSaveFrom", secondLine: true, "pull-left");
pm = pm.AddBtn(pm, "modFoglalkozasSaveTo", OrarendResource.ModSaveTo, "Foglalkozasok.modFoglalkozasSaveTo", secondLine: true, "pull-left");
}
pm = pm.AddBtn(pm, "modFoglalkozasSave", OrarendResource.ModAllSave, "Foglalkozasok.modFoglalkozasSaveTanev", secondLine: true, "pull-left");
}
else
{
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
}
return PartialView(Constants.General.PopupView, pm);
}
public string GetOrarendiOraWindowTitle(CalendarModel model)
{
var oom = new OrarendiOraModel
{
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
};
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
var api = new AdminTanariOrarendApiController();
int oraszam = api.GetOraszam(model.EventId, model.OraType);
return string.Format(" [{0} - {1}: {2}. óra]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg, oraszam);
}
public string GetFoglalkozasWindowTitle(CalendarModel model)
{
var oom = new OrarendiOraModel
{
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
};
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
return string.Format(" [{0} - {1}]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg);
}
private OrarendiOraModel GetNewOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
{
var oom = new OrarendiOraModel
{
IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas,
OraKezdete = model.Start.ToLocalTime(),
OraVege = model.End.ToLocalTime(),
Sorszamozando = true,
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start.ToLocalTime()),
ErvenyessegiIdo = model.Start.ToLocalTime(),
OraErvenyessegKezdete = model.Start,
ValasztottDatum = model.Start,
OraErvenyessegVege = !isFromSzervezet ? model.End : (DateTime?)null,
CsengetesiRendOraID = model.EventId,
HetirendID = (int)HetiRendTipusEnum.MindegyikHet,
Hetirend = HetiRendTipusEnum.MindegyikHet.GetDisplayName(ClaimData.SelectedTanevID.Value)
};
if (!isTanoranKivuliFoglalkozas)
{
OrarendiOraLogic.SetCsengetesiRendAndOraszam(oom);
}
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
OrarendiOraLogic.SetHetNapja(oom, oom.ErvenyessegiIdo.DayOfWeek);
oom.HetirendList = OrarendiOraLogic.GetAktualHetirendList();
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
oom.IsFromSzervezet = isFromSzervezet;
return oom;
}
private OrarendiOraModel GetModifyOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
{
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = null
};
var ooco = orarendiOraHelper.GetOrarendiOraById(model.EventId);
var tanarId = orarendiOraHelper.GetTanarIdByOrarendiOra(model.EventId);
var tfco = new TantargyFelosztasCO
{
OsztalyCsoportID = ooco.OsztalyCsoportId.Value,
TantargyID = ooco.TantargyId.Value
};
var oom = ConvertCoToModel(ooco, tanarId, tfco);
oom.IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas;
oom.IsModification = true;
oom.ModificationDate = model.Start;
oom.ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime], oom.OraErvenyessegKezdete.Value);
oom.OrarendiOraTabList = OrarendiOraLogic.GetModOrarendiOraTabs(oom, AdminOrarendTipusEnum.Terem.ToString(), isFromSzervezet);
oom.OraKezdete = ooco.OraKezdete;
oom.OraVege = ooco.OraVege;
oom.ErvenyessegiIdo = model.Start;
var api = new AdminTanariOrarendApiController();
oom.HetirendList = api.GetHetirendList();
oom.OsztalyCsoportId = ooco.OsztalyCsoportId;
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
oom.IsFromSzervezet = isFromSzervezet;
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
return oom;
}
private OrarendiOraModel ConvertCoToModel(OrarendiOraCO ooco, int tanarId, TantargyFelosztasCO tfco)
{
var model = new OrarendiOraModel
{
ID = ooco.ID,
CsengetesiRendOraID = ooco.CsengetesiRendOraID,
CsengetesiRendID = ooco.CsengetesiRendID,
HetirendID = ooco.Hetirend,
Hetirend = ooco.Hetirend > 0 ? ooco.Hetirend.GetDisplayName<HetiRendTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty,
TeremID = ooco.TeremID,
OraErvenyessegKezdete = ooco.OraErvenyessegKezdete,
OraErvenyessegVege = ooco.OraErvenyessegVege,
Oraszam = ooco.Oraszam,
Bontott = ooco.Bontott,
Differencialt = ooco.Differencialt,
Drama = ooco.Drama,
HetNapja = ooco.HetNapja,
IKTTanora = ooco.IKTTanora,
IPRTanora = ooco.IPRTanora,
Kooperativ = ooco.Kooperativ,
Meres = ooco.Meres,
MindennaposTestneveles = ooco.MindennaposTestneveles,
NemSzakrendszeruOra = ooco.NemSzakrendszeruOra,
NemzetisegiOra = ooco.NemzetisegiOra,
IsFelnottoktatasiSzerzodes = ooco.IsFelnottoktatasiSzerzodes,
OnlineOra = ooco.OnlineOra,
ParhuzamosOra = ooco.ParhuzamosOra,
Sorszamozando = ooco.Sorszamozando,
TAMOPOra = ooco.TAMOPOra,
KIPOra = ooco.KIPOra,
VEKOP73317 = ooco.VEKOP73317,
KAPOra = ooco.KAPOra,
Tiop = ooco.Tiop,
Tulora = ooco.Tulora,
IsModification = ooco.IsModification,
HetNapjaSzoveg = ooco.HetNapja.GetDisplayName<HetNapjaTipusEnum>(ClaimData.SelectedTanevID.Value),
Multikulturalis = ooco.Multikulturalis,
EFOP32317 = ooco.EFOP32317,
KomplexOra = ooco.KomplexOra,
GINOP623 = ooco.GINOP623,
EFOP31716EselyteremtesAKoznevelesben = ooco.EFOP31716EselyteremtesAKoznevelesben,
EFOP33717 = ooco.EFOP33717,
TIOP11112120120001 = ooco.TIOP11112120120001,
DFHT = ooco.DFHT,
Rahangolodas = ooco.Rahangolodas,
Testmozgas = ooco.Testmozgas,
Muveszet = ooco.Muveszet,
Eletgyakorlat = ooco.Eletgyakorlat,
Logika = ooco.Logika,
TeOrad = ooco.TeOrad,
DigitalisAlapProgram = ooco.DigitalisAlapProgram,
EFOP23517201700038Miapalya = ooco.EFOP23517201700038Miapalya,
TanevTananyaganakIsmetlese = ooco.TanevTananyaganakIsmetlese,
TanevTananyaganakKiegeszitese = ooco.TanevTananyaganakKiegeszitese,
TanulokDigitalisKeszsegfejlesztese = ooco.TanulokDigitalisKeszsegfejlesztese,
Projektmunka = ooco.Projektmunka,
TanulokKompenzaciosIraskeszsegFejlesztese = ooco.TanulokKompenzaciosIraskeszsegFejlesztese,
TanulokKompenzaciosOlvasasiKepessegFejlesztese = ooco.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = ooco.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
TanulokNyelviKepessegenekKompenzaciosFejlesztese = ooco.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
TanulokOnmegismeresenekSegitese = ooco.TanulokOnmegismeresenekSegitese,
TanulokOnallosagraNevelese = ooco.TanulokOnallosagraNevelese,
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = ooco.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
TanulokOrientaciosTamogatasa = ooco.TanulokOrientaciosTamogatasa,
TanulokSzocialitasanakFejlesztese = ooco.TanulokSzocialitasanakFejlesztese,
TanulokTovabbhaladasatElokeszitoTevekenysegek = ooco.TanulokTovabbhaladasatElokeszitoTevekenysegek,
PedagogusAltalJelzettEgyeniEsetkezeles = ooco.PedagogusAltalJelzettEgyeniEsetkezeles,
ProjektmunkaTamogatasa = ooco.ProjektmunkaTamogatasa,
DigitalisKeszsegfejlesztes = ooco.DigitalisKeszsegfejlesztes,
KozossegiMunkaTamogatasa = ooco.KozossegiMunkaTamogatasa,
TanoraElokeszitesenekTamogatasa = ooco.TanoraElokeszitesenekTamogatasa,
TanoraLebonyolitasanakTamogatasa = ooco.TanoraLebonyolitasanakTamogatasa,
NapkozisTevekenysegKeretebenEgyeniFejlesztes = ooco.NapkozisTevekenysegKeretebenEgyeniFejlesztes,
IsEgybefuggoGyakorlat = ooco.IsEgybefuggoGyakorlat,
TTFModel = new TTFModel
{
FoglalkozasID = ooco.FoglalkozasID,
TanarID = tanarId,
Oraszam = (int)tfco.Oraszam,
OsztalyID = tfco.OsztalyCsoportID,
TantargyID = tfco.TantargyID,
Nev = !string.IsNullOrWhiteSpace(tfco.Nev) ? tfco.Nev : string.Empty
},
};
return model;
}
}
}