init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,135 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models;
|
||||
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)]
|
||||
public class ErettsegiEredmenyekApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetErettsegiEredmenyekGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<ErettsegiEredmenyekModel>(data);
|
||||
|
||||
if (model == null || !model.OsztalyId.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztaly(model.OsztalyId.Value))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
var ds = helper.GetErettsegiEredmenyekGrid(model.OsztalyId.Value);
|
||||
|
||||
DataSourceResult result = ds.ToDataSourceResult();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetErettsegiEredmenyekDetailGrid(int tanuloId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztalyfonokTanuloja(tanuloId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
var ds = helper.GetErettsegiEredmenyekDetailGrid(tanuloId);
|
||||
|
||||
DataSourceResult result = ds.ToDataSourceResult();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveErettsegiEredmenyList(List<ErettsegiEredmenySaveModel> erettsegiEredmenySaveModelList)
|
||||
{
|
||||
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var erettsegiTantargyAdatok = helper.GetErettsegiTantargyakForValidate();
|
||||
|
||||
List<ErettsegiEredmenyItemCo> erettsegiEredmenyCoList = new List<ErettsegiEredmenyItemCo>();
|
||||
foreach (var erettsegiEredmenySaveModel in erettsegiEredmenySaveModelList)
|
||||
{
|
||||
var modelStateDictionary = new ModelStateDictionary();
|
||||
foreach (var erettsegiEredmenySaveDetailModel in erettsegiEredmenySaveModel.ErettsegiEredmenySaveDetailModelList)
|
||||
{
|
||||
modelStateDictionary = erettsegiEredmenySaveDetailModel.Validate(modelStateDictionary, erettsegiEredmenySaveModel.FormName, erettsegiTantargyAdatok);
|
||||
erettsegiEredmenyCoList.Add(erettsegiEredmenySaveDetailModel.ConvertModelToCo(ClaimData.IntezmenyId, ClaimData.SelectedTanevID.Value));
|
||||
}
|
||||
ModelState.Merge(modelStateDictionary);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
foreach (ErettsegiEredmenyItemCo erettsegiEredmenyCo in erettsegiEredmenyCoList)
|
||||
{
|
||||
if (!authorization.IsValidOsztalyfonokTanuloja(erettsegiEredmenyCo.TanuloId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
}
|
||||
|
||||
helper.SaveErettsegiEredmenyList(erettsegiEredmenyCoList);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteErettsegiEredmeny([FromBody] int id)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidErettsegiEredmeny(id))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.DeleteErettsegiEredmeny(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue