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,171 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Framework.Entities;
using Kreta.Resources;
using Kreta.Web.Areas.OsztalyCsoport.Logic;
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 BesorolasModCsoportbolbolKiirtTanulokApiController : ApiController
{
public DataSourceResult GetBesorolasModCsoportbolKiirtTanulokGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<AktTanevBesorolasSearchModel>(data);
var co = model.ConvertToCo();
var gridParameter = Converter.GridParameter(request);
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var coList = helper.GetKiirtTanulokEsCsoportokGridItemCoList(co);
var modelList = new List<BesorolasModCsoportGridModel>();
foreach (var item in coList)
{
var gridModel = new BesorolasModCsoportGridModel(item);
modelList.Add(gridModel);
}
return modelList.ToDataSourceResult(gridParameter);
}
public BesorolasModCsoportbolKiirtTanulokModel GetTanuloData(int tanuloCsoportId)
{
var model = new BesorolasModCsoportbolKiirtTanulokModel(tanuloCsoportId);
var connectionType = ConnectionTypeExtensions.GetActiveSessionConnectionType();
var tanevHelper = new TanevHelper(connectionType);
var tanevCo = tanevHelper.GetTanevInfo();
model.AlapadatModel.ElsoTanitasiNap = tanevCo.ElsoTanitasiNap;
model.AlapadatModel.UtolsoNap = tanevCo.UtolsoNap;
model.AlapadatModel.UtolsoTanitasiNap = tanevCo.UtolsoTanitasiNap;
var tanuloHelper = new TanuloHelper(connectionType);
var tanuloCsoportCo = tanuloHelper.GetTanuloCsoportById(tanuloCsoportId);
model.AlapadatModel.TanuloCsoportId = tanuloCsoportCo.ID;
model.AlapadatModel.TanuloId = tanuloCsoportCo.TanuloId;
model.AlapadatModel.CsoportId = tanuloCsoportCo.OsztalyCsoportId;
model.AlapadatModel.CsoportNev = tanuloCsoportCo.OsztalyNev;
model.AlapadatModel.TanuloNev = tanuloHelper.GetTanuloNev(tanuloCsoportCo.TanuloId);
model.AlapadatModel.BelepesDatum = tanuloCsoportCo.BelepDatum.Value;
model.AlapadatModel.KilepesDatum = tanuloCsoportCo.KilepDatum;
model.AlapadatModel.Megjegyzes = tanuloCsoportCo.Megjegyzes;
model.AlapadatModel.BefogadoIntezmeny = tanuloCsoportCo.BefogadoIntezmeny;
return model;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveData(BesorolasModCsoportbolKiirtTanulokModel model)
{
if (ModelState.IsValid)
{
var ms = TanuloBesorolasLogic.CustomValidation(ModelState, model.AlapadatModel, isOsztaly: false);
if (ms.IsValid)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var tanuloCsoportCo = model.ConvertModelToTanuloCsoportCo();
helper.UpdateTanuloBesorolas(tanuloCsoportCo);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ms);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveDataTobbes(BesorolasTobbesModCsoportbolKiirtTanulokModel model)
{
if (ModelState.IsValid)
{
int x = 0;
List<int> tanuloCsoportIdList = model.TanuloCsoportIdArray.Split(',').Where(str => int.TryParse(str, out x)).Select(str => x).ToList();
if (tanuloCsoportIdList.Count > 1)
{
var tHelper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
string errorMessage = tHelper.ValidateTanuloBesorolasTobbesModositas(model.ConvertTobbesModelToTanuloCsoportCo(), tanuloCsoportIdList, ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID, false);
if (errorMessage.Length > 0)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, errorMessage);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage UpdateDatum(List<string> updatedIds)
{
TanevCO tanecCO;
var helper = new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
tanecCO = helper.GetTanevInfo();
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
tanuloHelper.UpdateTanuloCsoportBesorolasDatum(updatedIds /*, new DateTime(tanecCO.KezdoNap.Year, 10, 1)*/, new DateTime(tanecCO.KezdoNap.Year, 9, 1));
return new HttpResponseMessage(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteBesorolas([FromBody] int tanuloCsoportId)
{
var osztalyCsoportbaSorolasHelper = new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID);
if (!osztalyCsoportbaSorolasHelper.CheckCsoportBesorolasDelete(tanuloCsoportId, out var errorMessages))
{
throw new StatusError(HttpStatusCode.BadRequest, string.Empty)
{
Json = new
{
message = string.Join("<br/><br/>", errorMessages)
}
};
}
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
try
{
tanuloHelper.DeleteTanuloCsoport(tanuloCsoportId);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = $"{ErrorResource.NemTorolhetoAzAlabbiKapcsolodasokMiatt}{Environment.NewLine}{ex.ConnectionErrorMessage}";
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
}
}