init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
828
KretaWeb/Areas/Tanulo/ApiControllers/AmiTanuloApiController.cs
Normal file
828
KretaWeb/Areas/Tanulo/ApiControllers/AmiTanuloApiController.cs
Normal file
|
@ -0,0 +1,828 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.Helper;
|
||||
using Kreta.Web.Areas.Tanulo.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
using SDA.DataProvider;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.AMImodul.ClaimValue)]
|
||||
public class AmiTanuloApiController : ApiController
|
||||
{
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue)]
|
||||
public DataSourceResult GetTanuloGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloGridModel>(TanuloGridModel.TanuloExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(TanuloResource.TanuloExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{TanuloResource.TanuloExportFileName}.xlsx");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanuloGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
data = data.Replace("_", string.Empty);
|
||||
|
||||
var model = JsonConvert.DeserializeObject<TanuloSearchModel>(data);
|
||||
|
||||
var co = model.ConvertModelToCo(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsActivTanev);
|
||||
co.LekerdezesNapja = DateTime.Today;
|
||||
co.FeladatKategoriaId = (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas;
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloItemCoList(co);
|
||||
var modelList = new List<TanuloGridModel>();
|
||||
|
||||
foreach (var item in coList)
|
||||
{
|
||||
var gridModel = new TanuloGridModel(item);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
#region Növendék mentés/módosítás/törlés
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.IsLEPKezelo.ClaimValue)]
|
||||
public HttpResponseMessage DeleteJogviszonySzuneteltetes(JogviszonySzuneteltetesDeleteModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (model.IsJogviszonySzuneteltetese && model.GridCnt == 1)
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.JogviszonySzunetLegalabbEgyIdoszakKotelezo);
|
||||
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.DeleteJogviszonySzuneteltetes(model.Id.Value);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveJogviszonySzuneteltetes(JogviszonySzuneteltetesModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (model.JogviszonySzuneteltetesKezdete.Value > model.JogviszonySzuneteltetesVege.Value)
|
||||
ModelState.AddModelError("JogviszonySzuneteltetes1", ErrorResource.JogviszonySzuneteltetes);
|
||||
|
||||
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevData = tanevHelper.GetTanevInfo();
|
||||
|
||||
if (model.JogviszonySzuneteltetesKezdete.Value < tanevData.KezdoNap)
|
||||
ModelState.AddModelError("JogviszonySzuneteltetes2", ErrorResource.JogviszonySzuneteltetesKezdeteTanevben);
|
||||
|
||||
if (model.JogviszonySzuneteltetesVege.Value > tanevData.UtolsoNap)
|
||||
ModelState.AddModelError("JogviszonySzuneteltetes3", ErrorResource.JogviszonySzuneteltetesVegeTanevben);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.SaveJogviszonySzuneteltetes(model.TanuloId.Value, model.OsztalyId, model.JogviszonySzuneteltetesKezdete.Value, model.JogviszonySzuneteltetesVege.Value, ClaimData.KovTanevID);
|
||||
return Request.CreateResponse(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTanulo(TanuloModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var felhasznaloiNevGeneralasModja = TanuloLogic.GetFelhasznaloiNevGeneralasModja(model);
|
||||
TanuloLogic.TanuloCustomValidation(ModelState, model, felhasznaloiNevGeneralasModja, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var response = TanuloLogic.TanuloMentese(model, felhasznaloiNevGeneralasModja);
|
||||
return Request.CreateResponse(HttpStatusCode.OK, response);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
catch (Check4TValidacioExistsException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznaloiAdatokkalMarLetezikFelhasznalo);
|
||||
}
|
||||
}
|
||||
|
||||
public HttpResponseMessage SaveData(TanuloTobbesModModel model)
|
||||
{
|
||||
TanuloLogic.TanuloTobbesModCustomValidation(ModelState, model);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
return TanuloLogic.SaveData(ClaimData.SelectedTanevID.Value, model);
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
public HttpResponseMessage PreValidation(TanuloTobbesModModel model)
|
||||
{
|
||||
TanuloLogic.TanuloTobbesModCustomValidation(ModelState, model);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
string warningMessage = TanuloLogic.ValidateOnSaveData(model);
|
||||
if (!string.IsNullOrWhiteSpace(warningMessage))
|
||||
{
|
||||
return Request.CreateResponse(HttpStatusCode.BadRequest, warningMessage);
|
||||
}
|
||||
return TanuloLogic.SaveData(ClaimData.SelectedTanevID.Value, model);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
#endregion Növendék mentés/módosítás/törlés
|
||||
|
||||
#region Generálás
|
||||
|
||||
public HttpResponseMessage JelszoGeneralas(int userId, bool isGondviselo)
|
||||
{
|
||||
var result = TanuloLogic.JelszoGeneralas(userId, isGondviselo);
|
||||
return Request.CreateResponse(HttpStatusCode.OK, result);
|
||||
}
|
||||
|
||||
public System.Web.Mvc.JsonResult FelhasznalonevGeneralas([FromBody] FelhasznalonevGeneralasModel felhasznalonevGeneralasModel)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = new System.Web.Mvc.JsonResult { Data = TanuloLogic.FelhasznalonevGeneralas(felhasznalonevGeneralasModel) };
|
||||
return result;
|
||||
}
|
||||
|
||||
catch (UniqueKeyViolationException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznalonevMarLetezik);
|
||||
}
|
||||
catch (UserNameExistsException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznalonevMarLetezik);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Növendék elérhetőség mentés/módosítás/törlés
|
||||
|
||||
public CimElerhetosegModel GetTanuloElerhetosegTel(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloElerhetosegTelById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegTel(CimElerhetosegModel model)
|
||||
{
|
||||
Kreta.Web.Classes.Utils.TelefonSzamValidation(ModelState, model.Telefon, model.TelefonTipus, TelefonszamTulajdonosEnum.Tanulo);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToTanuloElerhetosegTelCO(model);
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloElerhetosegTelMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElerhetosegTel([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloElerhetosegTelTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Telefonszam, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
public CimElerhetosegModel GetTanuloElerhetosegEmail(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloElerhetosegEmailById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegEmail(CimElerhetosegModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToTanuloElerhetosegEmailCO(model);
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloElerhetosegEmailMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElerhetosegEmail([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloElerhetosegEmailTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.EmailCim, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
public CimElerhetosegModel GetTanuloElerhetosegCim(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloGondviseloCimById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegCim(CimElerhetosegModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElerhetosegCim([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloGondviseloCimTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Cim, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Növendék elérhetőség mentés/módosítás/törlés
|
||||
|
||||
#region Gondviselő mentés/módosítás/törlés
|
||||
|
||||
public TanuloModGondviseloModel GetTanuloGondviselo(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloGondviseloById(id);
|
||||
return TanuloModGondviseloModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviselo(TanuloModGondviseloModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
TanuloLogic.TanuloGondviseloSaveValidation(ModelState, model);
|
||||
if (!ModelState.IsValid)
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
|
||||
var co = TanuloModGondviseloModel.ConvertModelToCo(model);
|
||||
var belepesList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloGondviseloMentese(co, ClaimData.IsSzirIntezmeny, ClaimData.KovTanevID);
|
||||
var fileString = TanuloLogic.GondviseloFileGenerate(model.FileLetoltesSzukseges, belepesList);
|
||||
|
||||
var response = new { EmailErrors = belepesList.EmailErrors, FileString = fileString };
|
||||
return Request.CreateResponse(HttpStatusCode.OK, response);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message) { UnHandledException = ex.InnerException };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteGondviselo([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
return TanuloLogic.DeleteTanulogondviselo(id);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Gondviselo, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Gondviselő mentés/módosítás/törlés
|
||||
|
||||
#region Gondviselő elérhetőség mentés/módosítás/törlés
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public CimElerhetosegModel GetGondviseloElerhetosegCim(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloGondviseloCimById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviseloCim(CimElerhetosegModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var customModelState = TanuloLogic.CheckGondviseloCimCustomValidation(ModelState, model);
|
||||
if (model.TanulovalEgyezik)
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
|
||||
helper.TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
if (customModelState.IsValid)
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
|
||||
helper.TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteGondviseloCim([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloGondviseloCimTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Cim, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Gondviselő elérhetőség mentés/módosítás/törlés
|
||||
|
||||
#region GridHelpers
|
||||
|
||||
public DataSourceResult GetOsztalyCsoportGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloDetailModel>(data);
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetOsztalyCsoport(model.TanuloId, (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas, !model.MegNemAktivOsztalyok);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanultTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetTanultTantargyak(tanuloId.Value, (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanarokTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetTanarokTantargyak(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviselok(int.Parse(id), true);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviseloCimek(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokCimDetailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviseloCimekByGondviselo(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetOrarendiOrakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetOrarendiOrak(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetErtekelesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetErtekelesek(int.Parse(id), (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetMulasztasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetMulasztasok(int.Parse(id), (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetIgazolasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetIgazolasok(tanuloId.Value, (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetFeljegyzesekHaviGrid(string id, string osztalycsoportId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
var osztalyId = SDAConvert.ToNullableInt32(osztalycsoportId);
|
||||
DataSourceResult result = tanuloId.IsEntityId() && osztalyId.IsEntityId()
|
||||
? helper.GetFeljegyzesekHavi(tanuloId.Value, osztalyId.Value).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetElozmenyekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetElozmenyek(int.Parse(id), (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetCim(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegTelGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetTelefonSzam(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegEmailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetEmails(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetGondviseloUtolsoBelepesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviseloUtolsoBelepes(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue)]
|
||||
public DataSourceResult GetJogviszonySzuneteltetesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetJogviszonySzuneteltetes(tanuloId.Value, (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetJogviszonyGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var co = helper.GetJogviszony(int.Parse(id));
|
||||
|
||||
return co.ToDataSourceResult(Converter.GridParameter(request));
|
||||
}
|
||||
|
||||
#endregion GridHelpers
|
||||
|
||||
#region Export
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue)]
|
||||
public JsonResult<List<ExportColumn>> GetExportColumnsTanulokLakcimmel()
|
||||
{
|
||||
return Json(TanuloLogic.GetColumnsTanulokLakcimmel());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue)]
|
||||
public JsonResult<List<ExportColumn>> GetExportColumns()
|
||||
{
|
||||
return Json(TanuloLogic.GetColumnsforExport());
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.AMImodul.ClaimValue)]
|
||||
public DataSourceResult GetTanuloExportGrid(string searchFilter, string sortColumn, string sortDir)
|
||||
{
|
||||
return TanuloLogic.GetDataSetTanuloExport(searchFilter, sortColumn, sortDir).ToDataSourceResult();
|
||||
}
|
||||
|
||||
#endregion Export
|
||||
|
||||
#region Tantárgy felosztas mentés/módosítás/törlés
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public DataSourceResult GetTanuloCsoportosFoglalkozasai(int tanuloId, int osztalyId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new FoglalkozasHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
var ds = helper.GetTanuloCsoportosFoglalkozasai(tanuloId, osztalyId, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.AMImodul.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public DataSourceResult GetTanuloEgyeniFoglalkozasai(int tanuloId, int osztalyId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new FoglalkozasHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
var ds = helper.GetTanuloEgyeniFoglalkozasai(tanuloId, osztalyId, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage ValidateTantargyfelosztas(List<TanuloTantargyaiModel> model)
|
||||
{
|
||||
AmiTanuloLogic.ValidateTanuloTantargyaiModel(model);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, model, Configuration.Formatters.JsonFormatter);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTantargyfelosztas(SaveTanuloTantargyaiModel list)
|
||||
{
|
||||
var osztalyId = list.OsztalyId;
|
||||
var model = list.TanuloTantargyak;
|
||||
var tanuloId = list.TanuloId;
|
||||
|
||||
var tantargyHelper = new TantargyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
foreach (var m in model)
|
||||
{
|
||||
if (!m.TantargyID.HasValue && m.AmiTantargyID.HasValue)
|
||||
{
|
||||
(int? tantargyId, int? amiTantargyId, string tantargyNev) = tantargyHelper.GetTantargyAMISablonhoz(m.AmiTantargyID.Value);
|
||||
|
||||
if (tantargyId.HasValue)
|
||||
{
|
||||
m.TantargyID = tantargyId;
|
||||
|
||||
if (!amiTantargyId.HasValue || amiTantargyId.Value != m.AmiTantargyID.Value)
|
||||
{
|
||||
tantargyHelper.UpdateAMITantargySablonId(tantargyId.Value, m.AmiTantargyID.Value);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var ujTantargyId = tantargyHelper.CreateAMITantargy(m.AmiTantargyID.Value, tantargyNev);
|
||||
|
||||
m.TantargyID = ujTantargyId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var csoportos = model.Where(x => x.IsCsoportos);
|
||||
|
||||
var foglalkozasIdsInGrid = csoportos.Where(x => x.AmiFoglalkozasID.HasValue && x.AmiFoglalkozasID.Value > 0)
|
||||
.Select(x => x.AmiFoglalkozasID.Value);
|
||||
|
||||
var foglakozasIdsInDB = new FoglalkozasHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloCsoportosFoglalkozasai(tanuloId, osztalyId, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas).Tables[0].AsEnumerable()
|
||||
.Where(x =>
|
||||
x.Field<int?>("AmiFoglalkozasID").HasValue && x.Field<int?>("AmiFoglalkozasID").Value > 0
|
||||
).Select(x => x.Field<int?>("AmiFoglalkozasID").Value);
|
||||
|
||||
var torlendoCsoportosIds = foglakozasIdsInDB.Except(foglalkozasIdsInGrid).Distinct();
|
||||
var tantargyFelosztasHelper = new TantargyFelosztasHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
foreach (var id in torlendoCsoportosIds)
|
||||
{
|
||||
tantargyFelosztasHelper.DeleteFoglalkozasAmiTanulo(id);
|
||||
}
|
||||
|
||||
foreach (var cs in csoportos)
|
||||
{
|
||||
if (!int.TryParse(cs.ID, out int id))
|
||||
{
|
||||
var foglalkozasId = new FoglalkozasHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveFoglalkozas(cs.TantargyID.Value, cs.OsztalyId.Value, cs.TanarID.Value, cs.Oraszam, cs.OsszevontOra_BOOL);
|
||||
|
||||
cs.ID = foglalkozasId.ToString();
|
||||
}
|
||||
|
||||
//csak akkor mentünk amifoglalkozást, ha mindent megadott
|
||||
if (cs.AmiFotargy.IsEntityId() && cs.AmiTagozat.IsEntityId() && cs.AmiTantargyKotelezoseg.IsEntityId() || cs.AmiTantargyKotelezoseg.IsEntityId())
|
||||
{
|
||||
tantargyFelosztasHelper.InsertOrUpdateFoglalkozasAmiTanulo(cs.ToCo());
|
||||
}
|
||||
}
|
||||
|
||||
var egyeni = model.Where(x => !x.IsCsoportos);
|
||||
|
||||
var idsInGrid = egyeni.Select(x => int.TryParse(x.ID, out int id) ? id : (int?)null)
|
||||
.Where(x => x.HasValue && x.Value > 0).Select(x => x.Value);
|
||||
|
||||
var idsInDB = new FoglalkozasHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloEgyeniFoglalkozasai(tanuloId, osztalyId, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas).Tables[0].AsEnumerable()
|
||||
.Select(x => x.Field<int>("ID"));
|
||||
|
||||
var torlendoEgyeniIds = idsInDB.Except(idsInGrid).Distinct();
|
||||
|
||||
foreach (var id in torlendoEgyeniIds)
|
||||
{
|
||||
tantargyFelosztasHelper.DeleteTargyFelosztas(id);
|
||||
}
|
||||
|
||||
foreach (var e in egyeni)
|
||||
{
|
||||
tantargyFelosztasHelper.CreateOrUpdateEgyeniTantargyFelosztasForAMI(e.ToCo());
|
||||
}
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
#endregion Tantárgy felosztas mentés/módosítás/törlés
|
||||
|
||||
[HttpGet]
|
||||
public JsonResult<bool> HasGondviseloAlapertelmezettCim(int gondviseloId)
|
||||
{
|
||||
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var letezikGondviseloAlapertelmezettCim = tanuloHelper.HasGondviseloAlapertelmezettCim(gondviseloId);
|
||||
return Json(letezikGondviseloAlapertelmezettCim);
|
||||
}
|
||||
}
|
||||
}
|
121
KretaWeb/Areas/Tanulo/ApiControllers/BaseTanuloApiController.cs
Normal file
121
KretaWeb/Areas/Tanulo/ApiControllers/BaseTanuloApiController.cs
Normal file
|
@ -0,0 +1,121 @@
|
|||
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 System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.KozpontiKreta;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Configuratiaton.Interface;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Core.KozpontiModels.MdszModels;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.Helper;
|
||||
using Kreta.Web.Areas.Tanulo.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
using SDA.DataProvider;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
public class BaseTanuloApiController : ApiController
|
||||
{
|
||||
public readonly IKozpontiKretaConfiguration kozpontiKretaConfiguration;
|
||||
|
||||
public BaseTanuloApiController(IKozpontiKretaConfiguration kozpontiKretaConfiguration)
|
||||
{
|
||||
this.kozpontiKretaConfiguration = kozpontiKretaConfiguration ?? throw new ArgumentNullException(nameof(kozpontiKretaConfiguration));
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public DataSourceResult GetTanuloGrid(string data, DataSourceRequest request, bool isFromSzervezet)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public DataSourceResult GetFelmentesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request, bool isFromSzervezet)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
var dualisKepzesTantargyId = new TantargyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDualisKepzesTantargyId();
|
||||
var result = tanuloId.IsEntityId()
|
||||
? helper.GetTanulokFelmentesei(new List<int> { tanuloId.Value }, isFromSzervezet, dualisKepzesTantargyId: dualisKepzesTantargyId).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request, bool isFromSzervezet)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloGridModel>(isFromSzervezet ? TanuloGridModel.DualisTanuloExportAttributeId : TanuloGridModel.TanuloExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(TanuloResource.TanuloExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), !isFromSzervezet ? $"{TanuloResource.TanuloExportFileName}.{Constants.ImportExport.FileFormatXlsx}" : $"{TanuloResource.TanuloExportFileName}_{DateTime.Now:yyyy_MM_dd}.{Constants.ImportExport.FileFormatXlsx}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public DataSourceResult GetOsztalyCsoportGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request, bool isFromSzervezet)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloDetailModel>(data);
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetOsztalyCsoport(model.TanuloId, model.FeladatKategoriaId, !model.MegNemAktivOsztalyok, isFromSzervezet);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanuloGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
data = data.Replace("_", string.Empty);
|
||||
|
||||
var model = JsonConvert.DeserializeObject<TanuloSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloItemCoList(model.ConvertModelToCo(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsActivTanev));
|
||||
|
||||
var modelList = new List<TanuloGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new TanuloGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
using System.Web.Http;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Web.Areas.Tanulo.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
|
||||
public class CsoportTanuloiAdatokApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetTanuloiAlapadatokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloiAdatokModel>(data);
|
||||
var tanuloId = model?.TanuloId;
|
||||
var osztalyCsoportId = model?.OsztalyCsoportId;
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSourceResult result = tanuloId.IsEntityId() ?
|
||||
helper.GetTanuloiAlapadatokGrid(tanuloId.Value, osztalyCsoportId.Value).ToDataSourceResult() :
|
||||
new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloiTanugyiadatokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloiAdatokModel>(data);
|
||||
var tanuloId = model?.TanuloId;
|
||||
var osztalyCsoportId = model?.OsztalyCsoportId;
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSourceResult result = tanuloId.IsEntityId() ?
|
||||
helper.GetTanuloiTanugyiadatokGrid(tanuloId.Value, osztalyCsoportId.Value).ToDataSourceResult() :
|
||||
new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloiEgyebAdatokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloiAdatokModel>(data);
|
||||
var tanuloId = model?.TanuloId;
|
||||
var osztalyCsoportId = model?.OsztalyCsoportId;
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSourceResult result = tanuloId.IsEntityId() ?
|
||||
helper.GetTanuloiEgyebAdatokGrid(tanuloId.Value, osztalyCsoportId).ToDataSourceResult() :
|
||||
new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloiGondviseloAdatokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloiAdatokModel>(data);
|
||||
var tanuloId = model?.TanuloId;
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSourceResult result = tanuloId.IsEntityId() ?
|
||||
helper.GetTanuloiGondviseloAdatokGrid(tanuloId.Value).ToDataSourceResult() :
|
||||
new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
using System;
|
||||
using System.Data;
|
||||
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;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.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.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
|
||||
public class CsoportTanuloiApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetCsoportTanuloiGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<CsoportTanuloiSearchModel>(data);
|
||||
|
||||
if (!model.OsztalyCsoport.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
Enum.TryParse(new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetOsztalyCsoportFeladatKategoria(model.OsztalyCsoport.Value).ToString(), out OktNevelesiKategoriaEnum osztalycsoportKategoria);
|
||||
model.FeladatKategoriaId = (int)osztalycsoportKategoria;
|
||||
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidCsoport(model.OsztalyCsoport.Value))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
bool? tankozelezett = null;
|
||||
if (model.Tankotelezett.HasValue)
|
||||
{
|
||||
tankozelezett = model.Tankotelezett.Value == 1;
|
||||
}
|
||||
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
DataSet tanulok = helper.GetTanuloDataSetByOsztalyCsoportId(
|
||||
model.OsztalyCsoport.Value,
|
||||
model.FeladatKategoriaId,
|
||||
model.Nev,
|
||||
model.AnyjaSzuletesiNev,
|
||||
model.SzuletesiHely,
|
||||
model.SzuletesiIdoTol,
|
||||
model.SzuletesiIdoIg,
|
||||
model.OktatasiAzonosito,
|
||||
tankozelezett,
|
||||
model.Tanterv,
|
||||
model.FeladatEllatasiHelyId);
|
||||
|
||||
return tanulok.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,318 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Configuratiaton.Interface;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.Helper;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue,
|
||||
KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeApiActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisTanuloApiController : BaseTanuloApiController
|
||||
{
|
||||
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
|
||||
|
||||
public DualisTanuloApiController(IKozpontiKretaConfiguration kozpontiKretaConfiguration)
|
||||
: base(kozpontiKretaConfiguration)
|
||||
{
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetTanuloGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetTanuloGrid(data, request, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetExport(data, request, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
#region GridHelpers
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetOsztalyCsoportGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return GetOsztalyCsoportGrid(data, request, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetTanultTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
var result = tanuloId.IsEntityId()
|
||||
? helper.GetTanultTantargyak(tanuloId.Value, (int)OktNevelesiKategoriaEnum.NevelesOktatas).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetTanarokTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetTanarokTantargyak(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetGondviselok(int.Parse(id), true);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetGondviseloCimek(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokCimDetailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetGondviseloCimekByGondviselo(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetOrarendiOrakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetOrarendiOrak(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetErtekelesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetErtekelesek(int.Parse(id), (int)OktNevelesiKategoriaEnum.NevelesOktatas);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetMulasztasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetMulasztasok(int.Parse(id), (int)OktNevelesiKategoriaEnum.NevelesOktatas);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetIgazolasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
var result = tanuloId.IsEntityId()
|
||||
? helper.GetIgazolasok(tanuloId.Value, null).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetFeljegyzesekHaviGrid(string id, string osztalycsoportId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
var osztalyId = SDAConvert.ToNullableInt32(osztalycsoportId);
|
||||
var result = tanuloId.IsEntityId() && osztalyId.IsEntityId()
|
||||
? helper.GetFeljegyzesekHavi(tanuloId.Value, osztalyId.Value).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetElozmenyekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetElozmenyek(int.Parse(id), null);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetCim(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegTelGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetTelefonSzam(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetFelmentesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return GetFelmentesekGrid(id, request, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegEmailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetEmails(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetKozossegiSzolgalatGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetKozossegiSzolgalat(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetGondviseloUtolsoBelepesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request),
|
||||
};
|
||||
|
||||
var ds = helper.GetGondviseloUtolsoBelepes(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetJogviszonySzuneteltetesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
var result = tanuloId.IsEntityId()
|
||||
? helper.GetJogviszonySzuneteltetes(tanuloId.Value, null).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetJogviszonyGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var co = helper.GetJogviszony(int.Parse(id));
|
||||
|
||||
return co.ToDataSourceResult(Converter.GridParameter(request));
|
||||
}
|
||||
|
||||
#endregion GridHelpers
|
||||
|
||||
#region Export
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public JsonResult<List<ExportColumn>> GetExportColumnsTanulokLakcimmel()
|
||||
{
|
||||
return Json(TanuloLogic.GetColumnsTanulokLakcimmel());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public JsonResult<List<ExportColumn>> GetExportColumns()
|
||||
{
|
||||
return Json(TanuloLogic.GetColumnsforExport());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.IsLEPKezelo.ClaimValue)]
|
||||
public JsonResult<List<ExportColumn>> GetExportColumnsLEP()
|
||||
{
|
||||
var items = new List<ExportColumn>
|
||||
{
|
||||
new ExportColumn() { Field = "TanuloNeve", Title = TanuloResource.Nev },
|
||||
new ExportColumn() { Field = "Osztaly", Title = TanuloResource.Osztaly }
|
||||
};
|
||||
|
||||
return Json(items);
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
|
||||
public DataSourceResult GetTanuloExportGrid(string searchFilter, string sortColumn, string sortDir)
|
||||
{
|
||||
return TanuloLogic.GetDataSetTanuloExport(searchFilter, sortColumn, sortDir).ToDataSourceResult();
|
||||
}
|
||||
|
||||
#endregion Export
|
||||
}
|
||||
}
|
869
KretaWeb/Areas/Tanulo/ApiControllers/EGYMITanuloApiController.cs
Normal file
869
KretaWeb/Areas/Tanulo/ApiControllers/EGYMITanuloApiController.cs
Normal file
|
@ -0,0 +1,869 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.Helper;
|
||||
using Kreta.Web.Areas.Tanulo.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
using SDA.DataProvider;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.EGYMIModul.ClaimValue)]
|
||||
public class EGYMITanuloApiController : ApiController
|
||||
{
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue)]
|
||||
public DataSourceResult GetTanuloGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloGridModel>(TanuloGridModel.TanuloExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(TanuloResource.TanuloExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{TanuloResource.TanuloExportFileName}.xlsx");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanuloGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
data = data.Replace("_", string.Empty);
|
||||
|
||||
var model = JsonConvert.DeserializeObject<TanuloSearchModel>(data);
|
||||
|
||||
var co = model.ConvertModelToCo(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsActivTanev);
|
||||
co.LekerdezesNapja = DateTime.Today;
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloItemCoList(co);
|
||||
|
||||
var modelList = new List<TanuloGridModel>();
|
||||
|
||||
foreach (var item in coList)
|
||||
{
|
||||
var gridModel = new TanuloGridModel(item);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
#region Tanuló mentés/módosítás/törlés
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue)]
|
||||
public HttpResponseMessage DeleteTanulo([FromBody] int tanuloId)
|
||||
{
|
||||
try
|
||||
{
|
||||
TanuloLogic.TanuloDelete(tanuloId);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var tanuloAdatCO = TanuloLogic.GetTanuloAdatCO(tanuloId);
|
||||
var entityName = BusinessLogic.Extensions.NameExtensions.GetNevSorrendben("F", tanuloAdatCO.Elotag, tanuloAdatCO.CsaladiNev, tanuloAdatCO.UtoNev);
|
||||
var uzenet = string.Format(ErrorResource.TanuloNemTorolhetoKapcsolatMiatt, entityName, ex.ConnectionErrorMessage);
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.IsLEPKezelo.ClaimValue)]
|
||||
public HttpResponseMessage DeleteJogviszonySzuneteltetes(JogviszonySzuneteltetesDeleteModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (model.IsJogviszonySzuneteltetese && model.GridCnt == 1)
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.JogviszonySzunetLegalabbEgyIdoszakKotelezo);
|
||||
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.DeleteJogviszonySzuneteltetes(model.Id.Value);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveJogviszonySzuneteltetes(JogviszonySzuneteltetesModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (model.JogviszonySzuneteltetesKezdete.Value > model.JogviszonySzuneteltetesVege.Value)
|
||||
ModelState.AddModelError("JogviszonySzuneteltetes1", ErrorResource.JogviszonySzuneteltetes);
|
||||
|
||||
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevData = tanevHelper.GetTanevInfo();
|
||||
|
||||
if (model.JogviszonySzuneteltetesKezdete.Value < tanevData.KezdoNap)
|
||||
ModelState.AddModelError("JogviszonySzuneteltetes2", ErrorResource.JogviszonySzuneteltetesKezdeteTanevben);
|
||||
|
||||
if (model.JogviszonySzuneteltetesVege.Value > tanevData.UtolsoNap)
|
||||
ModelState.AddModelError("JogviszonySzuneteltetes3", ErrorResource.JogviszonySzuneteltetesVegeTanevben);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.SaveJogviszonySzuneteltetes(model.TanuloId.Value, model.OsztalyId, model.JogviszonySzuneteltetesKezdete.Value, model.JogviszonySzuneteltetesVege.Value, ClaimData.KovTanevID);
|
||||
return Request.CreateResponse(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue)]
|
||||
public IHttpActionResult DeleteSelectedTanulo(List<int> idList)
|
||||
{
|
||||
return Json(new { Message = TanuloLogic.DeleteSelectedTanulo(idList) });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTanulo(TanuloModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var felhasznaloiNevGeneralasModja = TanuloLogic.GetFelhasznaloiNevGeneralasModja(model);
|
||||
TanuloLogic.TanuloCustomValidation(ModelState, model, felhasznaloiNevGeneralasModja, OktNevelesiKategoriaEnum.EGYMI);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var response = TanuloLogic.TanuloMentese(model, felhasznaloiNevGeneralasModja);
|
||||
return Request.CreateResponse(HttpStatusCode.OK, response);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
catch (Check4TValidacioExistsException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznaloiAdatokkalMarLetezikFelhasznalo);
|
||||
}
|
||||
}
|
||||
|
||||
public HttpResponseMessage SaveData(TanuloTobbesModModel model)
|
||||
{
|
||||
TanuloLogic.TanuloTobbesModCustomValidation(ModelState, model);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
return TanuloLogic.SaveData(ClaimData.SelectedTanevID.Value, model);
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
public HttpResponseMessage PreValidation(TanuloTobbesModModel model)
|
||||
{
|
||||
TanuloLogic.TanuloTobbesModCustomValidation(ModelState, model);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
string warningMessage = TanuloLogic.ValidateOnSaveData(model);
|
||||
if (!string.IsNullOrWhiteSpace(warningMessage))
|
||||
{
|
||||
return Request.CreateResponse(HttpStatusCode.BadRequest, warningMessage);
|
||||
}
|
||||
|
||||
return TanuloLogic.SaveData(ClaimData.SelectedTanevID.Value, model);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
#endregion Tanuló mentés/módosítás/törlés
|
||||
|
||||
#region Generálás
|
||||
|
||||
public HttpResponseMessage JelszoGeneralas(int userId, bool isGondviselo)
|
||||
{
|
||||
var result = TanuloLogic.JelszoGeneralas(userId, isGondviselo);
|
||||
return Request.CreateResponse(HttpStatusCode.OK, result);
|
||||
}
|
||||
|
||||
public System.Web.Mvc.JsonResult FelhasznalonevGeneralas([FromBody] FelhasznalonevGeneralasModel felhasznalonevGeneralasModel)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = new System.Web.Mvc.JsonResult { Data = TanuloLogic.FelhasznalonevGeneralas(felhasznalonevGeneralasModel) };
|
||||
return result;
|
||||
}
|
||||
|
||||
catch (UniqueKeyViolationException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznalonevMarLetezik);
|
||||
}
|
||||
catch (UserNameExistsException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznalonevMarLetezik);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Tanuló elérhetőség mentés/módosítás/törlés
|
||||
|
||||
public CimElerhetosegModel GetTanuloElerhetosegTel(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloElerhetosegTelById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegTel(CimElerhetosegModel model)
|
||||
{
|
||||
Kreta.Web.Classes.Utils.TelefonSzamValidation(ModelState, model.Telefon, model.TelefonTipus, TelefonszamTulajdonosEnum.Tanulo);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToTanuloElerhetosegTelCO(model);
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloElerhetosegTelMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElerhetosegTel([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloElerhetosegTelTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Telefonszam, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
public CimElerhetosegModel GetTanuloElerhetosegEmail(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloElerhetosegEmailById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegEmail(CimElerhetosegModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToTanuloElerhetosegEmailCO(model);
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloElerhetosegEmailMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElerhetosegEmail([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloElerhetosegEmailTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.EmailCim, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
public CimElerhetosegModel GetTanuloElerhetosegCim(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloGondviseloCimById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegCim(CimElerhetosegModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElerhetosegCim([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloGondviseloCimTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Cim, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Tanuló elérhetőség mentés/módosítás/törlés
|
||||
|
||||
#region Közösségi szolgálat mentés/módosítás/törlés
|
||||
|
||||
public TanuloKozszolgModel GetTanuloKozSzolg(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetKozossegiSzolgalatbyId(id);
|
||||
return TanuloKozszolgModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveKozszolg(TanuloKozszolgModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).KozossegiSzolgalatMentese(TanuloKozszolgModel.ConvertModelToCo(model));
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteKozszolg([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.KozossegiSzolgalatTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.KozossegiSzolgalat, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Közösségi szolgálat mentés/módosítás/törlés
|
||||
|
||||
#region Gondviselő mentés/módosítás/törlés
|
||||
|
||||
public TanuloModGondviseloModel GetTanuloGondviselo(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloGondviseloById(id);
|
||||
return TanuloModGondviseloModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviselo(TanuloModGondviseloModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
TanuloLogic.TanuloGondviseloSaveValidation(ModelState, model);
|
||||
if (!ModelState.IsValid)
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
|
||||
var co = TanuloModGondviseloModel.ConvertModelToCo(model);
|
||||
var belepesList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloGondviseloMentese(co, ClaimData.IsSzirIntezmeny, ClaimData.KovTanevID);
|
||||
var fileString = TanuloLogic.GondviseloFileGenerate(model.FileLetoltesSzukseges, belepesList);
|
||||
|
||||
var response = new { EmailErrors = belepesList.EmailErrors, FileString = fileString };
|
||||
return Request.CreateResponse(HttpStatusCode.OK, response);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message) { UnHandledException = ex.InnerException };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteGondviselo([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
return TanuloLogic.DeleteTanulogondviselo(id);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Gondviselo, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Gondviselő mentés/módosítás/törlés
|
||||
|
||||
#region Gondviselő elérhetőség mentés/módosítás/törlés
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public CimElerhetosegModel GetGondviseloElerhetosegCim(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloGondviseloCimById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviseloCim(CimElerhetosegModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var customModelState = TanuloLogic.CheckGondviseloCimCustomValidation(ModelState, model);
|
||||
if (model.TanulovalEgyezik)
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
|
||||
helper.TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
if (customModelState.IsValid)
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
|
||||
helper.TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteGondviseloCim([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloGondviseloCimTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Cim, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Gondviselő elérhetőség mentés/módosítás/törlés
|
||||
|
||||
#region Felmentés mentés/módosítás/törlés
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveFelmentes(TanuloFelmentesModel model)
|
||||
{
|
||||
TanuloLogic.TanuloFelmentesCustomValidation(ModelState, model);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var co = TanuloFelmentesModel.ConvertModelToCo(model);
|
||||
|
||||
if (co.IsKorabbiMulasztasokEllenorzese && co.Kezdete.Value < DateTime.Now && co.OraMentesites)
|
||||
{
|
||||
var mulasztasDataSet = helper.CheckModosuloKorabbiMulasztasok(co);
|
||||
|
||||
if (mulasztasDataSet.Tables[0].Rows.Count != 0)
|
||||
{
|
||||
return Request.CreateResponse(HttpStatusCode.OK, mulasztasDataSet.ToDataSourceResult(), Configuration.Formatters.JsonFormatter);
|
||||
}
|
||||
}
|
||||
|
||||
if (model.ID == 0)
|
||||
{
|
||||
foreach (var item in model.TantargyIdList)
|
||||
{
|
||||
co.TantargyId = int.Parse(item);
|
||||
helper.TanuloFelmentesMentese(co, ClaimData.KovTanevID);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
helper.TanuloFelmentesMentese(co, ClaimData.KovTanevID);
|
||||
}
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
var error = new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public TanuloFelmentesModel GetFelmentes(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloFelmentesById(id);
|
||||
return TanuloFelmentesModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteFelmentes([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloFelmentesTorles(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Felmentes, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Felmentés mentés/módosítás/törlés
|
||||
|
||||
#region GridHelpers
|
||||
public DataSourceResult GetOsztalyCsoportGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloDetailModel>(data);
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetOsztalyCsoport(model.TanuloId, (int)OktNevelesiKategoriaEnum.EGYMI, !model.MegNemAktivOsztalyok);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanultTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetTanultTantargyak(tanuloId.Value, (int)OktNevelesiKategoriaEnum.EGYMI).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanarokTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetTanarokTantargyak(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviselok(int.Parse(id), true);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviseloCimek(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokCimDetailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviseloCimekByGondviselo(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetOrarendiOrakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetOrarendiOrak(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetErtekelesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetErtekelesek(int.Parse(id), (int)OktNevelesiKategoriaEnum.EGYMI);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetMulasztasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetMulasztasok(int.Parse(id), (int)OktNevelesiKategoriaEnum.EGYMI);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetIgazolasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetIgazolasok(tanuloId.Value, null).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetFeljegyzesekHaviGrid(string id, string osztalycsoportId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
var osztalyId = SDAConvert.ToNullableInt32(osztalycsoportId);
|
||||
DataSourceResult result = tanuloId.IsEntityId() && osztalyId.IsEntityId()
|
||||
? helper.GetFeljegyzesekHavi(tanuloId.Value, osztalyId.Value).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetElozmenyekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetElozmenyek(int.Parse(id), null);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetCim(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegTelGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetTelefonSzam(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetFelmentesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetTanulokFelmentesei(new List<int>() { tanuloId.Value }).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegEmailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetEmails(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetKozossegiSzolgalatGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetKozossegiSzolgalat(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetGondviseloUtolsoBelepesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviseloUtolsoBelepes(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue)]
|
||||
public DataSourceResult GetJogviszonySzuneteltetesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetJogviszonySzuneteltetes(tanuloId.Value, (int)OktNevelesiKategoriaEnum.EGYMI).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetJogviszonyGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var co = helper.GetJogviszony(int.Parse(id));
|
||||
|
||||
return co.ToDataSourceResult(Converter.GridParameter(request));
|
||||
}
|
||||
|
||||
#endregion GridHelpers
|
||||
|
||||
#region Export
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue)]
|
||||
public JsonResult<List<ExportColumn>> GetExportColumnsTanulokLakcimmel()
|
||||
{
|
||||
return Json(TanuloLogic.GetColumnsTanulokLakcimmel());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue)]
|
||||
public JsonResult<List<ExportColumn>> GetExportColumns()
|
||||
{
|
||||
return Json(TanuloLogic.GetColumnsforExport());
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue)]
|
||||
public DataSourceResult GetTanuloExportGrid(string searchFilter, string sortColumn, string sortDir)
|
||||
{
|
||||
return TanuloLogic.GetDataSetTanuloExport(searchFilter, sortColumn, sortDir).ToDataSourceResult();
|
||||
}
|
||||
|
||||
#endregion Export
|
||||
|
||||
[HttpGet]
|
||||
public JsonResult<bool> HasGondviseloAlapertelmezettCim(int gondviseloId)
|
||||
{
|
||||
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var letezikGondviseloAlapertelmezettCim = tanuloHelper.HasGondviseloAlapertelmezettCim(gondviseloId);
|
||||
return Json(letezikGondviseloAlapertelmezettCim);
|
||||
}
|
||||
}
|
||||
}
|
124
KretaWeb/Areas/Tanulo/ApiControllers/HetesekApiController.cs
Normal file
124
KretaWeb/Areas/Tanulo/ApiControllers/HetesekApiController.cs
Normal file
|
@ -0,0 +1,124 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.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.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue)]
|
||||
public class HetesekApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetHetesekGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<OsztalyTanuloiSearchModel>(data);
|
||||
|
||||
if (!model.OsztalyCsoport.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztaly(model.OsztalyCsoport.Value))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var helper = new HetesekHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
var ds = helper.GetHetesek(model.OsztalyCsoport.Value);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage ValidateHetesek(List<HetesekModel> list)
|
||||
{
|
||||
ValidateHetesekModel(list);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, list, Configuration.Formatters.JsonFormatter);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteFutureHetesInOsztalyCsoport(int id)
|
||||
{
|
||||
new HetesekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).DeleteFutureHetesInOsztalyCsoport(id);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveHetesek(List<HetesekModel> list)
|
||||
{
|
||||
var helper = new HetesekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var osztalyCsoportId = list.FirstOrDefault().OsztalyCsoportId;
|
||||
|
||||
var hetesekCoList = list.ConvertAll(x => x.ToCo());
|
||||
|
||||
helper.SaveOrDeleteHetesekFeljegyzessel(hetesekCoList, osztalyCsoportId, ClaimData.FelhasznaloId);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
private void ValidateHetesekModel(List<HetesekModel> list)
|
||||
{
|
||||
var helper = new HetesekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
foreach (var model in list)
|
||||
{
|
||||
var errorMessage = new StringBuilder();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.Tanulok))
|
||||
{
|
||||
var tanuloIds = model.Tanulok.Split(',').Select(x => int.Parse(x)).ToList();
|
||||
|
||||
if (tanuloIds.Count > Constants.General.HetesekMaximalisSzama)
|
||||
{
|
||||
errorMessage.AppendFormat(ErrorResource.MaximumXHetesLehetAzYsorszamuHetnel, Constants.General.HetesekMaximalisSzama.ToString(), model.HetSorszam.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
var tanulok = helper.GetHetSorszamokTanulokkal(model.OsztalyCsoportId, model.HetSorszam).Tables[0].AsEnumerable()
|
||||
.Select(x => x.Field<int>("TanuloId")).ToList();
|
||||
|
||||
foreach (var tanuloId in tanuloIds)
|
||||
{
|
||||
if (!tanulok.Contains(tanuloId))
|
||||
{
|
||||
errorMessage.AppendFormat(ErrorResource.ATanuloNemTagjaAzOsztalynakASorszamuHeten, model.HetSorszam.ToString());
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (errorMessage.Length > 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, errorMessage.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,868 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.Helper;
|
||||
using Kreta.Web.Areas.Tanulo.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
using SDA.DataProvider;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.KollegiumModul.ClaimValue)]
|
||||
public class KollegiumTanuloApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetTanuloGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloGridModel>(TanuloGridModel.TanuloExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(TanuloResource.TanuloExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{TanuloResource.TanuloExportFileName}.xlsx");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanuloGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
data = data.Replace("_", string.Empty);
|
||||
|
||||
var model = JsonConvert.DeserializeObject<TanuloSearchModel>(data);
|
||||
|
||||
var co = model.ConvertModelToCo(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsActivTanev);
|
||||
co.LekerdezesNapja = DateTime.Today;
|
||||
|
||||
GridParameters gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloItemCoList(co);
|
||||
|
||||
var modelList = new List<TanuloGridModel>();
|
||||
|
||||
foreach (var item in coList)
|
||||
{
|
||||
var gridModel = new TanuloGridModel(item);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
#region Tanuló mentés/módosítás/törlés
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue)]
|
||||
public HttpResponseMessage DeleteTanulo([FromBody] int tanuloId)
|
||||
{
|
||||
try
|
||||
{
|
||||
TanuloLogic.TanuloDelete(tanuloId);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var tanuloAdatCO = TanuloLogic.GetTanuloAdatCO(tanuloId);
|
||||
var entityName = BusinessLogic.Extensions.NameExtensions.GetNevSorrendben("F", tanuloAdatCO.Elotag, tanuloAdatCO.CsaladiNev, tanuloAdatCO.UtoNev);
|
||||
var uzenet = string.Format(ErrorResource.TanuloNemTorolhetoKapcsolatMiatt, entityName, ex.ConnectionErrorMessage);
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.IsLEPKezelo.ClaimValue)]
|
||||
public HttpResponseMessage DeleteJogviszonySzuneteltetes(JogviszonySzuneteltetesDeleteModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (model.IsJogviszonySzuneteltetese && model.GridCnt == 1)
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.JogviszonySzunetLegalabbEgyIdoszakKotelezo);
|
||||
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.DeleteJogviszonySzuneteltetes(model.Id.Value);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveJogviszonySzuneteltetes(JogviszonySzuneteltetesModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (model.JogviszonySzuneteltetesKezdete.Value > model.JogviszonySzuneteltetesVege.Value)
|
||||
ModelState.AddModelError("JogviszonySzuneteltetes1", ErrorResource.JogviszonySzuneteltetes);
|
||||
|
||||
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevData = tanevHelper.GetTanevInfo();
|
||||
|
||||
if (model.JogviszonySzuneteltetesKezdete.Value < tanevData.KezdoNap)
|
||||
ModelState.AddModelError("JogviszonySzuneteltetes2", ErrorResource.JogviszonySzuneteltetesKezdeteTanevben);
|
||||
|
||||
if (model.JogviszonySzuneteltetesVege.Value > tanevData.UtolsoNap)
|
||||
ModelState.AddModelError("JogviszonySzuneteltetes3", ErrorResource.JogviszonySzuneteltetesVegeTanevben);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.SaveJogviszonySzuneteltetes(model.TanuloId.Value, model.OsztalyId, model.JogviszonySzuneteltetesKezdete.Value, model.JogviszonySzuneteltetesVege.Value, ClaimData.KovTanevID);
|
||||
return Request.CreateResponse(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue)]
|
||||
public IHttpActionResult DeleteSelectedTanulo(List<int> idList)
|
||||
{
|
||||
return Json(new { Message = TanuloLogic.DeleteSelectedTanulo(idList) });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTanulo(TanuloModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var felhasznaloiNevGeneralasModja = TanuloLogic.GetFelhasznaloiNevGeneralasModja(model);
|
||||
TanuloLogic.TanuloCustomValidation(ModelState, model, felhasznaloiNevGeneralasModja, OktNevelesiKategoriaEnum.Kollegium);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var response = TanuloLogic.TanuloMentese(model, felhasznaloiNevGeneralasModja);
|
||||
return Request.CreateResponse(HttpStatusCode.OK, response);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
catch (Check4TValidacioExistsException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznaloiAdatokkalMarLetezikFelhasznalo);
|
||||
}
|
||||
}
|
||||
|
||||
public HttpResponseMessage SaveData(TanuloTobbesModModel model)
|
||||
{
|
||||
TanuloLogic.TanuloTobbesModCustomValidation(ModelState, model);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
return TanuloLogic.SaveData(ClaimData.SelectedTanevID.Value, model);
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
public HttpResponseMessage PreValidation(TanuloTobbesModModel model)
|
||||
{
|
||||
TanuloLogic.TanuloTobbesModCustomValidation(ModelState, model);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
string warningMessage = TanuloLogic.ValidateOnSaveData(model);
|
||||
if (!string.IsNullOrWhiteSpace(warningMessage))
|
||||
{
|
||||
return Request.CreateResponse(HttpStatusCode.BadRequest, warningMessage);
|
||||
}
|
||||
|
||||
return TanuloLogic.SaveData(ClaimData.SelectedTanevID.Value, model);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
#endregion Tanuló mentés/módosítás/törlés
|
||||
|
||||
#region Generálás
|
||||
|
||||
public HttpResponseMessage JelszoGeneralas(int userId, bool isGondviselo)
|
||||
{
|
||||
var result = TanuloLogic.JelszoGeneralas(userId, isGondviselo);
|
||||
return Request.CreateResponse(HttpStatusCode.OK, result);
|
||||
}
|
||||
|
||||
public System.Web.Mvc.JsonResult FelhasznalonevGeneralas([FromBody] FelhasznalonevGeneralasModel felhasznalonevGeneralasModel)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = new System.Web.Mvc.JsonResult { Data = TanuloLogic.FelhasznalonevGeneralas(felhasznalonevGeneralasModel) };
|
||||
return result;
|
||||
}
|
||||
|
||||
catch (UniqueKeyViolationException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznalonevMarLetezik);
|
||||
}
|
||||
catch (UserNameExistsException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottFelhasznalonevMarLetezik);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Tanuló elérhetőség mentés/módosítás/törlés
|
||||
|
||||
public CimElerhetosegModel GetTanuloElerhetosegTel(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloElerhetosegTelById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegTel(CimElerhetosegModel model)
|
||||
{
|
||||
Kreta.Web.Classes.Utils.TelefonSzamValidation(ModelState, model.Telefon, model.TelefonTipus, TelefonszamTulajdonosEnum.Tanulo);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToTanuloElerhetosegTelCO(model);
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloElerhetosegTelMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElerhetosegTel([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloElerhetosegTelTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Telefonszam, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
public CimElerhetosegModel GetTanuloElerhetosegEmail(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloElerhetosegEmailById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegEmail(CimElerhetosegModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToTanuloElerhetosegEmailCO(model);
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloElerhetosegEmailMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElerhetosegEmail([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloElerhetosegEmailTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.EmailCim, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
public CimElerhetosegModel GetTanuloElerhetosegCim(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloGondviseloCimById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegCim(CimElerhetosegModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElerhetosegCim([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloGondviseloCimTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Cim, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Tanuló elérhetőség mentés/módosítás/törlés
|
||||
|
||||
#region Közösségi szolgálat mentés/módosítás/törlés
|
||||
|
||||
public TanuloKozszolgModel GetTanuloKozSzolg(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetKozossegiSzolgalatbyId(id);
|
||||
return TanuloKozszolgModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveKozszolg(TanuloKozszolgModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).KozossegiSzolgalatMentese(TanuloKozszolgModel.ConvertModelToCo(model));
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteKozszolg([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.KozossegiSzolgalatTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.KozossegiSzolgalat, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Közösségi szolgálat mentés/módosítás/törlés
|
||||
|
||||
#region Gondviselő mentés/módosítás/törlés
|
||||
|
||||
public TanuloModGondviseloModel GetTanuloGondviselo(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloGondviseloById(id);
|
||||
return TanuloModGondviseloModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviselo(TanuloModGondviseloModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
TanuloLogic.TanuloGondviseloSaveValidation(ModelState, model);
|
||||
if (!ModelState.IsValid)
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
|
||||
var co = TanuloModGondviseloModel.ConvertModelToCo(model);
|
||||
var belepesList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).TanuloGondviseloMentese(co, ClaimData.IsSzirIntezmeny, ClaimData.KovTanevID);
|
||||
var fileString = TanuloLogic.GondviseloFileGenerate(model.FileLetoltesSzukseges, belepesList);
|
||||
|
||||
var response = new { EmailErrors = belepesList.EmailErrors, FileString = fileString };
|
||||
return Request.CreateResponse(HttpStatusCode.OK, response);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message) { UnHandledException = ex.InnerException };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteGondviselo([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
return TanuloLogic.DeleteTanulogondviselo(id);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Gondviselo, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Gondviselő mentés/módosítás/törlés
|
||||
|
||||
#region Gondviselő elérhetőség mentés/módosítás/törlés
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public CimElerhetosegModel GetGondviseloElerhetosegCim(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloGondviseloCimById(id);
|
||||
return CimElerhetosegModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviseloCim(CimElerhetosegModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var customModelState = TanuloLogic.CheckGondviseloCimCustomValidation(ModelState, model);
|
||||
if (model.TanulovalEgyezik)
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
|
||||
helper.TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
if (customModelState.IsValid)
|
||||
{
|
||||
var co = CimElerhetosegModel.ConvertModelToElerhetosegCimCO(model);
|
||||
helper.TanuloGondviseloCimMentese(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteGondviseloCim([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloGondviseloCimTorlese(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Cim, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Gondviselő elérhetőség mentés/módosítás/törlés
|
||||
|
||||
#region Felmentés mentés/módosítás/törlés
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveFelmentes(TanuloFelmentesModel model)
|
||||
{
|
||||
TanuloLogic.TanuloFelmentesCustomValidation(ModelState, model);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var co = TanuloFelmentesModel.ConvertModelToCo(model);
|
||||
|
||||
if (co.IsKorabbiMulasztasokEllenorzese && co.Kezdete.Value < DateTime.Now && co.OraMentesites)
|
||||
{
|
||||
var mulasztasDataSet = helper.CheckModosuloKorabbiMulasztasok(co);
|
||||
|
||||
if (mulasztasDataSet.Tables[0].Rows.Count != 0)
|
||||
{
|
||||
return Request.CreateResponse(HttpStatusCode.OK, mulasztasDataSet.ToDataSourceResult(), Configuration.Formatters.JsonFormatter);
|
||||
}
|
||||
}
|
||||
|
||||
if (model.ID == 0)
|
||||
{
|
||||
foreach (var item in model.TantargyIdList)
|
||||
{
|
||||
co.TantargyId = int.Parse(item);
|
||||
helper.TanuloFelmentesMentese(co, ClaimData.KovTanevID);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
helper.TanuloFelmentesMentese(co, ClaimData.KovTanevID);
|
||||
}
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
var error = new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public TanuloFelmentesModel GetFelmentes(int id)
|
||||
{
|
||||
var co = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloFelmentesById(id);
|
||||
return TanuloFelmentesModel.ConvertCoToModel(co);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteFelmentes([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloFelmentesTorles(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloResource.Felmentes, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Felmentés mentés/módosítás/törlés
|
||||
|
||||
#region GridHelpers
|
||||
public DataSourceResult GetOsztalyCsoportGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloDetailModel>(data);
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetOsztalyCsoport(model.TanuloId, (int)OktNevelesiKategoriaEnum.Kollegium, !model.MegNemAktivOsztalyok);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanultTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetTanultTantargyak(tanuloId.Value, (int)OktNevelesiKategoriaEnum.Kollegium).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanarokTantargyakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetTanarokTantargyak(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviselok(int.Parse(id), true);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviseloCimek(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetGondviselokCimDetailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviseloCimekByGondviselo(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetOrarendiOrakGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetOrarendiOrak(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetErtekelesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetErtekelesek(int.Parse(id), (int)OktNevelesiKategoriaEnum.Kollegium);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetMulasztasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetMulasztasok(int.Parse(id), (int)OktNevelesiKategoriaEnum.Kollegium);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetIgazolasokGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetIgazolasok(tanuloId.Value, null).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetFeljegyzesekHaviGrid(string id, string osztalycsoportId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
var osztalyId = SDAConvert.ToNullableInt32(osztalycsoportId);
|
||||
DataSourceResult result = tanuloId.IsEntityId() && osztalyId.IsEntityId()
|
||||
? helper.GetFeljegyzesekHavi(tanuloId.Value, osztalyId.Value).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetElozmenyekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetElozmenyek(int.Parse(id), null);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegCimGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetCim(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegTelGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetTelefonSzam(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetFelmentesekGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetTanulokFelmentesei(new List<int> { tanuloId.Value }).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegEmailGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetEmails(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetKozossegiSzolgalatGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetKozossegiSzolgalat(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetGondviseloUtolsoBelepesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetGondviseloUtolsoBelepes(int.Parse(id));
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue)]
|
||||
public DataSourceResult GetJogviszonySzuneteltetesGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var tanuloId = SDAConvert.ToNullableInt32(id);
|
||||
|
||||
DataSourceResult result = tanuloId.IsEntityId()
|
||||
? helper.GetJogviszonySzuneteltetes(tanuloId.Value, (int)OktNevelesiKategoriaEnum.Kollegium).ToDataSourceResult()
|
||||
: new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public DataSourceResult GetJogviszonyGrid(string id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var co = helper.GetJogviszony(int.Parse(id));
|
||||
|
||||
return co.ToDataSourceResult(Converter.GridParameter(request));
|
||||
}
|
||||
|
||||
#endregion GridHelpers
|
||||
|
||||
#region Export
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue)]
|
||||
public JsonResult<List<ExportColumn>> GetExportColumnsTanulokLakcimmel()
|
||||
{
|
||||
return Json(TanuloLogic.GetColumnsTanulokLakcimmel());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue)]
|
||||
public JsonResult<List<ExportColumn>> GetExportColumns()
|
||||
{
|
||||
return Json(TanuloLogic.GetColumnsforExport());
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.KollegiumModul.ClaimValue)]
|
||||
public DataSourceResult GetTanuloExportGrid(string searchFilter, string sortColumn, string sortDir)
|
||||
{
|
||||
return TanuloLogic.GetDataSetTanuloExport(searchFilter, sortColumn, sortDir).ToDataSourceResult();
|
||||
}
|
||||
|
||||
#endregion Export
|
||||
|
||||
[HttpGet]
|
||||
public JsonResult<bool> HasGondviseloAlapertelmezettCim(int gondviseloId)
|
||||
{
|
||||
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var letezikGondviseloAlapertelmezettCim = tanuloHelper.HasGondviseloAlapertelmezettCim(gondviseloId);
|
||||
return Json(letezikGondviseloAlapertelmezettCim);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
using System.Web.Http;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Web.Areas.Tanulo.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue)]
|
||||
public class OsztalyTanuloiAdatokApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetTanuloiAlapadatokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloiAdatokModel>(data);
|
||||
var tanuloId = model?.TanuloId;
|
||||
var osztalyCsoportId = model?.OsztalyCsoportId;
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSourceResult result = tanuloId.IsEntityId() ?
|
||||
helper.GetTanuloiAlapadatokGrid(tanuloId.Value, osztalyCsoportId.Value).ToDataSourceResult() :
|
||||
new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloiTanugyiadatokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloiAdatokModel>(data);
|
||||
var tanuloId = model?.TanuloId;
|
||||
var osztalyCsoportId = model?.OsztalyCsoportId;
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSourceResult result = tanuloId.IsEntityId() ?
|
||||
helper.GetTanuloiTanugyiadatokGrid(tanuloId.Value, osztalyCsoportId.Value).ToDataSourceResult() :
|
||||
new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloiEgyebAdatokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloiAdatokModel>(data);
|
||||
var tanuloId = model?.TanuloId;
|
||||
var osztalyCsoportId = model?.OsztalyCsoportId;
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSourceResult result = tanuloId.IsEntityId() ?
|
||||
helper.GetTanuloiEgyebAdatokGrid(tanuloId.Value, osztalyCsoportId).ToDataSourceResult() :
|
||||
new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloiGondviseloAdatokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloiAdatokModel>(data);
|
||||
var tanuloId = model?.TanuloId;
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSourceResult result = tanuloId.IsEntityId() ?
|
||||
helper.GetTanuloiGondviseloAdatokGrid(tanuloId.Value).ToDataSourceResult() :
|
||||
new DataSourceResult();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
using System.Data;
|
||||
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.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.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.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue)]
|
||||
public class OsztalyTanuloiApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetOsztalyTanuloiGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<OsztalyTanuloiSearchModel>(data);
|
||||
|
||||
if (!model.OsztalyCsoport.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztaly(model.OsztalyCsoport.Value))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
bool? tankozelezett = null;
|
||||
if (model.Tankotelezett.HasValue)
|
||||
{
|
||||
tankozelezett = model.Tankotelezett.Value == 1;
|
||||
}
|
||||
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
DataSet tanulok = helper.GetTanuloDataSetByOsztalyCsoportId(
|
||||
model.OsztalyCsoport.Value,
|
||||
model.FeladatKategoriaId,
|
||||
model.Nev,
|
||||
model.AnyjaSzuletesiNev,
|
||||
model.SzuletesiHely,
|
||||
model.SzuletesiIdoTol,
|
||||
model.SzuletesiIdoIg,
|
||||
model.OktatasiAzonosito,
|
||||
tankozelezett,
|
||||
model.Tanterv,
|
||||
model.FeladatEllatasiHelyId);
|
||||
|
||||
return tanulok.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Http;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Tanulo.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue)]
|
||||
public class OsztalyTanuloiGondviselokApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetOsztalyTanuloiGondviselokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<OsztalyTanuloiGondviselokSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyTanuloiGondviselokCoList(model.ConvertToCo(), ClaimData.IsSzuperOsztalyfonok, ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Evfolyamfelelos.ClaimValue));
|
||||
|
||||
var modelList = new List<OsztalyokTanuloiGondviselokGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new OsztalyokTanuloiGondviselokGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,282 @@
|
|||
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.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.KGR;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.Helper;
|
||||
using Kreta.Web.Areas.Tanulo.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.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class SzakkepzesiJuttatasokApiController : ApiController
|
||||
{
|
||||
private readonly IKGRClient kgrClient;
|
||||
|
||||
public SzakkepzesiJuttatasokApiController(IKGRClient kgrClient)
|
||||
{
|
||||
this.kgrClient = kgrClient ?? throw new ArgumentNullException(nameof(kgrClient));
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloSzakkepzesiOsztondijGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetTanuloSzakkepzesiOsztondijGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanuloSzakkepzesiOsztondijGridModel> modelList) GetTanuloSzakkepzesiOsztondijGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloSzakkepzesiOsztondijSearchModel>(data);
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var keresesCo = model.ConvertModelToCo();
|
||||
keresesCo.FeladatKategoriaId = OktNevelesiKategoriaEnum.NevelesOktatas.AsInt();
|
||||
keresesCo.LekerdezesNapja = DateTime.Today;
|
||||
|
||||
var coList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSzakkepzesiOsztondijCoList(keresesCo);
|
||||
|
||||
var modelList = new List<TanuloSzakkepzesiOsztondijGridModel>();
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new TanuloSzakkepzesiOsztondijGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloEgyszeriPalyakezdesiGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetEgyszeriPalyakezdesiJuttatasGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetSzakkepzesiOsztondijExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetTanuloSzakkepzesiOsztondijGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloSzakkepzesiOsztondijGridModel>(TanuloSzakkepzesiOsztondijGridModel.SzakkepzesiOsztondijExportAttributeId);
|
||||
|
||||
var memoryStream = SzakkepzesiJuttatasokLogic.GetSzakkepzesiOszetondijExport(SzakkepzesiJuttatasokResource.ExportSzakkepzesiOsztondijSheetName, simpleExportColumnCos, modelList);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{SzakkepzesiJuttatasokResource.ExportTanuloSzakkepzesiOsztondijFilename}{DateTime.Now:yyyy_MM_dd_HHmm}{SzakkepzesiJuttatasokResource.ExportTanuloFileExtension}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetEgyszeriPalyakezdesiJuttatasExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetEgyszeriPalyakezdesiJuttatasGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloEgyszeriPalyakezdesiJuttatasGridModel>(TanuloSzakkepzesiOsztondijGridModel.EgyszeriPalyakezdesiJuttatasExportAttributeId);
|
||||
|
||||
var memoryStream = SzakkepzesiJuttatasokLogic.GetEgyszeriPalyakezdesiJuttatasExport(SzakkepzesiJuttatasokResource.ExportEgyszeriPalyakezdesiJuttatasSheetName, simpleExportColumnCos, modelList);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{SzakkepzesiJuttatasokResource.ExportTanuloEgyszeriPalyakezdesiJutattasFilename}{DateTime.Now:yyyy_MM_dd_HHmm}{SzakkepzesiJuttatasokResource.ExportTanuloFileExtension}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanuloEgyszeriPalyakezdesiJuttatasGridModel> modelList) GetEgyszeriPalyakezdesiJuttatasGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloEgyszeriPalyakezdesiJuttatasSearchModel>(data);
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var keresesCo = model.ConvertModelToCo();
|
||||
keresesCo.FeladatKategoriaId = OktNevelesiKategoriaEnum.NevelesOktatas.AsInt();
|
||||
keresesCo.LekerdezesNapja = DateTime.Today;
|
||||
|
||||
var coList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEgyszeriPalyakezdesiJuttatasCoList(keresesCo);
|
||||
|
||||
var modelList = new List<TanuloEgyszeriPalyakezdesiJuttatasGridModel>();
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new TanuloEgyszeriPalyakezdesiJuttatasGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloApaczaiIgenylesekGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetApaczaiIgenylesekGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetApaczaiIgenylesekExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetApaczaiIgenylesekGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloApaczaiOsztondijIgenylesekGridModel>(TanuloApaczaiOsztondijBaseGridModel.ApaczaiIgenylesekExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(SzakkepzesiJuttatasokResource.ExportApaczaiIgenylesekSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{SzakkepzesiJuttatasokResource.ExportApaczaiIgenylesekFilename}{DateTime.Now:yyyy_MM_dd_HHmm}{SzakkepzesiJuttatasokResource.ExportTanuloFileExtension}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanuloApaczaiOsztondijIgenylesekGridModel> modelList) GetApaczaiIgenylesekGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloApaczaiOsztondijIgenylesekSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIgenylesekCoList(kgrClient, model.ConvertToCo(), ClaimData.IntezmenyGuid.Value);
|
||||
|
||||
var modelList = new List<TanuloApaczaiOsztondijIgenylesekGridModel>();
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new TanuloApaczaiOsztondijIgenylesekGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloApaczaiTanuloiListaGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetApaczaiTanuloiListaGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetApaczaiTanuloiListaExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetApaczaiTanuloiListaGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloApaczaiOsztondijTanuloiListaGridModel>(TanuloApaczaiOsztondijBaseGridModel.ApaczaiTanuloiListaExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(SzakkepzesiJuttatasokResource.ExportApaczaiTanuloiListaSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{SzakkepzesiJuttatasokResource.ExportApaczaiTanuloiListaFilename}{DateTime.Now:yyyy_MM_dd_HHmm}{SzakkepzesiJuttatasokResource.ExportTanuloFileExtension}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanuloApaczaiOsztondijTanuloiListaGridModel> modelList) GetApaczaiTanuloiListaGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloApaczaiOsztondijTanuloiListaSearchModel>(data);
|
||||
|
||||
var keresesCo = model.ConvertModelToCo();
|
||||
keresesCo.FeladatKategoriaId = OktNevelesiKategoriaEnum.NevelesOktatas.AsInt();
|
||||
keresesCo.LekerdezesNapja = DateTime.Today;
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloiListaCoList(kgrClient, keresesCo, ClaimData.IntezmenyGuid.Value);
|
||||
|
||||
var modelList = new List<TanuloApaczaiOsztondijTanuloiListaGridModel>();
|
||||
modelList.AddRange(coList.Select(co => new TanuloApaczaiOsztondijTanuloiListaGridModel(co)));
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
[ApiRolePackageDenyAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public DataSourceResult GetTanuloApaczaiKifizetesekGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetApaczaiKifizetesekGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
[ApiRolePackageDenyAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public HttpResponseMessage GetApaczaiKifizetesekExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetApaczaiKifizetesekGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloApaczaiOsztondijKifizetesekGridModel>(TanuloApaczaiOsztondijBaseGridModel.ApaczaiKifizetesekExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(SzakkepzesiJuttatasokResource.ExportApaczaiKifizetésekSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{SzakkepzesiJuttatasokResource.ExportApaczaiKifizetesekFilename}{DateTime.Now:yyyy_MM_dd_HHmm}{SzakkepzesiJuttatasokResource.ExportTanuloFileExtension}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanuloApaczaiOsztondijKifizetesekGridModel> modelList) GetApaczaiKifizetesekGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloApaczaiOsztondijKifizetesekSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetKifizetesekCoList(kgrClient, model.ConvertToCo());
|
||||
|
||||
var modelList = new List<TanuloApaczaiOsztondijKifizetesekGridModel>();
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new TanuloApaczaiOsztondijKifizetesekGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
using System.Data;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Tanulo.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public class TanarNemTanitottTanulokApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetTanarNemTanitottTanulokGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanarNemTanitottTanulokSearchModel>(data);
|
||||
|
||||
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet ds = helper.GetTanarNemTanitottTanulok(model.OsztalyCsoportID.HasValue ? model.OsztalyCsoportID : null);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
using System.Data;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Tanulo.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public class TanarTanitottTanulokApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetTanarTanitottTanulokGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanarTanitottTanulokSearchModel>(data);
|
||||
|
||||
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet ds = helper.GetTanarTanulok(
|
||||
model.Foglalkozas,
|
||||
model.FoglalkozasTipus,
|
||||
model.CsakBukasraAllok ?? false,
|
||||
model.FeladatKategoriaId
|
||||
);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,134 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.KGR;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Tanulo.ClaimValue)]
|
||||
public class TanuloApaczaiApiController : ApiController
|
||||
{
|
||||
private readonly IKGRClient _kgrClient;
|
||||
private readonly IKretaAuthorization _authorization;
|
||||
|
||||
public TanuloApaczaiApiController(IKGRClient kgrClient, IKretaAuthorization authorization)
|
||||
{
|
||||
_kgrClient = kgrClient ?? throw new ArgumentNullException(nameof(kgrClient));
|
||||
_authorization = authorization ?? throw new ArgumentNullException(nameof(authorization));
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public HttpResponseMessage CreatePalyazat(TanuloApaczaiPalyazatBenyujtasContentModel model)
|
||||
{
|
||||
if (!_authorization.IsValidTanuloApaczai() && DateTime.Now > Core.Constants.ApaczaiVegeDatum)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
|
||||
}
|
||||
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var intezmenyHelper = new IntezmenyHelper(connectionType);
|
||||
var intezmenyAdatok = intezmenyHelper.GetIntezmenyiAdatok();
|
||||
var co = model.ConvertToCo();
|
||||
co.FenntartoAzonosito = intezmenyAdatok.FenntartoAzonosito;
|
||||
co.FenntartoNev = "-";
|
||||
co.IntezmenyEgyediAzonosito = intezmenyAdatok.IntezmenyGuid;
|
||||
co.IntezmenyNev = intezmenyAdatok.Nev;
|
||||
co.IntezmenyAzonosito = intezmenyAdatok.IntezmenyAzonosito;
|
||||
co.IdpEgyediAzonosito = ClaimData.FelhasznaloIdpEgyediAzonosito;
|
||||
co.ModositoId = ClaimData.FelhasznaloId;
|
||||
co.ModositoNev = ClaimData.FelhasznaloNev;
|
||||
if (model.AtlagokModel.PalyazatStatusz == ApaczaiPalyazatStatuszEnum.AdategyeztetesreVisszakuldve || model.AtlagokModel.PalyazatStatusz == ApaczaiPalyazatStatuszEnum.FelulvizsgalatrolAdategyeztetesreVisszakuldve)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloApaczaiHelper(connectionType);
|
||||
var kgrRequestModel = helper.GetApaczaiPalyazatFelvetelRequest(co, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater);
|
||||
if (!helper.ValidateTanuloMentor(kgrRequestModel))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.PalyazatbenyujtasTiltottMentorAdatHiany);
|
||||
}
|
||||
if (helper.PalyazatAdategyeztetes(_kgrClient, kgrRequestModel))
|
||||
{
|
||||
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
|
||||
}
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.SikertelenApaczaiPalyazatBenyujtas);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, $"{ErrorResource.SikertelenApaczaiPalyazatBenyujtas} ({ex.Message})");
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new TanuloApaczaiHelper(connectionType);
|
||||
var kgrRequestModel = helper.GetApaczaiPalyazatFelvetelRequest(co, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater);
|
||||
if(!helper.ValidateTanuloMentor(kgrRequestModel))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.PalyazatbenyujtasTiltottMentorAdatHiany);
|
||||
}
|
||||
if (helper.CreatePalyazat(_kgrClient, kgrRequestModel))
|
||||
{
|
||||
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
|
||||
}
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.SikertelenApaczaiPalyazatBenyujtas);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, $"{ErrorResource.SikertelenApaczaiPalyazatBenyujtas} ({ex.Message})");
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public HttpResponseMessage GetPalyazatVisszavonas()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetPalyazatVisszavonas(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito))
|
||||
{
|
||||
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
|
||||
}
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.SikertelenApaczaiPalyazatVisszavonas);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (ex.Data["ApaczaiHiba"] != null)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, null) { Json = ex.Data["ApaczaiHiba"], };
|
||||
}
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message, ex);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public HttpResponseMessage Fellebbezes([FromBody] string indoklas)
|
||||
{
|
||||
if (indoklas.Length > Core.Constants.MinMaxValues.MaxApaczaiFellebbezesSzovegHossz)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(ErrorResource.ApaczaiFellebezesSzovegMaximalisHossz, Core.Constants.MinMaxValues.MaxApaczaiFellebbezesSzovegHossz));
|
||||
}
|
||||
try
|
||||
{
|
||||
if (new TanuloApaczaiHelper(ConnectionTypeExtensions.GetSessionConnectionType()).Fellebbezes(_kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito, indoklas))
|
||||
{
|
||||
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
|
||||
}
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.SikertelenApaczaiPalyazatFellebbezesBenyujtas);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, $"{ErrorResource.SikertelenApaczaiPalyazatFellebbezesBenyujtas}{(!string.IsNullOrWhiteSpace(ex.Message) ? $" ({ex.Message})" : string.Empty)}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1046
KretaWeb/Areas/Tanulo/ApiControllers/TanuloApiController.cs
Normal file
1046
KretaWeb/Areas/Tanulo/ApiControllers/TanuloApiController.cs
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,123 @@
|
|||
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.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.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.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue,
|
||||
KretaClaimPackages.Tanulo.ClaimValue,
|
||||
KretaClaimPackages.Gondviselo.ClaimValue)]
|
||||
public class TanuloBejelentettSzamonkeresekApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetBejelentettSzamonkeresekGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<BejelentettSzamonkeresekGridModel>(BejelentettSzamonkeresekGridModel.BejelentettSzamonkeresekExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(OrarendResource.BejelentettSzamonkeresekExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{OrarendResource.BejelentettSzamonkeresekExportFileName}_{DateTime.Now:yyyy_MM_dd}.xlsx");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<BejelentettSzamonkeresekGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<BejelentettSzamonkeresekSearchModel>(data);
|
||||
model.TanuloId = ClaimData.FelhasznaloId;
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new SzamonkeresElorejelzesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetBejelentettSzamonkeresekCoList(model.ConvertToCo());
|
||||
|
||||
var modelList = new List<BejelentettSzamonkeresekGridModel>();
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new BejelentettSzamonkeresekGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
public DataSourceResult GetBejelentettSzamonkeresekExportGrid(string searchFilter, string sortColumn, string sortDir)
|
||||
{
|
||||
BejelentettSzamonkeresekSearchModel model = JsonConvert.DeserializeObject<BejelentettSzamonkeresekSearchModel>(searchFilter);
|
||||
model.TanuloId = ClaimData.FelhasznaloId;
|
||||
|
||||
var helper = new SzamonkeresElorejelzesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var ds = helper.GetBejelentettSzamonkeresekGrid(model.ConvertToCo());
|
||||
ds.Tables[0].Columns.Add("SzamonkeresDatumaStr", typeof(string));
|
||||
ds.Tables[0].Columns.Add("BejelentesDatumaStr", typeof(string));
|
||||
|
||||
foreach (DataRow row in ds.Tables[0].Rows)
|
||||
{
|
||||
var dt = DateTime.Parse(row["SzamonkeresDatuma"].ToString());
|
||||
row["SzamonkeresDatumaStr"] = dt.ToString("yyyy.MM.dd.");
|
||||
var dt2 = DateTime.Parse(row["BejelentesDatuma"].ToString());
|
||||
row["BejelentesDatumaStr"] = dt2.ToString("yyyy.MM.dd.");
|
||||
}
|
||||
|
||||
if (sortColumn != "-" && sortDir != "-")
|
||||
{
|
||||
DataSet result = new DataSet();
|
||||
ds.Tables[0].DefaultView.Sort = (sortColumn).ToUpper() + " " + (sortDir).ToUpper();
|
||||
result.Tables.Add(ds.Tables[0].DefaultView.ToTable());
|
||||
return result.ToDataSourceResult();
|
||||
}
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public System.Web.Http.Results.JsonResult<List<ExportColumn>> GetExportColumns()
|
||||
{
|
||||
List<ExportColumn> Items = new List<ExportColumn>();
|
||||
|
||||
Items.Add(new ExportColumn() { Field = "SzamonkeresDatumaStr", Title = OrarendResource.Datum });
|
||||
Items.Add(new ExportColumn() { Field = "HetNapja_DNAME", Title = OrarendResource.HetNapja });
|
||||
Items.Add(new ExportColumn() { Field = "Oraszam", Title = OrarendResource.Oraszam });
|
||||
Items.Add(new ExportColumn() { Field = "TargyNev", Title = OrarendResource.Targy });
|
||||
Items.Add(new ExportColumn() { Field = "OsztalyNev", Title = OrarendResource.OsztalyCsoport });
|
||||
Items.Add(new ExportColumn() { Field = "TanarNev", Title = OrarendResource.Tanar });
|
||||
Items.Add(new ExportColumn() { Field = "ErtekelesModNev", Title = OrarendResource.SzamonkeresMod });
|
||||
Items.Add(new ExportColumn() { Field = "SzamonkeresMegnevezes", Title = OrarendResource.SzamonkeresMegnevezes });
|
||||
Items.Add(new ExportColumn() { Field = "BejelentesDatumaStr", Title = OrarendResource.BejelentesDatuma });
|
||||
|
||||
return Json(Items);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
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.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.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.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Tanulo.ClaimValue, KretaClaimPackages.Gondviselo.ClaimValue)]
|
||||
public class TanuloHaziFeladatApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetTanulotHaziFeladatGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloHaziFeladatSearchModel>(data);
|
||||
var co = model.ConvertModelToCo();
|
||||
|
||||
var helper = new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
var ds = helper.GetTanuloHaziFeladat(co, null, false, ClaimData.IsTanuloOrGondviselo);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetHazifeladatExportGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloHaziFeladatGridModel>(TanuloHaziFeladatGridModel.TanuloHaziFeladatExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(ImportExportCommonResource.HaziFeladatok, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{OrarendResource.HazifeladatExportFileName}_{DateTime.Now:yyyy_MM_dd}.{Constants.ImportExport.FileFormatXlsx}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanuloHaziFeladatGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloHaziFeladatSearchModel>(data);
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
var co = model.ConvertModelToCo();
|
||||
|
||||
var helper = new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var ds = helper.GetTanuloHaziFeladat(co, null, false, ClaimData.IsTanuloOrGondviselo);
|
||||
|
||||
var modelList = new List<TanuloHaziFeladatGridModel>();
|
||||
foreach (var row in ds.Tables[0].AsEnumerable())
|
||||
{
|
||||
var gridModel = new TanuloHaziFeladatGridModel(row);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
using System;
|
||||
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.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Tanulo.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.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class TanuloJogviszonyAdatokApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
public DataSourceResult GetJogviszonyAdatokGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] KretaGridDataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(request.data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<JogviszonyAdatokGridModel>(JogviszonyAdatokGridModel.TanulokJogviszonyaAdataiExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(TanuloResource.TanuloJogviszonyAdataiExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{TanuloResource.TanuloJogviszonyAdataiExportSheetName}_{DateTime.Now:yyyy_MM_dd}.{Constants.ImportExport.FileFormatXlsx}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<JogviszonyAdatokGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloJogviszonyAdatokSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloJogviszonyAdatokCoList(model.ConvertToCo());
|
||||
|
||||
var modelList = new List<JogviszonyAdatokGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new JogviszonyAdatokGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Tanulo.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.CsokkentettGondviselo.ClaimValue)]
|
||||
public class TanulotTanitoTanarokApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetTanulotTanitoTanarGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanarHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
var ds = helper.GetTanulotTanitoTanarok(ClaimData.FelhasznaloId);
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue