using System.Collections.Generic; using System.Web.Http; using System.Web.Http.ModelBinding; using Kendo.Mvc.UI; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.Classes.ComboBox; using Kreta.BusinessLogic.HelperClasses.Dokumentum; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Security; using Kreta.BusinessLogic.Utils; using Kreta.Core; using Kreta.Core.Iktato.Poszeidon.Factory.Interface; using Kreta.Enums; using Kreta.Framework.Util; using Kreta.Web.Areas.Nyomtatvanyok.Models; using Kreta.Web.Helpers; using Kreta.Web.Helpers.Grid; using Kreta.Web.Security; using Newtonsoft.Json; namespace Kreta.Web.Areas.Nyomtatvanyok.ApiControllers { [ApiRoleClaimsAuthorize(true)] [ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)] public class IktatottDokumentumokApiController : ApiController { private IIktatoRepositoryFactory IktatoRepositoryFactory { get; } private IktatoServiceConfiguration IktatoServiceConfiguration { get; } public IktatottDokumentumokApiController(IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration) { IktatoRepositoryFactory = iktatoRepositoryFactory; IktatoServiceConfiguration = iktatoServiceConfiguration; } public DataSourceResult GetIktatottDokumentumokGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { IktatottDokumentumokSearchModel model = JsonConvert.DeserializeObject(data); var phelper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), IktatoRepositoryFactory, IktatoServiceConfiguration); int? fID, gID; phelper.GridParameters = Converter.GridParameter(request); if (ClaimData.GondviseloId.HasValue) { gID = ClaimData.GondviseloId; fID = null; } else { gID = null; fID = ClaimData.FelhasznaloId; } var dokumentumok = phelper.GetFelhasznaloIktatottDokumentumai(new IktatottDokumentumSearchCo { TanevId = ClaimData.SelectedTanevID.Value, IntezmenyId = ClaimData.IntezmenyId, DokumentumKategoria = model.Kategoria, DokumentumTipus = model.DokumentumTipus, FeladatEllatasihely = model.FeladatellatasihelyId, AlkalmazottId = fID, OsztalyId = model.OsztalyId, EvfolyamId = model.EvfolyamId, KepzesTipusId = model.KepzesTipusId, OsztalyFonokId = model.OsztalyfonokId, TantervId = model.TantervId, OsztalyjellemzoId = model.Osztalyjellemzo, SzakcsoportId = model.Szakcsoport, AgazatId = model.Agazat, SzakkepesitesId = model.Szakkepesites, ReszszakkepesitesId = model.Reszszakkepesites, CsoportId = model.CsoportId, CsoporttipusId = model.CsoporttipusId, CsoportjellemzoId = model.Csoportjellemzo, TanuloNeve = model.TanuloNeve, AlkalmazottIdS = model.AlkalmazottId, TanuloOktAzon = model.TanuloOktAzon, AlkalmazottOktAzon = model.AlkalmazottOktAzon, GondviseloNeve = model.GondviseloNeve, DokumentumNeve = model.DokumentumNeve, Iktatoszam = model.Iktatoszam, IktatasDatumaTol = model.IktatasDatumaTol, IktatasDatumaIg = model.IktatasDatumaIg, IktatoSzemely = model.IktatoSzemelye, DokumentumStatusz = model.DokumentumStatusz, }); return dokumentumok.ToDataSourceResult(); } public DataSourceResult GetIktatottDokumentumokDetailGrid(int foszamosDokumentumId, string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { IktatottDokumentumokSearchModel model = JsonConvert.DeserializeObject(data); var phelper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), IktatoRepositoryFactory, IktatoServiceConfiguration); int? fID, gID; phelper.GridParameters = Converter.GridParameter(request); if (ClaimData.GondviseloId.HasValue) { gID = ClaimData.GondviseloId; fID = null; } else { gID = null; fID = ClaimData.FelhasznaloId; } var dokumentumok = phelper.GetFelhasznaloIktatottDokumentumai(new IktatottDokumentumSearchCo { TanevId = ClaimData.SelectedTanevID.Value, IntezmenyId = ClaimData.IntezmenyId, DokumentumKategoria = model.Kategoria, DokumentumTipus = model.DokumentumTipus, FeladatEllatasihely = model.FeladatellatasihelyId, AlkalmazottId = fID, OsztalyId = model.OsztalyId, EvfolyamId = model.EvfolyamId, KepzesTipusId = model.KepzesTipusId, OsztalyFonokId = model.OsztalyfonokId, TantervId = model.TantervId, OsztalyjellemzoId = model.Osztalyjellemzo, SzakcsoportId = model.Szakcsoport, AgazatId = model.Agazat, SzakkepesitesId = model.Szakkepesites, ReszszakkepesitesId = model.Reszszakkepesites, CsoportId = model.CsoportId, CsoporttipusId = model.CsoporttipusId, CsoportjellemzoId = model.Csoportjellemzo, TanuloNeve = model.TanuloNeve, AlkalmazottIdS = model.AlkalmazottId, TanuloOktAzon = model.TanuloOktAzon, AlkalmazottOktAzon = model.AlkalmazottOktAzon, GondviseloNeve = model.GondviseloNeve, DokumentumNeve = model.DokumentumNeve, Iktatoszam = model.Iktatoszam, IktatasDatumaTol = model.IktatasDatumaTol, IktatasDatumaIg = model.IktatasDatumaIg, IktatoSzemely = model.IktatoSzemelye, DokumentumStatusz = model.DokumentumStatusz, FoszamosDokumentumId = foszamosDokumentumId, }); return dokumentumok.ToDataSourceResult(); } public System.Web.Http.Results.JsonResult> GetDokumentumKategoriaList([DataSourceRequest] DataSourceRequest request) { IDictionary dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.DokumentumKategoria, ClaimData.SelectedTanevID.Value, false); return Json(dictionary.ToComboBoxItemList()); } public System.Web.Http.Results.JsonResult> GetDokumentumTipusList([DataSourceRequest] DataSourceRequest request) { IDictionary dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.DokumentumTipus, ClaimData.SelectedTanevID.Value, false); return Json(dictionary.ToComboBoxItemList()); } public System.Web.Http.Results.JsonResult> GetDokumentumSzakcsoportList([DataSourceRequest] DataSourceRequest request) { IDictionary dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.SzakmacsoportTipus, ClaimData.SelectedTanevID.Value, false); return Json(dictionary.ToComboBoxItemList()); } public System.Web.Http.Results.JsonResult> GetDokumentumAgazatList([DataSourceRequest] DataSourceRequest request) { IDictionary dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.AgazatTipus, ClaimData.SelectedTanevID.Value, false); return Json(dictionary.ToComboBoxItemList()); } public System.Web.Http.Results.JsonResult> GetDokumentumSzakkepesitesList([DataSourceRequest] DataSourceRequest request) { IDictionary dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.SzakkepesitesTipus, ClaimData.SelectedTanevID.Value, false); return Json(dictionary.ToComboBoxItemList()); } public System.Web.Http.Results.JsonResult> GetDokumentumReszszakkepesitesList([DataSourceRequest] DataSourceRequest request) { IDictionary dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ReszszakkepesitesTipus, ClaimData.SelectedTanevID.Value, false); return Json(dictionary.ToComboBoxItemList()); } public System.Web.Http.Results.JsonResult> GetOsztalyJellemezoList([DataSourceRequest] DataSourceRequest request) { IDictionary dictionary = EnumExtensions.EnumToDictionary(ClaimData.SelectedTanevID.Value, false); return Json(dictionary.ToComboBoxItemList()); } public System.Web.Http.Results.JsonResult> GetCsoportJellemezoList([DataSourceRequest] DataSourceRequest request) { IDictionary dictionary = EnumExtensions.EnumToDictionary(ClaimData.SelectedTanevID.Value, false); return Json(dictionary.ToComboBoxItemList()); } public System.Web.Http.Results.JsonResult> GetDokumentumStatuszList([DataSourceRequest] DataSourceRequest request) { IDictionary dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.DokumentumStatusz, ClaimData.SelectedTanevID.Value, false); return Json(dictionary.ToComboBoxItemList()); } } }