This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,129 @@
using System;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.OsztalyCsoport.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.OsztalyCsoport.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class OraSorszamozasHalmazApiController : ApiController
{
public DataSourceResult GetHalmazGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<OraSorszamozasHalmazSearchModel>(data);
var helper = new OraSorszamozasHalmazHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
var ds = helper.GetAllPaged(model.ConvertToCO());
return ds.ToDataSourceResult();
}
public DataSourceResult GetOsszerendelesGrid(int halmazId)
{
var helper = new OraSorszamozasHalmazHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var ds = helper.GetOsszerendelesek(halmazId, true);
return ds.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteHalmaz(int id)
{
new OraSorszamozasHalmazHelper(ConnectionTypeExtensions.GetSessionConnectionType()).Delete(id);
return Request.CreateResponse(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteOsszerendeles(int id)
{
new OraSorszamozasHalmazHelper(ConnectionTypeExtensions.GetSessionConnectionType()).DeleteOsszerendeles(id);
return Request.CreateResponse(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Save(OraSorszamozasHalmazModel model)
{
try
{
CustomValidation(ModelState, model);
if (ModelState.IsValid)
{
new OraSorszamozasHalmazHelper(ConnectionTypeExtensions.GetSessionConnectionType()).Save(model.ConvertModelToCo());
return Request.CreateResponse(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
catch (Exception e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message) { UnHandledException = e };
}
}
private void CustomValidation(ModelStateDictionary modelState, OraSorszamozasHalmazModel model)
{
if (!string.IsNullOrWhiteSpace(model.Nev))
{
var helper = new OraSorszamozasHalmazHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = helper.NevExists(model.Nev, model.ID);
if (result)
{
modelState.AddModelError(nameof(model.Nev), OraSorszamozasHalmazResource.AMegadottNevvelMarLetezikHalmaz);
}
}
if (model.Osszerendelesek == null || model.Osszerendelesek.Count < 1)
{
modelState.AddModelError(nameof(model.Osszerendelesek), OraSorszamozasHalmazResource.LegalabbEgyOsszerendelesRogziteseKotelezo);
}
if (model.Tipus == (int)SorszamozasKezdoErtekenekBeallitasa.SorszamozasKezdoErtekeKezzelMegadva)
{
if (!model.Kezdoertek.HasValue)
{
modelState.AddModelError(nameof(model.Kezdoertek), OraSorszamozasHalmazResource.AKezdoErtekMegadasaKotelezo);
}
else
{
if (model.Kezdoertek.Value < 1)
{
modelState.AddModelError(nameof(model.Kezdoertek), OraSorszamozasHalmazResource.AKezdoErtekNemLehetKisebbMintEgy);
}
else
{
if (model.Kezdoertek.Value > 1000)
{
modelState.AddModelError(nameof(model.Kezdoertek), OraSorszamozasHalmazResource.AKezdoErtekNemLehetNagyobbMintEzer);
}
}
}
}
}
}
}