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

86 lines
4.1 KiB
C#

using System.Data;
using System.Net.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class FeljegyzesekApiController : BaseFeljegyzesekApiController
{
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public DataSourceResult GetInformaciokFeljegyzesekGrid(DataSourceRequest request)
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
var result = helper.GetTanuloFelhasznaloFeljegyzesei(ClaimData.FelhasznaloId);
if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0)
{
foreach (var row in result.Tables[0].AsEnumerable())
{
row[nameof(InformaciokFeljegyzesekGridModel.Tartalom)] = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(row.Field<string>(nameof(InformaciokFeljegyzesekGridModel.Tartalom)));
}
}
return result.ToDataSourceResult();
}
public DataSourceResult GetFeljegyzesKeresoGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request);
return modelList.ToDataSourceResult(gridParameter);
}
public DataSourceResult GetElektronikusUzenetKeresoGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request);
modelList.ForEach(x => x.Tartalom = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(x.Tartalom));
return modelList.ToDataSourceResult(gridParameter);
}
public DataSourceResult GetFaliujsagKeresoGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request, true);
modelList.ForEach(x => x.Tartalom = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(x.Tartalom));
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExportFeljegyzesekGrid(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.FeljegyzesekExportSheetName, FeljegyzesekResource.FeljegyzesekExportFileName, FeljegyzesKeresoGridModel.FeljegyzesekGridExportAttributeId);
}
public HttpResponseMessage GetExportElektronikusUzenetekGrid(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.ElektronikusUzenetekExportSheetName, FeljegyzesekResource.ElektronikusUzenetExportFileName, FeljegyzesKeresoGridModel.ElektronikusUzenetekGridExportAttributeId);
}
public HttpResponseMessage GetExportFeljegyzesek(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.FeljegyzesekExportSheetName, FeljegyzesekResource.FeljegyzesekExportFileName, FeljegyzesKeresoGridModel.FeljegyzesekExportAttributeId);
}
public HttpResponseMessage GetExportElektronikusUzenetek(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.ElektronikusUzenetekExportSheetName, FeljegyzesekResource.ElektronikusUzenetExportFileName, FeljegyzesKeresoGridModel.ElektronikusUzenetekExportAttributeId);
}
public HttpResponseMessage GetExportFaliujsagKereso(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.ExportSheetName, FeljegyzesekResource.ExportFileName, FeljegyzesKeresoGridModel.FaliujsagBejegyzesekExportAttrributeId, true);
}
}
}