using System; using System.Collections.Generic; 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.Helpers; using Kreta.BusinessLogic.Logic; using Kreta.BusinessLogic.Security; using Kreta.Core; using Kreta.Core.Exceptions; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Framework.Entities; using Kreta.Framework.Util; 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 Newtonsoft.Json; using SDA.DataProvider; namespace Kreta.Web.Areas.Tanulo.ApiControllers { [ApiRoleClaimsAuthorize(true)] [ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.EGYMIModul.ClaimValue)] public class EGYMITanuloApiController : ApiController { [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue)] public DataSourceResult GetTanuloGrid(string data, DataSourceRequest request) { var (gridParameter, modelList) = GetGridData(data, request); return modelList.ToDataSourceResult(gridParameter); } public HttpResponseMessage GetExport(string data, DataSourceRequest request) { try { var (gridParameter, modelList) = GetGridData(data, request); modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary); var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos(TanuloGridModel.TanuloExportAttributeId); var memoryStream = SimpleExportLogic.GetExport(TanuloResource.TanuloExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value); return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{TanuloResource.TanuloExportFileName}.xlsx"); } catch (Exception ex) { throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex }; } } private (GridParameters gridParameter, List modelList) GetGridData(string data, DataSourceRequest request) { data = data.Replace("_", string.Empty); var model = JsonConvert.DeserializeObject(data); var co = model.ConvertModelToCo(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsActivTanev); co.LekerdezesNapja = DateTime.Today; var gridParameter = Converter.GridParameter(request); var coList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloItemCoList(co); var modelList = new List(); foreach (var item in coList) { var gridModel = new TanuloGridModel(item); modelList.Add(gridModel); } return (gridParameter, modelList); } #region Tanuló mentés/módosítás/törlés [HttpPost] [ApiValidateAjaxAntiForgeryToken] [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.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); var 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.EGYMIModul.ClaimValue)] public IHttpActionResult DeleteSelectedTanulo(List idList) { return Json(new { Message = TanuloLogic.DeleteSelectedTanulo(idList) }); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage SaveTanulo(TanuloModel model) { try { var felhasznaloiNevGeneralasModja = TanuloLogic.GetFelhasznaloiNevGeneralasModja(model); TanuloLogic.TanuloCustomValidation(ModelState, model, felhasznaloiNevGeneralasModja, OktNevelesiKategoriaEnum.EGYMI); 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); } } 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.GetActiveSessionConnectionType()).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); 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.GetActiveSessionConnectionType()).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); 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.GetActiveSessionConnectionType()).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); 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.GetActiveSessionConnectionType()).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.GetActiveSessionConnectionType()).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.GetActiveSessionConnectionType()).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.GetActiveSessionConnectionType()).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 public DataSourceResult GetOsztalyCsoportGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var model = JsonConvert.DeserializeObject(data); var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetOsztalyCsoport(model.TanuloId, (int)OktNevelesiKategoriaEnum.EGYMI, !model.MegNemAktivOsztalyok); return ds.ToDataSourceResult(); } public DataSourceResult GetTanultTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) }; var tanuloId = SDAConvert.ToNullableInt32(id); DataSourceResult result = tanuloId.IsEntityId() ? helper.GetTanultTantargyak(tanuloId.Value, (int)OktNevelesiKategoriaEnum.EGYMI).ToDataSourceResult() : new DataSourceResult(); return result; } public DataSourceResult GetTanarokTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetTanarokTantargyak(int.Parse(id)); return ds.ToDataSourceResult(); } [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)] public DataSourceResult GetGondviselokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetGondviselok(int.Parse(id), true); return ds.ToDataSourceResult(); } [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)] public DataSourceResult GetGondviselokCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetGondviseloCimek(int.Parse(id)); return ds.ToDataSourceResult(); } [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)] public DataSourceResult GetGondviselokCimDetailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetGondviseloCimekByGondviselo(int.Parse(id)); return ds.ToDataSourceResult(); } public DataSourceResult GetOrarendiOrakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetOrarendiOrak(int.Parse(id)); return ds.ToDataSourceResult(); } public DataSourceResult GetErtekelesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetErtekelesek(int.Parse(id), (int)OktNevelesiKategoriaEnum.EGYMI); return ds.ToDataSourceResult(); } public DataSourceResult GetMulasztasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetMulasztasok(int.Parse(id), (int)OktNevelesiKategoriaEnum.EGYMI); return ds.ToDataSourceResult(); } public DataSourceResult GetIgazolasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) }; var tanuloId = SDAConvert.ToNullableInt32(id); DataSourceResult result = tanuloId.IsEntityId() ? helper.GetIgazolasok(tanuloId.Value, null).ToDataSourceResult() : new DataSourceResult(); return result; } public DataSourceResult GetFeljegyzesekHaviGrid(string id, string osztalycsoportId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) }; var tanuloId = SDAConvert.ToNullableInt32(id); var osztalyId = SDAConvert.ToNullableInt32(osztalycsoportId); DataSourceResult result = tanuloId.IsEntityId() && osztalyId.IsEntityId() ? helper.GetFeljegyzesekHavi(tanuloId.Value, osztalyId.Value).ToDataSourceResult() : new DataSourceResult(); return result; } public DataSourceResult GetElozmenyekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetElozmenyek(int.Parse(id), null); return ds.ToDataSourceResult(); } [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)] public DataSourceResult GetElerhetosegCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetCim(int.Parse(id)); return ds.ToDataSourceResult(); } [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)] public DataSourceResult GetElerhetosegTelGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetTelefonSzam(int.Parse(id)); return ds.ToDataSourceResult(); } public DataSourceResult GetFelmentesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) }; var tanuloId = SDAConvert.ToNullableInt32(id); DataSourceResult result = tanuloId.IsEntityId() ? helper.GetTanulokFelmentesei(new List() { tanuloId.Value }).ToDataSourceResult() : new DataSourceResult(); return result; } [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)] public DataSourceResult GetElerhetosegEmailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetEmails(int.Parse(id)); return ds.ToDataSourceResult(); } public DataSourceResult GetKozossegiSzolgalatGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.GridParameters = Converter.GridParameter(request); var ds = helper.GetKozossegiSzolgalat(int.Parse(id)); return ds.ToDataSourceResult(); } public DataSourceResult GetGondviseloUtolsoBelepesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); helper.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)] public DataSourceResult GetJogviszonySzuneteltetesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) }; var tanuloId = SDAConvert.ToNullableInt32(id); DataSourceResult result = tanuloId.IsEntityId() ? helper.GetJogviszonySzuneteltetes(tanuloId.Value, (int)OktNevelesiKategoriaEnum.EGYMI).ToDataSourceResult() : new DataSourceResult(); return result; } [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.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.EGYMIModul.ClaimValue)] public JsonResult> GetExportColumnsTanulokLakcimmel() { return Json(TanuloLogic.GetColumnsTanulokLakcimmel()); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue)] public JsonResult> GetExportColumns() { return Json(TanuloLogic.GetColumnsforExport()); } [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue)] public DataSourceResult GetTanuloExportGrid(string searchFilter, string sortColumn, string sortDir) { return TanuloLogic.GetDataSetTanuloExport(searchFilter, sortColumn, sortDir).ToDataSourceResult(); } #endregion Export [HttpGet] public JsonResult HasGondviseloAlapertelmezettCim(int gondviseloId) { var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); var letezikGondviseloAlapertelmezettCim = tanuloHelper.HasGondviseloAlapertelmezettCim(gondviseloId); return Json(letezikGondviseloAlapertelmezettCim); } } }