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

201 lines
10 KiB
C#

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<IktatottDokumentumokSearchModel>(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<IktatottDokumentumokSearchModel>(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<List<ComboBoxListItem>> GetDokumentumKategoriaList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.DokumentumKategoria, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumTipusList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.DokumentumTipus, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumSzakcsoportList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.SzakmacsoportTipus, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumAgazatList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.AgazatTipus, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumSzakkepesitesList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.SzakkepesitesTipus, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumReszszakkepesitesList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ReszszakkepesitesTipus, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetOsztalyJellemezoList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = EnumExtensions.EnumToDictionary<Enums.ManualEnums.OsztalyJellemzoEnum>(ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetCsoportJellemezoList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = EnumExtensions.EnumToDictionary<Enums.ManualEnums.CsoportJellemzoEnum>(ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumStatuszList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.DokumentumStatusz, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
}
}