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

38 lines
1.7 KiB
C#

using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminTanuloKozossegiSzolgalataiApiController : ApiController
{
public DataSourceResult GetTanuloKozossegiSzolgalataiGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
int felhasznalo = ClaimData.IsAdministrator ? -1 : ClaimData.FelhasznaloId;
bool toroltElemek = !ClaimManager.HasPackage(KretaClaimPackages.Ellenorzo.ClaimValue);
bool hasTeljesTorlesJog = toroltElemek && ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue);
var model = JsonConvert.DeserializeObject<AdminKozossegiSzolgalatokSearchModel>(data);
var co = model.ConvertModelToCo();
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetKozossegiSzolgalatokReszletekForGrid(-1, co, felhasznalo, toroltElemek, hasTeljesTorlesJog);
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
}
}