kreta/KretaWeb/Areas/Tanulo/ApiControllers/TanuloApiController.cs
2024-03-13 00:33:46 +01:00

1046 lines
52 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using System.Web.Http.Results;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Exceptions;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Client.KozpontiKreta;
using Kreta.Core;
using Kreta.Core.Configuratiaton.Interface;
using Kreta.Core.Exceptions;
using Kreta.Core.KozpontiModels.MdszModels;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Entities;
using Kreta.Resources;
using Kreta.Web.Areas.Tanulo.Helper;
using Kreta.Web.Areas.Tanulo.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Models;
using Kreta.Web.Security;
using SDA.DataProvider;
namespace Kreta.Web.Areas.Tanulo.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
public class TanuloApiController : BaseTanuloApiController
{
public TanuloApiController(IKozpontiKretaConfiguration kozpontiKretaConfiguration)
: base(kozpontiKretaConfiguration)
{
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
public DataSourceResult GetTanuloGrid(string data, DataSourceRequest request)
{
return GetTanuloGrid(data, request, false);
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
{
return GetExport(data, request, false);
}
#region Tanuló mentés/módosítás/törlés
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.IsLEPKezelo.ClaimValue)]
public HttpResponseMessage DeleteTanulo([FromBody] int tanuloId)
{
try
{
TanuloLogic.TanuloDelete(tanuloId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (CannotBeDeletedException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
catch (EntityDeleteFailedException ex)
{
var tanuloAdatCO = TanuloLogic.GetTanuloAdatCO(tanuloId);
var entityName = BusinessLogic.Extensions.NameExtensions.GetNevSorrendben("F", tanuloAdatCO.Elotag, tanuloAdatCO.CsaladiNev, tanuloAdatCO.UtoNev);
string uzenet;
if (ClaimData.IsCsokkentettTanuloLEP)
{ uzenet = string.Format(ErrorResource._0TanuloNemTorolhetoMertJelentkeztetveVanEloadasra, entityName); }
else
{ uzenet = string.Format(ErrorResource.TanuloNemTorolhetoKapcsolatMiatt, entityName, ex.ConnectionErrorMessage); }
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.IsLEPKezelo.ClaimValue)]
public HttpResponseMessage DeleteJogviszonySzuneteltetes(JogviszonySzuneteltetesDeleteModel model)
{
try
{
if (model.IsJogviszonySzuneteltetese && model.GridCnt == 1)
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.JogviszonySzunetLegalabbEgyIdoszakKotelezo);
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.DeleteJogviszonySzuneteltetes(model.Id.Value);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveJogviszonySzuneteltetes(JogviszonySzuneteltetesModel model)
{
try
{
if (model.JogviszonySzuneteltetesKezdete.Value > model.JogviszonySzuneteltetesVege.Value)
ModelState.AddModelError("JogviszonySzuneteltetes1", ErrorResource.JogviszonySzuneteltetes);
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevData = tanevHelper.GetTanevInfo();
if (model.JogviszonySzuneteltetesKezdete.Value < tanevData.KezdoNap)
ModelState.AddModelError("JogviszonySzuneteltetes2", ErrorResource.JogviszonySzuneteltetesKezdeteTanevben);
if (model.JogviszonySzuneteltetesVege.Value > tanevData.UtolsoNap)
ModelState.AddModelError("JogviszonySzuneteltetes3", ErrorResource.JogviszonySzuneteltetesVegeTanevben);
if (ModelState.IsValid)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.SaveJogviszonySzuneteltetes(model.TanuloId.Value, model.OsztalyId, model.JogviszonySzuneteltetesKezdete.Value, model.JogviszonySzuneteltetesVege.Value, ClaimData.KovTanevID);
return Request.CreateResponse(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
catch (Exception e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.IsLEPKezelo.ClaimValue)]
public IHttpActionResult DeleteSelectedTanulo(List<int> idList)
{
return Json(new { Message = TanuloLogic.DeleteSelectedTanulo(idList) });
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveTanulo(TanuloModel model)
{
var regiTanuloiAdatok = model.TanuloId.IsEntityId()
&& (model.TanuloJuttatasModel != null || (model.TanuloTanugyModel != null && model.TanuloTanugyModel.TanuloSzervezetId.IsEntityId())) ? new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
.GetTanuloiAdatok(model.TanuloId.Value, ClaimData.KovTanevID, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater) : null;
if (model.TanuloJuttatasModel != null && regiTanuloiAdatok != null)
{
model.TanuloJuttatasModel.SzamitottAtlag = regiTanuloiAdatok.SzamitottAtlag;
}
var felhasznaloiNevGeneralasModja = TanuloLogic.GetFelhasznaloiNevGeneralasModja(model);
try
{
TanuloLogic.TanuloCustomValidation(ModelState, model, felhasznaloiNevGeneralasModja, OktNevelesiKategoriaEnum.NevelesOktatas, regiTanuloiAdatok);
if (model.TanuloUjJogviszonyModel != null)
{
TanuloLogic.JogviszonyCustomValidation(ModelState, model.TanuloUjJogviszonyModel, model.TanuloAlapAdatModel.SzuletesiIdo, regiTanuloiAdatok);
}
if (ModelState.IsValid)
{
var response = TanuloLogic.TanuloMentese(model, felhasznaloiNevGeneralasModja);
return Request.CreateResponse(HttpStatusCode.OK, response);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
catch (Check4TValidacioExistsException)
{
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznaloiAdatokkalMarLetezikFelhasznalo);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.IsLEPKezelo.ClaimValue)]
public HttpResponseMessage SaveTanuloLEP(TanuloLEPModel model)
{
try
{
if (ModelState.IsValid)
{
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveOrUpdateTanuloLEP(model.TanuloId, model.Nev);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
catch (Check4TValidacioExistsException)
{
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznaloiAdatokkalMarLetezikFelhasznalo);
}
}
public HttpResponseMessage SaveData(TanuloTobbesModModel model)
{
TanuloLogic.TanuloTobbesModCustomValidation(ModelState, model);
if (ModelState.IsValid)
{
return TanuloLogic.SaveData(ClaimData.SelectedTanevID.Value, model);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
public HttpResponseMessage PreValidation(TanuloTobbesModModel model)
{
TanuloLogic.TanuloTobbesModCustomValidation(ModelState, model);
if (ModelState.IsValid)
{
string warningMessage = TanuloLogic.ValidateOnSaveData(model);
if (!string.IsNullOrWhiteSpace(warningMessage))
{
return Request.CreateResponse(HttpStatusCode.BadRequest, warningMessage);
}
return TanuloLogic.SaveData(ClaimData.SelectedTanevID.Value, model);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
#endregion Tanuló mentés/módosítás/törlés
#region Generálás
public HttpResponseMessage JelszoGeneralas(int userId, bool isGondviselo)
{
var result = TanuloLogic.JelszoGeneralas(userId, isGondviselo);
return Request.CreateResponse(HttpStatusCode.OK, result);
}
public System.Web.Mvc.JsonResult FelhasznalonevGeneralas([FromBody] FelhasznalonevGeneralasModel felhasznalonevGeneralasModel)
{
try
{
var result = new System.Web.Mvc.JsonResult { Data = TanuloLogic.FelhasznalonevGeneralas(felhasznalonevGeneralasModel) };
return result;
}
catch (UniqueKeyViolationException)
{
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznalonevMarLetezik);
}
catch (UserNameExistsException)
{
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznalonevMarLetezik);
}
}
#endregion
#region Tanuló elérhetőség mentés/módosítás/törlés
public CimElerhetosegModel GetTanuloElerhetosegTel(int id)
{
var co = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloElerhetosegTelById(id);
return CimElerhetosegModel.ConvertCoToModel(co);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveElerhetosegTel(CimElerhetosegModel model)
{
Kreta.Web.Classes.Utils.TelefonSzamValidation(ModelState, model.Telefon, model.TelefonTipus, TelefonszamTulajdonosEnum.Tanulo);
if (ModelState.IsValid)
{
try
{
var co = CimElerhetosegModel.ConvertModelToTanuloElerhetosegTelCO(model);
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloElerhetosegTelMentese(co, ClaimData.KovTanevID);
TanuloLogic.TanuloAdatlapCacheTorles(model.FelhasznaloId, ClaimData.IntezmenyAzonosito);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (BlException ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
}
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteElerhetosegTel([FromBody] int id)
{
try
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.TanuloElerhetosegTelTorlese(id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Telefonszam, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
public CimElerhetosegModel GetTanuloElerhetosegEmail(int id)
{
var co = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloElerhetosegEmailById(id);
return CimElerhetosegModel.ConvertCoToModel(co);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveElerhetosegEmail(CimElerhetosegModel model)
{
if (ModelState.IsValid)
{
try
{
var co = CimElerhetosegModel.ConvertModelToTanuloElerhetosegEmailCO(model);
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloElerhetosegEmailMentese(co, ClaimData.KovTanevID);
TanuloLogic.TanuloAdatlapCacheTorles(model.FelhasznaloId, ClaimData.IntezmenyAzonosito);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (BlException ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
}
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteElerhetosegEmail([FromBody] int id)
{
try
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.TanuloElerhetosegEmailTorlese(id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.EmailCim, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
public CimElerhetosegModel GetTanuloElerhetosegCim(int id)
{
var co = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloGondviseloCimById(id);
return CimElerhetosegModel.ConvertCoToModel(co);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveElerhetosegCim(CimElerhetosegModel model)
{
if (ModelState.IsValid)
{
try
{
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
TanuloLogic.TanuloAdatlapCacheTorles(model.FelhasznaloId, ClaimData.IntezmenyAzonosito);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteElerhetosegCim([FromBody] int id)
{
try
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.TanuloGondviseloCimTorlese(id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Cim, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
#endregion Tanuló elérhetőség mentés/módosítás/törlés
#region Közösségi szolgálat mentés/módosítás/törlés
public TanuloKozszolgModel GetTanuloKozSzolg(int id)
{
var co = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetKozossegiSzolgalatbyId(id);
return TanuloKozszolgModel.ConvertCoToModel(co);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveKozszolg(TanuloKozszolgModel model)
{
if (ModelState.IsValid)
{
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).KozossegiSzolgalatMentese(TanuloKozszolgModel.ConvertModelToCo(model));
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteKozszolg([FromBody] int id)
{
try
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.KozossegiSzolgalatTorlese(id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.KozossegiSzolgalat, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
#endregion Közösségi szolgálat mentés/módosítás/törlés
#region Gondviselő mentés/módosítás/törlés
public TanuloModGondviseloModel GetTanuloGondviselo(int id)
{
var co = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloGondviseloById(id);
return TanuloModGondviseloModel.ConvertCoToModel(co);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveGondviselo(TanuloModGondviseloModel model)
{
try
{
TanuloLogic.TanuloGondviseloSaveValidation(ModelState, model);
if (!ModelState.IsValid)
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
var co = TanuloModGondviseloModel.ConvertModelToCo(model);
var belepesList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloGondviseloMentese(co, ClaimData.IsSzirIntezmeny, ClaimData.KovTanevID);
var fileString = TanuloLogic.GondviseloFileGenerate(model.FileLetoltesSzukseges, belepesList);
var response = new { EmailErrors = belepesList.EmailErrors, FileString = fileString };
return Request.CreateResponse(HttpStatusCode.OK, response);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message) { UnHandledException = ex.InnerException };
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteGondviselo([FromBody] int id)
{
try
{
return TanuloLogic.DeleteTanulogondviselo(id);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Gondviselo, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
#endregion Gondviselő mentés/módosítás/törlés
#region Gondviselő elérhetőség mentés/módosítás/törlés
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public CimElerhetosegModel GetGondviseloElerhetosegCim(int id)
{
var co = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloGondviseloCimById(id);
return CimElerhetosegModel.ConvertCoToModel(co);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveGondviseloCim(CimElerhetosegModel model)
{
try
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var customModelState = TanuloLogic.CheckGondviseloCimCustomValidation(ModelState, model);
if (model.TanulovalEgyezik)
{
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
helper.TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
return new HttpResponseMessage(HttpStatusCode.OK);
}
if (customModelState.IsValid)
{
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
helper.TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteGondviseloCim([FromBody] int id)
{
try
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.TanuloGondviseloCimTorlese(id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Cim, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
#endregion Gondviselő elérhetőség mentés/módosítás/törlés
#region Felmentés mentés/módosítás/törlés
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveFelmentes(TanuloFelmentesModel model)
{
TanuloLogic.TanuloFelmentesCustomValidation(ModelState, model);
if (ModelState.IsValid)
{
try
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var co = TanuloFelmentesModel.ConvertModelToCo(model);
if (co.IsKorabbiMulasztasokEllenorzese && co.Kezdete.Value < DateTime.Now && co.OraMentesites)
{
var mulasztasDataSet = helper.CheckModosuloKorabbiMulasztasok(co);
if (mulasztasDataSet.Tables[0].Rows.Count != 0)
{
return Request.CreateResponse(HttpStatusCode.OK, mulasztasDataSet.ToDataSourceResult(), Configuration.Formatters.JsonFormatter);
}
}
if (model.ID == 0)
{
foreach (var item in model.TantargyIdList)
{
co.TantargyId = int.Parse(item);
helper.TanuloFelmentesMentese(co, ClaimData.KovTanevID);
}
}
else
{
helper.TanuloFelmentesMentese(co, ClaimData.KovTanevID);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (BlException e)
{
var error = new StatusError(HttpStatusCode.BadRequest, e.Message);
throw error;
}
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public TanuloFelmentesModel GetFelmentes(int id)
{
var co = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloFelmentesById(id);
return TanuloFelmentesModel.ConvertCoToModel(co);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteFelmentes([FromBody] int id)
{
try
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.TanuloFelmentesTorles(id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Felmentes, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
#endregion Felmentés mentés/módosítás/törlés
#region GridHelpers
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
public DataSourceResult GetOsztalyCsoportGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetOsztalyCsoportGrid(data, request, false);
}
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetTanultTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
var tanuloId = SDAConvert.ToNullableInt32(id);
var result = tanuloId.IsEntityId()
? helper.GetTanultTantargyak(tanuloId.Value, (int)OktNevelesiKategoriaEnum.NevelesOktatas).ToDataSourceResult()
: new DataSourceResult();
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetTanarokTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetTanarokTantargyak(int.Parse(id));
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetGondviselokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetGondviselok(int.Parse(id), true);
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetGondviselokCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetGondviseloCimek(int.Parse(id));
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetGondviselokCimDetailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetGondviseloCimekByGondviselo(int.Parse(id));
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetOrarendiOrakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetOrarendiOrak(int.Parse(id));
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetErtekelesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetErtekelesek(int.Parse(id), (int)OktNevelesiKategoriaEnum.NevelesOktatas);
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetMulasztasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetMulasztasok(int.Parse(id), (int)OktNevelesiKategoriaEnum.NevelesOktatas);
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetIgazolasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
var tanuloId = SDAConvert.ToNullableInt32(id);
var result = tanuloId.IsEntityId()
? helper.GetIgazolasok(tanuloId.Value, null).ToDataSourceResult()
: new DataSourceResult();
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetFeljegyzesekHaviGrid(string id, string osztalycsoportId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
var tanuloId = SDAConvert.ToNullableInt32(id);
var osztalyId = SDAConvert.ToNullableInt32(osztalycsoportId);
var result = tanuloId.IsEntityId() && osztalyId.IsEntityId()
? helper.GetFeljegyzesekHavi(tanuloId.Value, osztalyId.Value).ToDataSourceResult()
: new DataSourceResult();
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetElozmenyekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetElozmenyek(int.Parse(id), null);
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetElerhetosegCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetCim(int.Parse(id));
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetElerhetosegTelGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetTelefonSzam(int.Parse(id));
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetFelmentesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetFelmentesekGrid(id, request, false);
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetElerhetosegEmailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetEmails(int.Parse(id));
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetKozossegiSzolgalatGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetKozossegiSzolgalat(int.Parse(id));
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetGondviseloUtolsoBelepesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetGondviseloUtolsoBelepes(int.Parse(id));
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetJogviszonySzuneteltetesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
var tanuloId = SDAConvert.ToNullableInt32(id);
var result = tanuloId.IsEntityId()
? helper.GetJogviszonySzuneteltetes(tanuloId.Value, null).ToDataSourceResult()
: new DataSourceResult();
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetJogviszonyGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var co = helper.GetJogviszony(int.Parse(id));
return co.ToDataSourceResult(Converter.GridParameter(request));
}
#endregion GridHelpers
#region Export
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public JsonResult<List<ExportColumn>> GetExportColumnsTanulokLakcimmel()
{
return Json(TanuloLogic.GetColumnsTanulokLakcimmel());
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public JsonResult<List<ExportColumn>> GetExportColumns()
{
return Json(TanuloLogic.GetColumnsforExport());
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.IsLEPKezelo.ClaimValue)]
public JsonResult<List<ExportColumn>> GetExportColumnsLEP()
{
var items = new List<ExportColumn>
{
new ExportColumn() { Field = "TanuloNeve", Title = TanuloResource.Nev },
new ExportColumn() { Field = "Osztaly", Title = TanuloResource.Osztaly }
};
return Json(items);
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetTanuloExportGrid(string searchFilter, string sortColumn, string sortDir)
{
return TanuloLogic.GetDataSetTanuloExport(searchFilter, sortColumn, sortDir).ToDataSourceResult();
}
#endregion Export
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public DataSourceResult GetDiakOlimpiaGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
try
{
var client = new KozpontiClient(base.kozpontiKretaConfiguration.KtrUrl, base.kozpontiKretaConfiguration.ApiKey);
var kozpontiResult = client.GetDiakOlimpiaList(new MdszRequestModel()
{
KretaIntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
TanuloIds = new int[] { int.Parse(data) }
});
if (kozpontiResult?.Count > 0)
{
var lresult = new List<TanuloDiakOlimpiaGridModel>();
foreach (var item in kozpontiResult)
{
lresult.Add(new TanuloDiakOlimpiaGridModel()
{
ID = item.ID,
VersenyNev = item.VersenyNev,
VersenyReszNev = item.VersenyReszNev,
Jelleg = item.Jelleg,
Korcsoport = item.Korcsoport,
Helyszin = item.Helyszin,
Kezdete = item.Kezdete,
Vege = item.Vege,
Fordulo = item.Fordulo,
Resztvett = item.Resztvett ? CommonResource.Igen : CommonResource.Nem,
Tovabbjutott = item.Tovabbjutott ? CommonResource.Igen : CommonResource.Nem,
Eredmeny = item.Eredmeny,
Helyezes = item.Helyezes
});
}
var cnt = lresult.Count;
var result = lresult.ToDataSourceResult();
result.Total = cnt;
result.Data = GetPage(lresult, request.Page, request.PageSize, cnt);
return result;
}
return new DataSourceResult();
}
catch
{
return new DataSourceResult();
}
}
List<TanuloDiakOlimpiaGridModel> GetPage(List<TanuloDiakOlimpiaGridModel> list, int page, int pageSize, int fullCnt)
{
if (page == 1 && fullCnt <= pageSize)
return list.Take(pageSize).ToList();
if (page > 1)
page--;
return list.Skip(page * pageSize).Take(pageSize).ToList();
}
[HttpGet]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public JsonResult<bool> HasGondviseloAlapertelmezettCim(int gondviseloId)
{
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var letezikGondviseloAlapertelmezettCim = tanuloHelper.HasGondviseloAlapertelmezettCim(gondviseloId);
return Json(letezikGondviseloAlapertelmezettCim);
}
[HttpPost]
public HttpResponseMessage SaveNewCloseJogviszony(JogviszonyModel model)
{
var regiTanuloiAdatok = model.TanuloId.IsEntityId() ? new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
.GetTanuloiAdatok(model.TanuloId, ClaimData.KovTanevID, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater) : null;
TanuloLogic.JogviszonyCustomValidation(ModelState, model, regiTanuloiAdatokCo: regiTanuloiAdatok);
if (ModelState.IsValid)
{
try
{
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveTanuloJogviszony(model.ConvertToCo(), ClaimData.KovTanevID);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (BlException e)
{
var error = new StatusError(HttpStatusCode.BadRequest, e.Message);
throw error;
}
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
public HttpResponseMessage CloseTevesJogviszony(JogviszonyModel model)
{
model.JogviszonyKezdete = model.JogviszonyKezdete.Value.ToLocalTime();
model.JogviszonyVege = model.JogviszonyKezdete;
model.JogviszonyMegszunesenekJogcimeId = (int)JogvMegszuneseJogcimTipusEnum.teves_besorolas;
model.IsNew = false;
try
{
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveTanuloJogviszony(model.ConvertToCo(), ClaimData.KovTanevID);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (BlException e)
{
var error = new StatusError(HttpStatusCode.BadRequest, e.Message);
throw error;
}
}
public DataSourceResult GetSzakkepzesiMunkaszerzodesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var tanuloId = SDAConvert.ToNullableInt32(id);
var coList = tanuloId.IsEntityId() ? new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSzakkepzesiMunkaszerzodesItemCoList(tanuloId.Value) : new List<SzakkepzesiMunkaszerzodesItemCo>();
var modelList = coList.Select(x => new SzakkepzesiMunkaszerzodesGridModel(x)).ToList();
return modelList.ToDataSourceResult(Converter.GridParameter(request));
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public JsonResult<(string szervezetNev, string szervezetAzonosito)> GetSzervezetNevAzonositoById([FromBody] int szervezetId)
{
var szervezetCo = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDualisKepzohelyById(szervezetId);
return Json((szervezetNev: szervezetCo.KepzohelyNeve, szervezetAzonosito: szervezetCo.KepzohelyAdoszama));
}
}
}