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

39 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Web.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Tanulo.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Tanulo.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue)]
public class OsztalyTanuloiGondviselokApiController : ApiController
{
public DataSourceResult GetOsztalyTanuloiGondviselokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<OsztalyTanuloiGondviselokSearchModel>(data);
var gridParameter = Converter.GridParameter(request);
var coList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyTanuloiGondviselokCoList(model.ConvertToCo(), ClaimData.IsSzuperOsztalyfonok, ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Evfolyamfelelos.ClaimValue));
var modelList = new List<OsztalyokTanuloiGondviselokGridModel>();
foreach (var co in coList)
{
var gridModel = new OsztalyokTanuloiGondviselokGridModel(co);
modelList.Add(gridModel);
}
return modelList.ToDataSourceResult(gridParameter);
}
}
}