72 lines
2.9 KiB
C#
72 lines
2.9 KiB
C#
using System;
|
|
using System.Net;
|
|
using System.Web.Http;
|
|
using System.Web.Http.ModelBinding;
|
|
using Kendo.Mvc.UI;
|
|
using Kreta.BusinessLogic.Exceptions;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Security;
|
|
using Kreta.Framework.Entities;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Helpers.Error;
|
|
using Kreta.Web.Helpers.Grid;
|
|
using Kreta.Web.Security;
|
|
|
|
namespace Kreta.Web.Areas.OsztalyCsoport.ApiControllers
|
|
{
|
|
[ApiRoleClaimsAuthorize(true)]
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
public class BesorolasModFelNemVettTanuloTorleseApiController : ApiController
|
|
{
|
|
public DataSourceResult GetBesorolasModFelNemVettTanuloTorleseGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
|
{
|
|
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
|
return helper.GetNemBesoroltTanulok().ToDataSourceResult();
|
|
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public IHttpActionResult DeleteData(string[] torlesreJeloltTanulok)
|
|
{
|
|
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
var errorMsg = string.Empty;
|
|
var counter = 0;
|
|
|
|
foreach (var item in torlesreJeloltTanulok)
|
|
{
|
|
try
|
|
{
|
|
helper.TanuloTorlese(int.Parse(item), ClaimData.KovTanevID, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater);
|
|
counter++;
|
|
}
|
|
catch (CannotBeDeletedException ex)
|
|
{
|
|
errorMsg += $"{ex.Message}{Environment.NewLine}";
|
|
continue;
|
|
}
|
|
catch (EntityDeleteFailedException ex)
|
|
{
|
|
var tanuloAdatCO = helper.GetTanuloiAdatok(int.Parse(item), ClaimData.KovTanevID, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater);
|
|
var entityName = BusinessLogic.Extensions.NameExtensions.GetNevSorrendben("F", tanuloAdatCO.Elotag, tanuloAdatCO.CsaladiNev, tanuloAdatCO.UtoNev);
|
|
|
|
errorMsg += string.Format(ErrorResource.TanuloNemTorolhetoKapcsolatMiatt, entityName, ex.ConnectionErrorMessage) + Environment.NewLine + Environment.NewLine;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
if (string.IsNullOrWhiteSpace(errorMsg))
|
|
{
|
|
return Json(new { Message = string.Format(ErrorResource.NSorTorlesSikeres, counter) });
|
|
}
|
|
|
|
if (counter > 0)
|
|
{
|
|
errorMsg += Environment.NewLine + string.Format(ErrorResource.NSorTorlesSikeres, counter);
|
|
}
|
|
|
|
throw new StatusError(HttpStatusCode.BadRequest, errorMsg);
|
|
}
|
|
}
|
|
}
|