init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
65
KretaWeb/Areas/Orarend/Logic/AdminKozpontiOraLogic.cs
Normal file
65
KretaWeb/Areas/Orarend/Logic/AdminKozpontiOraLogic.cs
Normal file
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Intezmeny.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class AdminKozpontiOraLogic
|
||||
{
|
||||
public KozpontiOraValidationCo CreateOraValidationCoListForKozpontiOrak(DateTime start, DateTime end, int hanyadikOra, List<AdminKozpontiOrakRogzitesGridModel> kozpontiOrakList, bool isTeremutkozesFigyelese, out List<OraValidationCo> validatedKozpontiOraToBeSaved)
|
||||
{
|
||||
validatedKozpontiOraToBeSaved = new List<OraValidationCo>();
|
||||
var validationCo = new KozpontiOraValidationCo();
|
||||
validationCo.IsValid = true;
|
||||
validationCo.ErrorMessage = string.Empty;
|
||||
|
||||
if (kozpontiOrakList == null || !kozpontiOrakList.Any())
|
||||
{
|
||||
return validationCo;
|
||||
}
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var csengetesirendId = new AdminKozpontiOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType()).CsengetesirendId;
|
||||
var kozpontiOraGroupId = Guid.NewGuid();
|
||||
foreach (var kozpontiOra in kozpontiOrakList)
|
||||
{
|
||||
OrarendiOraModel orarendiOramodel = KozpontiOraConverter.ConvertToOrarendiOra(kozpontiOra, csengetesirendId, start, end, hanyadikOra);
|
||||
OrarendiOraLogic.SetHetNapja(orarendiOramodel, start.DayOfWeek);
|
||||
orarendiOramodel.HetirendList = OrarendiOraLogic.GetAktualHetirendList();
|
||||
orarendiOramodel.IsEgyediNap = TanevRendjeLogic.IsEgyediNapByDateAndOsztalyCsoportId(start.Date, kozpontiOra.OsztalyId);
|
||||
|
||||
OrarendiOraLogic.PostProcessHetirend(orarendiOramodel);
|
||||
OrarendiOraLogic.PostProcessOraszam(orarendiOramodel);
|
||||
OrarendiOraLogic.PostProcessHetnapja(orarendiOramodel);
|
||||
orarendiOramodel.ModositasiIdoszakTipus = (int)OraModositasiIdoszakTipus.EgyOra;
|
||||
|
||||
OraValidationCo oraValidationCo = orarendiOramodel.CreateOraValidationCo();
|
||||
|
||||
if (orarendiOraHelper.CheckUtkozesValidation(oraValidationCo, null, isPrevalidation: false, isThrowExceptionOnCollision: false, isCheckKozponti: true, isTeremutkozesFigyelese: isTeremutkozesFigyelese))
|
||||
{
|
||||
|
||||
if (oraValidationCo.IsKozpontiDuplicate || !string.IsNullOrWhiteSpace(oraValidationCo.Msg.ToString()))
|
||||
{
|
||||
validationCo.IsValid = false;
|
||||
validationCo.ErrorMessage = oraValidationCo.Msg.ToString();
|
||||
validationCo.HasTeremutkozes = oraValidationCo.OrarendiOraValidationCo.HasTeremutkozes;
|
||||
validationCo.TeremutkozesSystemSettingsValue = oraValidationCo.OrarendiOraValidationCo.TeremutkozesSystemSetting;
|
||||
validatedKozpontiOraToBeSaved.Add(oraValidationCo);
|
||||
return validationCo;
|
||||
|
||||
}
|
||||
|
||||
oraValidationCo.OrarendiOraValidationCo.KozpontiOraGroupId = kozpontiOraGroupId;
|
||||
validatedKozpontiOraToBeSaved.Add(oraValidationCo);
|
||||
}
|
||||
}
|
||||
|
||||
return validationCo;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class AdminNemElerhetoOrarendiElemekLogic
|
||||
{
|
||||
public static int DeleteSelectedOrarendiOra(List<int> idList)
|
||||
{
|
||||
var helper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var sikeresekSzama = 0;
|
||||
|
||||
foreach (var orarendiOraId in idList)
|
||||
{
|
||||
try
|
||||
{
|
||||
helper.DeleteOrarendiElem(orarendiOraId);
|
||||
sikeresekSzama++;
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
return sikeresekSzama;
|
||||
}
|
||||
}
|
||||
}
|
97
KretaWeb/Areas/Orarend/Logic/KepekListajaLogic.cs
Normal file
97
KretaWeb/Areas/Orarend/Logic/KepekListajaLogic.cs
Normal file
|
@ -0,0 +1,97 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using ICSharpCode.SharpZipLib.Zip;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Client.FileService.Request;
|
||||
using Kreta.Core;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class KepekListajaLogic
|
||||
{
|
||||
public static PopUpModel GetPopUpModelOpenKepInfo(int oraFileId, IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
var helper = new OpenBoardHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var oraFile = helper.GetFile(oraFileId);
|
||||
var intezmenyAzonosito = ConnectionTypeExtensions.GetSessionConnectionType().IntezmenyAzonosito;
|
||||
|
||||
string contentAsBase64Encoded = "data:image/jpeg;base64," + fileServiceHelper.GetFile(intezmenyAzonosito, new GetUrlRequest(oraFile.Utvonal, oraFile.Guid.Value, oraFile.Nev)).Tartalom;
|
||||
|
||||
var model = new PopUpModel(new KepekListajaGridModel()
|
||||
{
|
||||
ID = oraFile.ID.ToString(),
|
||||
OraFileId = oraFile.ID,
|
||||
FajlUrl = oraFile.Utvonal,
|
||||
KepNeve = oraFile.Nev,
|
||||
Base64EncodedFajlTartalom = contentAsBase64Encoded
|
||||
}, "~/Areas/Orarend/Views/KepekListaja/KepInfo_PopUp.cshtml");
|
||||
|
||||
model.AddBtn(model, "DeleteKep", CommonResource.Torles, "KepekListajaHelper.deleteKepPopUpConfirmWindow", "BtnDelete");
|
||||
model.AddCancelBtn(model, "KepekListajaHelper.openKepInfoCancel");
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static PopUpModel GetPopUpModelOpenModifyKep(int oraFileId)
|
||||
{
|
||||
var helper = new OpenBoardHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var file = helper.GetFile(oraFileId);
|
||||
|
||||
var model = new PopUpModel(new KepekListajaGridModel()
|
||||
{
|
||||
ID = file.ID.ToString(),
|
||||
OraFileId = file.ID,
|
||||
KepNeve = file.Nev,
|
||||
Megjegyzes = file.Megjegyzes
|
||||
}, "KepModify_PopUp");
|
||||
|
||||
model.AddBtn(model, "KepCancelBtn", CommonResource.Megse, "KepekListajaHelper.modifyKepCancel");
|
||||
|
||||
model.AddOkBtn(model, "KepekListajaHelper.modifyKepSave");
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static Guid DownloadSelectedKep(List<int> selectedKepIdList, IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
var helper = new OpenBoardHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var intezmenyAzonosito = ConnectionTypeExtensions.GetSessionConnectionType().IntezmenyAzonosito;
|
||||
|
||||
var OutPut = new MemoryStream();
|
||||
var zipOutPut = new ZipOutputStream(OutPut);
|
||||
|
||||
byte[] buffer = new byte[Constants.General.BufferSize];
|
||||
|
||||
foreach (var kepId in selectedKepIdList)
|
||||
{
|
||||
var kep = helper.GetFile(kepId);
|
||||
var base64imageFromUrl = "data:image/jpeg;base64," + fileServiceHelper.GetFile(intezmenyAzonosito, new GetUrlRequest(kep.Utvonal, kep.Guid.Value, kep.Nev)).Tartalom;
|
||||
|
||||
string[] parts = base64imageFromUrl.Split(new string[] { ";", ":", "," }, StringSplitOptions.None);
|
||||
|
||||
var image = new MemoryStream(Convert.FromBase64String(parts[3]));
|
||||
|
||||
ZipEntry entry = new ZipEntry($"{kep.Nev}.{kep.Kiterjesztes}");
|
||||
zipOutPut.PutNextEntry(entry);
|
||||
|
||||
int sourceBytes;
|
||||
do
|
||||
{
|
||||
sourceBytes = image.Read(buffer, 0, buffer.Length);
|
||||
zipOutPut.Write(buffer, 0, sourceBytes);
|
||||
} while (sourceBytes > 0);
|
||||
}
|
||||
|
||||
zipOutPut.Finish();
|
||||
OutPut.Position = 0;
|
||||
|
||||
return Cache.Add(OutPut);
|
||||
}
|
||||
}
|
||||
}
|
156
KretaWeb/Areas/Orarend/Logic/NemKotottMunkaidoLogic.cs
Normal file
156
KretaWeb/Areas/Orarend/Logic/NemKotottMunkaidoLogic.cs
Normal file
|
@ -0,0 +1,156 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.KretaServer.SystemSettings;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class NemKotottMunkaidoLogic
|
||||
{
|
||||
public static System.Web.Http.ModelBinding.ModelStateDictionary CheckCustomValidation(System.Web.Http.ModelBinding.ModelStateDictionary ms, NemKotottMunkaidoModel model)
|
||||
{
|
||||
if (model.Veg.Value.TimeOfDay <= model.Kezdet.Value.TimeOfDay)
|
||||
ms.AddModelError("NKMDateError", StringResourcesUtil.GetString(5274));
|
||||
|
||||
DateTime elsoNap;
|
||||
TanevHelper helper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanev = helper.GetTanevInfo();
|
||||
elsoNap = tanev.OraFelvetelKezdete;
|
||||
|
||||
if (model.Kezdet < elsoNap)
|
||||
ms.AddModelError("OraErvenyessegKezdete", StringResourcesUtil.GetString(3087));
|
||||
|
||||
if (model.ModositasiIdoszakTipus == (int)OraModositasiIdoszakTipus.EgyOra)
|
||||
{
|
||||
var naptariHetHelper = new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var hetirend = naptariHetHelper.GetNaptariHetHetirendByDate(model.Datum.Value);
|
||||
if ((model.HetirendId.Value != (int)HetiRendTipusEnum.MindegyikHet)
|
||||
&& (hetirend != model.HetirendId))
|
||||
{
|
||||
ms.AddModelError("HetirendId", ErrorResource.AKivalasztottNapNemAKivalasztottHetirendhezTartozik);
|
||||
}
|
||||
}
|
||||
|
||||
var nkmHelper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
bool hasTanarNemKotottMunkaidoUtkozes = nkmHelper.HasTanarNemKotottMunkaidoUtkozes(model.TanarId.Value, model.Kezdet.Value, model.Veg.Value, model.Id);
|
||||
|
||||
if (hasTanarNemKotottMunkaidoUtkozes)
|
||||
{
|
||||
ms.AddModelError("Kezdet", ErrorResource.ParhuzamosKotottMunkaidoFelveteleNemLehetseges);
|
||||
}
|
||||
|
||||
return ms;
|
||||
}
|
||||
|
||||
public static NemKotottMunkaidoCO ConvertModelToCO(NemKotottMunkaidoModel model)
|
||||
{
|
||||
var co = new NemKotottMunkaidoCO()
|
||||
{
|
||||
Id = model.Id,
|
||||
GroupId = model.GroupId,
|
||||
TorvenyKategoriaId = model.TorvenyKategoria.Value,
|
||||
TanarId = model.TanarId.Value,
|
||||
TulajId = model.TulajId,
|
||||
Kezdete = model.Kezdet.Value,
|
||||
Vege = model.Veg.Value,
|
||||
Megtartott = model.isMegtartott,
|
||||
Megjegyzes = model.Megjegyzes,
|
||||
NaplozottMegjegyzes = model.NaplozottMegjegyzes,
|
||||
HetirendId = model.HetirendId.Value
|
||||
};
|
||||
|
||||
return co;
|
||||
}
|
||||
|
||||
public static NemKotottMunkaidoModel ConvertModelFromCo(NemKotottMunkaidoCO co)
|
||||
{
|
||||
NemKotottMunkaidoModel model = new NemKotottMunkaidoModel()
|
||||
{
|
||||
Id = co.Id,
|
||||
GroupId = co.GroupId,
|
||||
TanarId = co.TanarId,
|
||||
TulajId = co.TulajId,
|
||||
Datum = co.Kezdete.Date,
|
||||
Kezdet = co.Kezdete,
|
||||
Veg = co.Vege,
|
||||
TorvenyKategoria = co.TorvenyKategoriaId,
|
||||
Megjegyzes = co.Megjegyzes,
|
||||
HetirendId = co.HetirendId,
|
||||
NaplozottMegjegyzes = co.NaplozottMegjegyzes,
|
||||
isMegtartott = co.Megtartott,
|
||||
isReadonly = co.isReadonly,
|
||||
isTanarAltalTorolt = co.isTanarAltalTorolt
|
||||
};
|
||||
|
||||
if (ClaimData.FelhasznaloId != co.TulajId)
|
||||
{
|
||||
model.isAdminRogzitette = true;
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static bool CheckUtkozesValidation(NemKotottMunkaidoModel model)
|
||||
{
|
||||
DateTime kezdetDatum, vegDatum;
|
||||
GetKezdetVegDatumFomModel(model, out kezdetDatum, out vegDatum);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var result = orarendiOraHelper.NemkotottMunkaidoUtkozesEllenorzes(model.TanarId.Value, kezdetDatum, vegDatum, model.Datum.Value, model.HetirendId.Value, model.GroupId);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static int GetNaplozottNemkotottMunkaidoSzamByGroupId(NemKotottMunkaidoModel model)
|
||||
{
|
||||
DateTime kezdetDatum, vegDatum;
|
||||
GetKezdetVegDatumFomModel(model, out kezdetDatum, out vegDatum);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var result = orarendHelper.GetNemKotottMunkaIdo(kezdetDatum, vegDatum, model.GroupId).Where(x => x.Megtartott).Count();
|
||||
return result;
|
||||
}
|
||||
|
||||
private static void GetKezdetVegDatumFomModel(NemKotottMunkaidoModel model, out DateTime kezdetDatum, out DateTime vegDatum)
|
||||
{
|
||||
TanevCO tanevCO;
|
||||
TanevHelper tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
tanevCO = tanevHelper.GetTanevInfo();
|
||||
|
||||
kezdetDatum = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.Datum.Value, model.Kezdet.Value);
|
||||
vegDatum = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.Datum.Value, model.Veg.Value);
|
||||
switch (model.ModositasiIdoszakTipus)
|
||||
{
|
||||
case (int)OraModositasiIdoszakTipus.TeljesIdoszak:
|
||||
kezdetDatum = tanevCO.OraFelvetelKezdete.Date.AddHours(kezdetDatum.Hour).AddMinutes(kezdetDatum.Minute);
|
||||
vegDatum = tanevCO.UtolsoTanitasiNap.Date.AddHours(vegDatum.Hour).AddMinutes(vegDatum.Minute);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.AdottNaptol:
|
||||
vegDatum = tanevCO.UtolsoTanitasiNap.Date.AddHours(vegDatum.Hour).AddMinutes(vegDatum.Minute);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.AdottNapig:
|
||||
kezdetDatum = tanevCO.OraFelvetelKezdete.Date.AddHours(kezdetDatum.Hour).AddMinutes(kezdetDatum.Minute);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.EgyOra:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public static int GetTevekenysegUtkozesSystemSetting()
|
||||
{
|
||||
return SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Napirend_felvitelel_utkozes_figyeles, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
|
||||
}
|
||||
}
|
||||
}
|
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
25
KretaWeb/Areas/Orarend/Logic/SzamonkeresElorejelzesLogic.cs
Normal file
25
KretaWeb/Areas/Orarend/Logic/SzamonkeresElorejelzesLogic.cs
Normal file
|
@ -0,0 +1,25 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class SzamonkeresElorejelzesLogic
|
||||
{
|
||||
public SzamonkeresElorejelzesLogic()
|
||||
{
|
||||
var helper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
SzamonkeresLimitFigyelmeztetes = helper.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Limit_Figyelmeztetesi_Tiltasi_Beallitas);
|
||||
GetModokListNapiLimithez = helper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Ertekeles_Modok_Beallitasa_Napi_Limithez);
|
||||
GetNapiSzamonkeresiLimit = helper.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Napi_Szamonkeresi_Limit);
|
||||
}
|
||||
|
||||
public int SzamonkeresLimitFigyelmeztetes { get; private set; }
|
||||
|
||||
public List<int> GetModokListNapiLimithez { get; private set; }
|
||||
|
||||
public int GetNapiSzamonkeresiLimit { get; private set; }
|
||||
}
|
||||
}
|
44
KretaWeb/Areas/Orarend/Logic/TanoraKeresoLogic.cs
Normal file
44
KretaWeb/Areas/Orarend/Logic/TanoraKeresoLogic.cs
Normal file
|
@ -0,0 +1,44 @@
|
|||
using System.Net.Mime;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class TanoraKeresoLogic
|
||||
{
|
||||
public static ActionResult ExportHelyettesitettTanorak(TanitasiOraSearchModel model)
|
||||
{
|
||||
var bytes = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHelyettesitettTanorakExcelExport(TanitasiOraSearchModel.ConvertModelToCo(model));
|
||||
|
||||
return new FileContentResult(bytes, MediaTypeNames.Application.Octet)
|
||||
{
|
||||
FileDownloadName = HttpUtility.UrlEncode(OrarendResource.HelyettesitettTanorakExportFileName, Encoding.UTF8),
|
||||
};
|
||||
}
|
||||
|
||||
public static ActionResult ExportElmaradtTanorak(TanitasiOraSearchModel model)
|
||||
{
|
||||
var bytes = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetElmaradtTanorakExcelExport(TanitasiOraSearchModel.ConvertModelToCo(model));
|
||||
|
||||
return new FileContentResult(bytes, MediaTypeNames.Application.Octet)
|
||||
{
|
||||
FileDownloadName = HttpUtility.UrlEncode(OrarendResource.ElmaradtTanorakExportFileName, Encoding.UTF8),
|
||||
};
|
||||
}
|
||||
|
||||
public static ActionResult ExportMegtartottTanorak(TanitasiOraSearchModel model)
|
||||
{
|
||||
var bytes = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMegtartottTanorakExcelExport(TanitasiOraSearchModel.ConvertModelToCo(model));
|
||||
|
||||
return new FileContentResult(bytes, MediaTypeNames.Application.Octet)
|
||||
{
|
||||
FileDownloadName = HttpUtility.UrlEncode(OrarendResource.MegtartottTanorakExportFileName, Encoding.UTF8),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue