93 lines
3.9 KiB
C#
93 lines
3.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web.Http;
|
|
using Kendo.Mvc.UI;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Security;
|
|
using Kreta.Core;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Helpers.Error;
|
|
using Kreta.Web.Helpers.Grid;
|
|
using Kreta.Web.Security;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
|
{
|
|
[ApiRoleClaimsAuthorize(true)]
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.TanarAdhatMagatartasSzorgalomJegyet.ClaimValue)]
|
|
public class MagatartasSzorgalomApiController : BaseTanuloErtekelesApiController
|
|
{
|
|
public DataSourceResult GetMagatartasSzorgalomGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
|
{
|
|
var model = JsonConvert.DeserializeObject<MagatartasSzorgalomListModel>(data);
|
|
|
|
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
|
|
if (!osztalyCsoportId.IsEntityId())
|
|
{
|
|
return new DataSourceResult();
|
|
}
|
|
|
|
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
|
{
|
|
GridParameters = Converter.GridParameter(request)
|
|
};
|
|
DataSet dataSet = helper.GetTanuloErtekelesDataSetByMagatartasSzorgalomForGrid(ClaimData.FelhasznaloId, osztalyCsoportId.Value, model.Datum);
|
|
|
|
return dataSet.ToDataSourceResult();
|
|
}
|
|
|
|
public DataSourceResult GetMagatartasSzorgalomDetailGrid(int tanuloId, DateTime? datum, int feladatKategoriaId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
|
{
|
|
var gridParameters = Converter.GridParameter(request);
|
|
|
|
DataSet dataSet = GetDetailGridDataBase(tanuloId, null, true, datum, (int)ErtekelesMegjelenesFajtaEnum.MagatartasSzorgalom, feladatKategoriaId: feladatKategoriaId, gridParameters: gridParameters);
|
|
|
|
return dataSet.ToDataSourceResult();
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage Save(MagatartasSzorgalomListSaveModel model)
|
|
{
|
|
List<TanuloErtekelesCo> tanuloErtekelesCoList = model.ToCoList();
|
|
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList);
|
|
|
|
return result;
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage Edit(MagatartasSzorgalomEditModel model)
|
|
{
|
|
int id = model.IdEdit;
|
|
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
|
if (!authorization.IsValidMagatartasSzorgalom(id))
|
|
{
|
|
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
|
}
|
|
|
|
var tanuloErtekelesCoList = new List<TanuloErtekelesCo> { model.ToCo() };
|
|
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList);
|
|
|
|
return result;
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage Delete([FromBody] int id)
|
|
{
|
|
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
|
bool isValid = authorization.IsValidMagatartasSzorgalom(id);
|
|
HttpResponseMessage result = DeleteTanuloErtekeles(id, isValid);
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|