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(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); } } }