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 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> 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> GetExportColumns() { return Json(TanuloLogic.GetColumnsforExport()); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] [ApiRolePackageAuthorize(KretaClaimPackages.IsLEPKezelo.ClaimValue)] public JsonResult> GetExportColumnsLEP() { var items = new List { 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(); 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 GetPage(List 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 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(); 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)); } } }