init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,740 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.Extensions;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Caching;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Logic.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Caching.DictionaryItemTables;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class SystemSettingsApiController : ApiController
|
||||
{
|
||||
public SortedList<int, SystemSettingGroup> GetSystemSettings()
|
||||
{
|
||||
|
||||
return new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettings(ClaimData.IsVegyes, ClaimData.FeladatKategoriak, ClaimData.IsSzirIntezmeny);
|
||||
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage ResetSystemSettings()
|
||||
{
|
||||
bool result = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).ResetSystemSettings(new List<int>() { (int)RendszerBeallitasTipusEnum.Lazar_Ervin_Program_kezelese });
|
||||
if (result)
|
||||
{
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(439) /*Nem sikerült a művelet!*/);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveSystemSettings(Dictionary<RendszerBeallitasTipusEnum, dynamic> model)
|
||||
{
|
||||
try
|
||||
{
|
||||
ModelStateDictionary modelState = ValidateModel(model);
|
||||
|
||||
if (modelState.IsValid)
|
||||
{
|
||||
new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SetSystemSettings(model, ClaimData.KovTanevID);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, modelState);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(
|
||||
HttpStatusCode.InternalServerError,
|
||||
StringResourcesUtil.GetString(439) /*Nem sikerült a művelet!*/)
|
||||
{
|
||||
UnHandledException = ex
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGradeWeights(Dictionary<string, string> grades)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<ErtekelesModSulyCo> ertekelesModSulyCoList = grades.Select(grade => new ErtekelesModSulyCo
|
||||
{
|
||||
ErtekelesModId = int.Parse(grade.Key),
|
||||
Suly = int.Parse(grade.Value)
|
||||
}).ToList();
|
||||
|
||||
SessionConnectionType sessionConnetionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var adatszotarHelper = new AdatszotarHelper(sessionConnetionType);
|
||||
foreach (ErtekelesModSulyCo ertekelesModSulyCo in ertekelesModSulyCoList)
|
||||
{
|
||||
AdatszotarCO adatszotarCo = adatszotarHelper.GetAdatszotarElem(ertekelesModSulyCo.ErtekelesModId);
|
||||
adatszotarCo.Suly = ertekelesModSulyCo.Suly;
|
||||
adatszotarHelper.Update(adatszotarCo, ClaimData.KovTanevID);
|
||||
}
|
||||
|
||||
new TanuloErtekelesHelper(sessionConnetionType).UpdateTantargyAtlag();
|
||||
|
||||
KretaServer.KretaServer.Instance.CacheManager.AquireCache<TantargyiAtlagCache>().ClearTantargyiAtlagRegion(sessionConnetionType.IntezmenyAzonosito);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.InternalServerError, StringResourcesUtil.GetString(439) /*Nem sikerült a művelet!*/)
|
||||
{
|
||||
UnHandledException = ex
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteTantargyfelosztas()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (ClaimData.IsActivTanev)
|
||||
{
|
||||
var helper = new TantargyFelosztasHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.FizikaiTorlesTantargyfelosztas();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
throw new Exception(ErrorResource.NemEgyezikMegAzAktivTanevAKivalasztottTanevvel);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteImportaltTantargyfelosztas()
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TantargyFelosztasHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.DeleteAllTargyFelosztas();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteOrarendek()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (ClaimData.IsActivTanev)
|
||||
{
|
||||
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.FizikaiTorlesOrarendek();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
throw new Exception(ErrorResource.NemEgyezikMegAzAktivTanevAKivalasztottTanevvel);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public ErtekelesModSulyListModel GetGradeWeights()
|
||||
{
|
||||
List<ErtekelesModDictionaryItem> ertekelesModDictionaryItems = EnumExtensions.GetErtekelesModDictionaryItems(ClaimData.SelectedTanevID.Value);
|
||||
|
||||
var model = new ErtekelesModSulyListModel { ErtekelesModSulyList = new List<ErtekelesModSulyModel>() };
|
||||
foreach (var ertekelesModDictionaryItem in ertekelesModDictionaryItems)
|
||||
{
|
||||
model.ErtekelesModSulyList.Add(new ErtekelesModSulyModel { ErtekelesModId = ertekelesModDictionaryItem.Id, ErtekelesModNev = ertekelesModDictionaryItem.Name, Suly = ertekelesModDictionaryItem.Suly, });
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage FejlecCheckBoxMentes(bool isMegjelenit)
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.SetIntezmenyFejlecCheckBox(isMegjelenit);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage LablecCheckBoxMentes(bool isMegjelenit)
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.SetIntezmenyLablecCheckBox(isMegjelenit);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage ImageValidate([FromBody] string image)
|
||||
{
|
||||
switch (SystemSettingsLogic.ImageValidate(image))
|
||||
{
|
||||
case Enums.ManualEnums.SystemSettings.SystemSettingsFejlecLablecSzerkesztoHibakEnum.AFajlKiterjeszteseVagyTipusaNemMegfelelo:
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo);
|
||||
case Enums.ManualEnums.SystemSettings.SystemSettingsFejlecLablecSzerkesztoHibakEnum.HibaTortentXMBNalNemLehetNagyobbAFajlMerete:
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(ErrorResource.HibaTortentXMBNalNemLehetNagyobbAFajlMerete, SystemSettingsLogic.MaxFileSizeMB));
|
||||
case Enums.ManualEnums.SystemSettings.SystemSettingsFejlecLablecSzerkesztoHibakEnum.AKepMagassagaMeghaladjaAMegengedettMeretet:
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(ErrorResource.AKepMagassagaMeghaladjaAMegengedettMeretet, SystemSettingsLogic.AllowedMaxHeight));
|
||||
case Enums.ManualEnums.SystemSettings.SystemSettingsFejlecLablecSzerkesztoHibakEnum.AzOsszesKepSzelessegeMeghaladjaAMegengedettMeretet:
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(ErrorResource.AzOsszesKepSzelessegeMeghaladjaAMegengedettMeretet, SystemSettingsLogic.AllowedMaxWidth));
|
||||
default:
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
}
|
||||
|
||||
public HttpResponseMessage FejlecMentes(FejlecLablecSzerkesztoModel model)
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.SetIntezmenyFejlec(model.ToCo());
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage FejlecTorles()
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.DeleteIntezmenyFejlec();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
public HttpResponseMessage LablecTorles()
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.DeleteIntezmenyLablec();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage LablecMentes(FejlecLablecSzerkesztoModel model)
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.SetIntezmenyLablec(model.ToCo());
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
private ModelStateDictionary ValidateModel(Dictionary<RendszerBeallitasTipusEnum, dynamic> model)
|
||||
{
|
||||
ModelStateDictionary modelState = new ModelStateDictionary();
|
||||
|
||||
RendszerBeallitasTipusEnum beallitas;
|
||||
|
||||
if (!model[RendszerBeallitasTipusEnum.Osztalyfonok_modosithatja_osztalyaba_jaro_tanulok_adatait])
|
||||
{
|
||||
beallitas = RendszerBeallitasTipusEnum.Osztalyfonok_megtekintheti_modosithatja_osztalyaba_jaro_tanulok_szocialis_tanugyi_es_SNI_BTM_adatait;
|
||||
if (model[beallitas])
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), StringResourcesUtil.GetString(4018) /*A funkció csak akkor engedélyezhető, ha az 'Osztályfőnök módosíthatja osztályába járó tanulók adatait' érték IGEN-re van állítva.*/);
|
||||
}
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Osztalyfonok_megtekintheti_modosithatja_osztalyaba_jaro_tanulok_zaradekat;
|
||||
if (model[beallitas])
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), StringResourcesUtil.GetString(4018) /*A funkció csak akkor engedélyezhető, ha az 'Osztályfőnök módosíthatja osztályába járó tanulók adatait' érték IGEN-re van állítva.*/);
|
||||
}
|
||||
}
|
||||
|
||||
if (!model[RendszerBeallitasTipusEnum.Osztalyfonok_modosithatja_osztalyaba_jaro_tanulok_adatait] || !model[RendszerBeallitasTipusEnum.Tanulo_vallasi_adatainak_kezelese])
|
||||
{
|
||||
beallitas = RendszerBeallitasTipusEnum.Osztalyfonok_megtekintheti_kezelheti_az_osztalyaba_jaro_tanulok_vallasi_adatait;
|
||||
if (model[beallitas])
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FunkcioNemEngedelyezhetoAdatkezeleseiBeallitasokAlapjan);
|
||||
}
|
||||
}
|
||||
|
||||
if (!model[RendszerBeallitasTipusEnum.Osztalyfonok_modosithatja_osztalyaba_jaro_tanulok_adatait] || !model[RendszerBeallitasTipusEnum.Tanulo_sportoloi_adatainak_kezelese])
|
||||
{
|
||||
beallitas = RendszerBeallitasTipusEnum.Osztalyfonok_megtekintheti_modosithatja_osztalyaba_jaro_tanulok_sportoloi_adatait;
|
||||
if (model[beallitas])
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FunkcioNemEngedelyezhetoAdatkezeleseiBeallitasokAlapjan);
|
||||
}
|
||||
}
|
||||
|
||||
#region Az elektronikus napló megjelenésének kezdőidőpontja és záróidőpontja
|
||||
|
||||
var helper = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var ds = helper.GetCsengetesiOrakKezdVeg();
|
||||
|
||||
TimeSpan rendszerKezdes = default;
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.ElektronikusNaploMegjelenesKezdoUres);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TimeSpan.TryParse(model[beallitas], out rendszerKezdes) && rendszerKezdes.TotalMilliseconds >= 0)
|
||||
{
|
||||
var csengetesiKezdes = ds.Tables[0].Rows[0]["Kezd"].ToString();
|
||||
if (!string.IsNullOrWhiteSpace(csengetesiKezdes) && rendszerKezdes > TimeSpan.Parse(csengetesiKezdes))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), StringResourcesUtil.GetString(4318) + TimeSpan.Parse(csengetesiKezdes) /*Az elektronikus napló megjelenésének kezdőidőpontja legkésőbb a legkorábbi csengetési rendi időpont kezdete lehet. Ennek értéke jelenleg: */);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.ElektronikusNaploMegjelenesKezdoFormatum);
|
||||
}
|
||||
}
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.ElektronikusNaploMegjelenesZaroUres);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TimeSpan.TryParse(model[beallitas], out TimeSpan rendszerVege) && rendszerVege.TotalMilliseconds >= 0)
|
||||
{
|
||||
var csengetesiVege = ds.Tables[0].Rows[0]["Vege"].ToString();
|
||||
if (!string.IsNullOrWhiteSpace(csengetesiVege) && rendszerVege < TimeSpan.Parse(csengetesiVege))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), StringResourcesUtil.GetString(4319) + TimeSpan.Parse(csengetesiVege) /*Az elektronikus napló megjelenésének záróidőpontja legkorábban a legkésőbbi csengetési rendi időpont vége lehet. Ennek értéke jelenleg: */);
|
||||
}
|
||||
|
||||
if (rendszerKezdes > rendszerVege)
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.ElektronikusNaploMegjelenesKezdoKesobbi);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.ElektronikusNaploMegjelenesZaroFormatum);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Az elektronikus napló megjelenésének kezdőidőpontja és záróidőpontja
|
||||
|
||||
TimeSpan fogadoOraKezdo = default;
|
||||
TimeSpan fogadoOraZaro = default;
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Fogado_Ora_Kezdoidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FogadoOraKezdoUres);
|
||||
}
|
||||
else if (!TimeSpan.TryParse(model[beallitas], out fogadoOraKezdo))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FogadoOraKezdoFormatum);
|
||||
}
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Fogado_Ora_Zaroidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FogadoOraZaroUres);
|
||||
}
|
||||
else if (!TimeSpan.TryParse(model[beallitas], out fogadoOraZaro))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FogadoOraZaroFormatum);
|
||||
}
|
||||
else if (fogadoOraKezdo > fogadoOraZaro)
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FogadoOraKezdoKesobbi);
|
||||
}
|
||||
|
||||
TimeSpan nemKotottKezdete = default;
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_kezdoidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaidoMegjelenesKezdoUres);
|
||||
}
|
||||
else if (!(TimeSpan.TryParse(model[beallitas], out nemKotottKezdete) && nemKotottKezdete.TotalMilliseconds >= 0))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaidoMegjelenesKezdoFormatum);
|
||||
}
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_zaroidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaidoMegjelenesZaroUres);
|
||||
}
|
||||
else if (!(TimeSpan.TryParse(model[beallitas], out TimeSpan nemKotottVege) && nemKotottVege.TotalMilliseconds >= 0))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaidoMegjelenesZaroFormatum);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nemKotottKezdete > nemKotottVege)
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaIdoMegjelenesKezdoKesobbi);
|
||||
}
|
||||
|
||||
if (nemKotottKezdete == nemKotottVege)
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaidoKezdoZaroMegegyezik);
|
||||
}
|
||||
}
|
||||
|
||||
DateTime gyakorlatKezdeteDatum = default;
|
||||
DateTime gyakorlatVegDatum = default;
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_kezd_datum;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.OsszefuggoSzakmaiGyakorlatKezdeteUres);
|
||||
}
|
||||
else if (!DateTime.TryParse(model[beallitas], out gyakorlatKezdeteDatum))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.OsszefuggoSzakmaiGyakorlatKezdeteFormatum);
|
||||
}
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_veg_datum;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.OsszefuggoSzakmaiGyakorlatVegeUres);
|
||||
}
|
||||
else if (!DateTime.TryParse(model[beallitas], out gyakorlatVegDatum))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.OsszefuggoSzakmaiGyakorlatVegeFormatum);
|
||||
}
|
||||
else if (gyakorlatKezdeteDatum > gyakorlatVegDatum)
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.OsszefuggoSzakmaiGyakorlatKezdeteKesobbi);
|
||||
}
|
||||
|
||||
var (kezdoNap, utolsoNap) = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevElsoEsUtolsoNapja();
|
||||
beallitas = RendszerBeallitasTipusEnum.Naplozaras_eves_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_kezd_datum;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_veg_datum;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.I_Negyedeves_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.II_Negyedeves_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.III_Negyedeves_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.IV_Negyedeves_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Felevi_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ev_vegi_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ev_vegi_jegyek_megjelenesenek_datuma_vegzos;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ertekeles_datumanak_minimuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ertesites_bukasra_allo_tanulokrol;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ertesites_bukasra_allo_vegzos_tanulokrol;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ertesites_Tanev_rendi_valtoztatasrol_esetek;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
|
||||
return modelState;
|
||||
}
|
||||
|
||||
private void DatumEllenorzes(string ertek, DateTime kezdoNap, DateTime utolsoNap, ModelStateDictionary modelState, RendszerBeallitasTipusEnum beallitas)
|
||||
{
|
||||
if (!(DateTime.TryParse(ertek, out DateTime naplozarasEvesDatum)))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), "Rossz dátum formátum");
|
||||
}
|
||||
else if ((naplozarasEvesDatum < kezdoNap) || (naplozarasEvesDatum > utolsoNap))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), "A beállított dátumnak a tanév első és utolsó napja között kell lennie.");
|
||||
}
|
||||
}
|
||||
|
||||
#region Tanuló Értékelés Mondatbank
|
||||
|
||||
public DataSourceResult GetTanuloErtekelesMondatbankGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
|
||||
KretaGridDataSourceRequest request)
|
||||
{
|
||||
data = data.Replace("_", string.Empty);
|
||||
var model = JsonConvert.DeserializeObject<TanuloErtekelesMondatbankSearchModel>(data);
|
||||
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
DataSet dataSet = helper.GetTanuloErtekelesMondatbankGrid(ConvertTanuloErtekelesMondatbankSearchModelToSearchCo(model));
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTanuloErtekelesMondatbankItem(TanuloErtekelesMondatbankItemModel model)
|
||||
{
|
||||
ModelState.Merge(model.Validate());
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.SaveTanuloErtekelesMondatbankItem(model.ToCo());
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteTanuloErtekelesMondatbankItem([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.DeleteTanuloErtekelesMondatbankItems(new List<int> { id });
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult DeleteSelectedTanuloErtekelesMondatbankItems(List<int> idList)
|
||||
{
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var (counter, errorMsg) = helper.DeleteTanuloErtekelesMondatbankItems(idList);
|
||||
|
||||
if (counter == idList.Count)
|
||||
return Json(new { Message = errorMsg });
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, errorMsg);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult SaveSelectedTanuloErtekelesMondatbankItems(TanuloErtekelesMondatbankTobbesItemModel model)
|
||||
{
|
||||
ModelState.Merge(model.Validate());
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var (counter, errorMsg) = helper.ModifyTanuloErtekelesMondatbankItems(model.ToCo());
|
||||
|
||||
if (counter == model.SelectedIdList.Count)
|
||||
return Json(new { Message = errorMsg });
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, errorMsg);
|
||||
}
|
||||
|
||||
var a = string.Join(Environment.NewLine, ModelState.Values.Select(x => x.Errors.Select(y => y.ErrorMessage)).Select(z => string.Join(Environment.NewLine, z.ToArray())).ToArray());
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, a);
|
||||
}
|
||||
|
||||
private TanuloErtekelesMondatbankSearchCO ConvertTanuloErtekelesMondatbankSearchModelToSearchCo(TanuloErtekelesMondatbankSearchModel model)
|
||||
{
|
||||
return new TanuloErtekelesMondatbankSearchCO()
|
||||
{
|
||||
EvfolyamTipusIdList = model.EvfolyamTipusIdList,
|
||||
RovidNev = model.RovidNevS,
|
||||
Szoveg = model.SzovegS,
|
||||
TantargyIdList = model.TantargyIdList.Select(x => (tantargyId: x, tipusId: x != 0 ? TanuloErtekelesMondatbankHelper.GetTanuloErtekelesMondatbankTipusIdByTantargyId(x) : (int)ErtMondatbankTipusEnum.Tantargy)).ToList(),
|
||||
TanuloErtekelesTipusIdList = model.TanuloErtekelesTipusIdList,
|
||||
};
|
||||
}
|
||||
|
||||
#endregion Tanuló Értékelés Mondatbank
|
||||
|
||||
#region CsoportTipus
|
||||
|
||||
public List<CsoportTipusModel> GetCsoportTipusList()
|
||||
{
|
||||
List<CsoportTipusCO> csoportTipusList = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsoportTipusList();
|
||||
|
||||
return csoportTipusList.Select(ConvertCOToModel).ToList();
|
||||
}
|
||||
|
||||
public DataSourceResult GetCsoportTipusGridList([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
List<CsoportTipusCO> csoportTipusList = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsoportTipusList();
|
||||
return csoportTipusList.Select(ConvertCOToGridModel).ToList().ToDataSourceResult(request);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveCsoportTipusList(List<CsoportTipusModel> model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
List<CsoportTipusCO> csoportTipusList = model.Select(ConvertModelToCO).ToList();
|
||||
|
||||
new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveCsoportTipusList(csoportTipusList, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
private CsoportTipusModel ConvertCOToModel(CsoportTipusCO csoportTipus)
|
||||
{
|
||||
return new CsoportTipusModel
|
||||
{
|
||||
Id = csoportTipus.Id,
|
||||
Nev = csoportTipus.Nev,
|
||||
IsTanoraiCelu = csoportTipus.IsTanoraiCelu,
|
||||
IsProtected = csoportTipus.IsProtected,
|
||||
OraPerc = csoportTipus.OraPerc
|
||||
};
|
||||
}
|
||||
|
||||
private CsoportTipusGridModel ConvertCOToGridModel(CsoportTipusCO csoportTipus)
|
||||
{
|
||||
return new CsoportTipusGridModel
|
||||
{
|
||||
ID = csoportTipus.Id.ToString(),
|
||||
Nev = csoportTipus.Nev,
|
||||
IsTanoraiCelu = csoportTipus.IsTanoraiCelu,
|
||||
IsProtected = csoportTipus.IsProtected,
|
||||
OraPerc = csoportTipus.OraPerc
|
||||
};
|
||||
}
|
||||
|
||||
private CsoportTipusCO ConvertModelToCO(CsoportTipusModel csoportTipus)
|
||||
{
|
||||
return new CsoportTipusCO
|
||||
{
|
||||
Id = csoportTipus.Id,
|
||||
Nev = csoportTipus.Nev,
|
||||
IsTanoraiCelu = csoportTipus.IsTanoraiCelu,
|
||||
IsProtected = csoportTipus.IsProtected,
|
||||
OraPerc = csoportTipus.OraPerc
|
||||
};
|
||||
}
|
||||
|
||||
#endregion CsoportTipus
|
||||
|
||||
#region JuttatasAdatok
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public void JuttatasAdatokUjraGeneralasa()
|
||||
{
|
||||
new SzakkepzesiJuttatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).UpdateOsszesTanuloSzakkepzesiJuttatasok();
|
||||
}
|
||||
|
||||
//[HttpPost]
|
||||
//[ApiValidateAjaxAntiForgeryToken]
|
||||
//public void FeleviAtlagokUjraGeneralasa()
|
||||
//{
|
||||
// new SzakkepzesiJuttatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).UpdateOsszesTanuloAtlag(AtlagTipusEnum.Felevi);
|
||||
//}
|
||||
|
||||
//[HttpPost]
|
||||
//[ApiValidateAjaxAntiForgeryToken]
|
||||
//public void EvvegiAtlagokUjraGeneralasa()
|
||||
//{
|
||||
// new SzakkepzesiJuttatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).UpdateOsszesTanuloAtlag(AtlagTipusEnum.Evvegi);
|
||||
//}
|
||||
#endregion
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue