init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,187 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
public class BaseFeljegyzesekApiController : ApiController
|
||||
{
|
||||
[NonAction]
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request, string exportSheetName, string exportFileName, string exportAttributeId, bool isFaliujsag = false, SzervezetTipusEnum? szervezetTipus = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, isFaliujsag, szervezetTipus);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<FeljegyzesKeresoGridModel>(exportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(exportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), exportFileName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
public (GridParameters gridParameter, List<FeljegyzesKeresoGridModel> modelList) GetGridData(string data, DataSourceRequest request, bool isFaliujsag = false, SzervezetTipusEnum? szervezetTipus = null)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<FeljegyzesKeresoModel>(data);
|
||||
|
||||
if (szervezetTipus.HasValue)
|
||||
{
|
||||
model.SzervezetTipusId = (int)szervezetTipus;
|
||||
}
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var modelList = new List<FeljegyzesKeresoGridModel>();
|
||||
if (isFaliujsag)
|
||||
{
|
||||
var coList = new FeljegyzesekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFaliujsagFeljegyzesCoList(model.ToCo());
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new FeljegyzesKeresoGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var coList = new FeljegyzesekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFeljegyzesekCoList(model.ToCo());
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new FeljegyzesKeresoGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
public class DeleteElektronikusUzenetModel
|
||||
{
|
||||
public int FeljegyzesId { get; set; }
|
||||
|
||||
public int TanuloId { get; set; }
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteFeljegyzes([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.DeleteFeljegyzes(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, FeljegyzesekResource.Feljegyzes, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteElektronikusUzenet(DeleteElektronikusUzenetModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.DeleteElektronikusUzenetForTanulo(model.FeljegyzesId, model.TanuloId);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, FeljegyzesekResource.ElektronikusUzenet, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteOsztalyCsoport(List<FeljegyzesDeleteOsztalyCsoportModel> feljegyzesDeleteOsztalyCsoportList)
|
||||
{
|
||||
try
|
||||
{
|
||||
var feljegyzesHelper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var feljegyzesDeleteOsztalyCsoportCoList = new List<FeljegyzesDeleteOsztalyCsoportCO>();
|
||||
foreach (var deleteItem in feljegyzesDeleteOsztalyCsoportList)
|
||||
{
|
||||
feljegyzesDeleteOsztalyCsoportCoList.Add(new FeljegyzesDeleteOsztalyCsoportCO
|
||||
{
|
||||
FeljegyzesId = deleteItem.FeljegyzesId,
|
||||
OsztalyCsoportId = deleteItem.OsztalyCsoportId
|
||||
});
|
||||
}
|
||||
|
||||
feljegyzesHelper.DeleteOsztalyCsoport(feljegyzesDeleteOsztalyCsoportCoList);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(FeljegyzesekResource.NemTorolhetoKapcsolodasMiatt, FeljegyzesekResource.Feljegyzes, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
public static FeljegyzesModel ConvertFeljegyzesCoToModel(FeljegyzesekCO co)
|
||||
{
|
||||
var model = new FeljegyzesModel
|
||||
{
|
||||
Datum = co.Datum,
|
||||
TanuloId = co.TanuloId,
|
||||
TanuloNev = co.TanuloNev,
|
||||
OsztalyId = co.OsztalyId,
|
||||
OsztalyNev = co.OsztalyNev,
|
||||
FeljegyzoId = co.TanarId,
|
||||
FeljegyzoNev = co.TanarNev,
|
||||
Tipus = co.Tipus,
|
||||
Megjegyzes = co.Megjegyzes,
|
||||
Tartalom = co.Tartalom,
|
||||
Cim = co.Cim,
|
||||
FeljegyzesRogzitesenekDatuma = co.FeljegyzesRogzitesenekDatuma,
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetFeljegyzesTipusList()
|
||||
{
|
||||
var items = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EsemenyTipus, ClaimData.SelectedTanevID.Value);
|
||||
var result = items.ToComboBoxItemList(new List<string>
|
||||
{
|
||||
((int)EsemenyTipusEnum.ElektronikusUzenet).ToString(),
|
||||
((int)EsemenyTipusEnum.FaliujsagBejegyzes).ToString()
|
||||
});
|
||||
return Json(result);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,135 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic.TanuloErtekeles;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
public abstract class BaseTanuloErtekelesApiController : ApiController
|
||||
{
|
||||
|
||||
protected DataSet GetDetailGridDataBase(int tanuloId, int? tantargyId, bool showToroltElemek, DateTime? datum, int ertekelesMegjelenesFajtaEnumId, int? feladatKategoriaId = null, int? oktatasiNevelesiFeladatId = null, bool isTanuloView = false, GridParameters gridParameters = null, bool isFromSzervezet = false)
|
||||
{
|
||||
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = gridParameters
|
||||
};
|
||||
DataSet dataSet = helper.GetTanuloErtekelesDataSetForDetailGrid(
|
||||
tanuloId,
|
||||
tantargyId,
|
||||
showToroltElemek,
|
||||
isTanuloView,
|
||||
ClaimData.FelhasznaloId,
|
||||
ertekelesMegjelenesFajtaEnumId,
|
||||
datum,
|
||||
feladatKategoriaId,
|
||||
oktatasiNevelesiFeladatId,
|
||||
isFromSzervezet
|
||||
);
|
||||
|
||||
return dataSet;
|
||||
}
|
||||
|
||||
protected HttpResponseMessage SaveTanuloErtekelesList(HttpRequestMessage request, List<TanuloErtekelesCo> tanuloErtekelesCoList, int? szervezetTipusId = null)
|
||||
{
|
||||
var validator = new TanuloErtekelesValidacioWeb(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
validator.Validate(tanuloErtekelesCoList);
|
||||
|
||||
ModelState.AddRange(new Dictionary<string, List<string>> { { "Error", validator.ErrorMessageList } });
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.SaveTanuloErtekelesList(ClaimData.FelhasznaloId, tanuloErtekelesCoList, szervezetTipusId);
|
||||
}
|
||||
catch (KretaError ke)
|
||||
{
|
||||
SDAServer.Instance.Logger.ExceptionThrown(ke);
|
||||
ModelState.AddModelError("Error", ke.Message);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
}
|
||||
|
||||
return request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
public HttpResponseMessage DeleteTanuloErtekeles(int id, bool isValid, int? szervezetTipusId = null)
|
||||
{
|
||||
if (!isValid)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var naplozarasLogic = new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var ertekelesCo = helper.GetTanuloErtekelesCoById(id);
|
||||
if (ertekelesCo.OsztalyCsoportId.HasValue && naplozarasLogic.GetLezartOsztalyokEsBontottCsoportjaik().Contains(ertekelesCo.OsztalyCsoportId.Value))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, TanuloErtekelesResource.AKivalasztottOsztalyNaplojaLezartNemTorolhetErtekelestAzOsztalyTanuloinaknak);
|
||||
}
|
||||
|
||||
helper.DeleteTanuloErtekelesById(id, szervezetTipusId);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(StringResourcesUtil.GetString(5490), StringResourcesUtil.GetString(168)) /*A(z) Értékelés nem törölhető, mert egy vagy több kapcsolódása van (kapcsolatok: {1})!*/);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.InternalServerError, StringResourcesUtil.GetString(4358) /*Hiba történt törlés közben!*/)
|
||||
{
|
||||
UnHandledException = e
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
protected bool IsTanitasiNap(DateTime date, int? osztalycsoportId)
|
||||
{
|
||||
DateTime sqlMinDate = SqlDateTime.MinValue.Value.Date;
|
||||
DateTime sqlMaxDate = SqlDateTime.MaxValue.Value.Date;
|
||||
if (date < sqlMinDate || date > sqlMaxDate)
|
||||
{
|
||||
throw new OverflowException(string.Format(ErrorResource.ADatumNemLehetKisebbMintVagyNagyobbMint, sqlMinDate.ToShortDateString(), sqlMaxDate.ToShortDateString()));
|
||||
}
|
||||
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var osztalyTanevrendjei = helper.GetOsztalycsoportTanevrendje(date, osztalycsoportId ?? 0);
|
||||
if (osztalyTanevrendjei.Any(x => x.Naptipus == (int)NapTipusEnum.vizsganap))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool result = helper.IsTanitasiNap(date, osztalycsoportId);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,141 @@
|
|||
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.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
public class BaseTanuloErtekelesKeresoApiController : ApiController
|
||||
{
|
||||
[NonAction]
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request, SzervezetTipusEnum? szervezetTipus = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, szervezetTipus);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloErtekelesListGridModel>(TanuloErtekelesListGridModel.TanuloErtekelesExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(TanuloErtekelesResource.TanulokJegyeiExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), TanuloErtekelesResource.TanulokJegyeiExportFileName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
public (GridParameters gridParameter, List<TanuloErtekelesListGridModel> modelList) GetGridData(string data, DataSourceRequest request, SzervezetTipusEnum? szervezetTipus = null)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloErtekelesListModel>(data);
|
||||
|
||||
if (szervezetTipus.HasValue)
|
||||
{
|
||||
model.SzervezetTipusIdSearch = (int)szervezetTipus;
|
||||
}
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var dataSet = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloErtekelesListGridDataSet(model.ToCo(), utolagosOsztalyszures: true);
|
||||
|
||||
var kapcsolodoOsztalyCsoportList = new List<int>();
|
||||
if (model.OsztalyCsoportIdSearch.HasValue && model.KellKapcsolodoCsoportokSearch)
|
||||
{
|
||||
kapcsolodoOsztalyCsoportList = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).ListOsztalyCsoportokKapcsolodoOsztalyCsoportjai(new List<int> { model.OsztalyCsoportIdSearch.Value }).ToList();
|
||||
}
|
||||
else if (model.OsztalyCsoportIdSearch.HasValue)
|
||||
{
|
||||
kapcsolodoOsztalyCsoportList.Add(model.OsztalyCsoportIdSearch.Value);
|
||||
}
|
||||
|
||||
var modelList = new List<TanuloErtekelesListGridModel>();
|
||||
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
||||
{
|
||||
var gridModel = new TanuloErtekelesListGridModel
|
||||
{
|
||||
ID = SDAConvert.ToString(dataRow["ID"]),
|
||||
TanuloNev = SDAConvert.ToString(dataRow["TanuloNev"]),
|
||||
TanuloNevElotagNelkul = SDAConvert.ToString(dataRow["TanuloNevElotagNelkul"]),
|
||||
Datum = SDAConvert.ToDateTime(dataRow["Datum"]).Value,
|
||||
RogzitesDatum = SDAConvert.ToDateTime(dataRow["RogzitesDatum"]).Value,
|
||||
ErtekeloNyomtatasiNev = SDAConvert.ToString(dataRow["ErtekeloNyomtatasiNev"]) ?? string.Empty,
|
||||
ErtekeloNyomtatasiNevElotagNelkul = SDAConvert.ToString(dataRow["ErtekeloNyomtatasiNevElotagNelkul"]) ?? string.Empty,
|
||||
OsztalyCsoportNev = SDAConvert.ToString(dataRow["OsztalyCsoportNev"]) ?? string.Empty,
|
||||
TantargyNev = SDAConvert.ToString(dataRow["TantargyNev"]) ?? string.Empty,
|
||||
TipusId_DNAME = SDAConvert.ToString(dataRow["TipusId_DNAME"]) ?? string.Empty,
|
||||
ErtekelesModId_DNAME = SDAConvert.ToString(dataRow["ErtekelesModId_DNAME"]) ?? string.Empty,
|
||||
ErtekelesTema = SDAConvert.ToString(dataRow["ErtekelesTema"]) ?? string.Empty,
|
||||
TanuloErtekelesText = SDAConvert.ToString(dataRow["TanuloErtekelesText"]) ?? string.Empty
|
||||
};
|
||||
|
||||
if (!model.OsztalyCsoportIdSearch.IsEntityId() || (model.OsztalyCsoportIdSearch.IsEntityId() && kapcsolodoOsztalyCsoportList.Contains(SDAConvert.ToInt32(dataRow["OsztalyCsoportId"]))))
|
||||
{
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteErtekeles([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.DeleteTanuloErtekelesById(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloErtekelesResource.Ertekeles, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetOsztalyzatList()
|
||||
{
|
||||
var items = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus, ClaimData.SelectedTanevID.Value);
|
||||
return Json(items.OrderBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value).ToComboBoxItemList());
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetErtekelesTipusList()
|
||||
{
|
||||
var items = ((int)GeneratedAdatszotarTipusEnum.ErtekelesTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, true);
|
||||
return Json(items.ToComboBoxItemList());
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetSpecialisOsztalyzatList()
|
||||
{
|
||||
var items = EnumExtensions.EnumToDictionary<SpecialisErtekelesOsztalyzatEnum>(ClaimData.SelectedTanevID.Value, removeValueList: new List<string> { ((int)SpecialisErtekelesOsztalyzatEnum.None).ToString() });
|
||||
return Json(items.ToComboBoxItemList());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
using System;
|
||||
using System.Data;
|
||||
using System.Text.RegularExpressions;
|
||||
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.TanuloErtekeles.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public class DolgozatokApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetDolgozatokAtlagaGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<DolgozatokAtlagaSearchModel>(data);
|
||||
model.TanarId = ClaimData.FelhasznaloId;
|
||||
model.SzuperOsztalyfonok = Convert.ToInt32(AuthorizeHelper.CheckPackageAccess(new[] { KretaClaimPackages.SzuperOsztalyfonok.ClaimValue }));
|
||||
model.Datum = DateTime.Now;
|
||||
|
||||
var searchCo = model.ConvertToCo();
|
||||
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
Regex starterRegex = new Regex($"^{nameof(DolgozatokAtlagaGridModel.IrtakDolgozatotArany)} ");
|
||||
Regex innerRegex = new Regex($",{nameof(DolgozatokAtlagaGridModel.IrtakDolgozatotArany)} ");
|
||||
|
||||
helper.GridParameters.OrderBy = starterRegex.Replace(helper.GridParameters.OrderBy, $"{nameof(DolgozatokAtlagaGridModel.IrtakDolgozatot)} ");
|
||||
helper.GridParameters.OrderBy = innerRegex.Replace(helper.GridParameters.OrderBy, $",{nameof(DolgozatokAtlagaGridModel.IrtakDolgozatot)} ");
|
||||
|
||||
DataSet dataSet = helper.GetTanuloErtekelesDataSetForGrid(searchCo);
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetDolgozatReszletekGrid(int osztalyCsoportId, int tantargyId, string ertekelesTemaja, string datum, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var gridParameters = Converter.GridParameter(request);
|
||||
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.GridParameters = gridParameters;
|
||||
var dataSet = helper.GetDolgozatReszletekDataSetForGrid(osztalyCsoportId, tantargyId, ertekelesTemaja, DateTime.Parse(datum));
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,128 @@
|
|||
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.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class DualisErtekelesApiController : BaseTanuloErtekelesApiController
|
||||
{
|
||||
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
|
||||
|
||||
public DataSourceResult GetErtekelesGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<ErtekelesListModel>(data);
|
||||
|
||||
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
|
||||
int? tantargyId = model.TantargyIdSearch;
|
||||
if (!osztalyCsoportId.IsEntityId() || !tantargyId.IsEntityId())
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var gridParameters = Converter.GridParameter(request);
|
||||
DataSourceResult result = GetErtekelesGridData(osztalyCsoportId.Value, tantargyId.Value, model.Datum, gridParameters);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetNaplozasErtekelesGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<ErtekelesListModel>(data);
|
||||
|
||||
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
|
||||
int? tantargyId = model.TantargyIdSearch;
|
||||
if (!osztalyCsoportId.IsEntityId() || !tantargyId.IsEntityId())
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var gridParameters = Converter.GridParameter(request);
|
||||
DataSourceResult result = GetErtekelesGridData(osztalyCsoportId.Value, tantargyId.Value, model.Datum, gridParameters);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private DataSourceResult GetErtekelesGridData(int osztalyCsoportId, int tantargyId, DateTime? datum, GridParameters gridParameters)
|
||||
{
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = gridParameters
|
||||
};
|
||||
DataSet dataSet = helper.GetTanuloErtekelesDataSetByTantargyForGrid(ClaimData.FelhasznaloId, osztalyCsoportId, tantargyId, datum, true);
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetFotargyAltargyErtekelesGrid(int tanuloId, int tantargyId, DateTime? datum, int feladatKategoriaId)
|
||||
{
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSet dataSet = helper.GetTanuloErtekelesDataSetByFotargyAltargyForGrid(ClaimData.FelhasznaloId, tanuloId, tantargyId, datum, feladatKategoriaId);
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetErtekelesDetailGrid(int tanuloId, int tantargyId, DateTime? datum, int feladatKategoriaId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var gridParameters = Converter.GridParameter(request);
|
||||
DataSet dataSet = GetDetailGridDataBase(tanuloId, tantargyId, true, datum, (int)ErtekelesMegjelenesFajtaEnum.Tantargy, feladatKategoriaId: feladatKategoriaId, gridParameters: gridParameters, isFromSzervezet: IsDualisKepzesEnabled);
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Save(ErtekelesListSaveModel model)
|
||||
{
|
||||
List<TanuloErtekelesCo> tanuloErtekelesCoList = model.ToCoList();
|
||||
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList, (int)SzervezetTipusEnum.Dualis);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Edit(ErtekelesEditModel model)
|
||||
{
|
||||
int id = model.IdEdit;
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidErtekeles(id))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var tanuloErtekelesCoList = new List<TanuloErtekelesCo> { model.ToCo() };
|
||||
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList, (int)SzervezetTipusEnum.Dualis);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Delete([FromBody] int id)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
bool isValid = authorization.IsValidErtekeles(id);
|
||||
HttpResponseMessage result = DeleteTanuloErtekeles(id, isValid, (int)SzervezetTipusEnum.Dualis);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
using System.Net.Http;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class DualisFeljegyzesekApiController : BaseFeljegyzesekApiController
|
||||
{
|
||||
|
||||
public DataSourceResult GetFeljegyzesKeresoGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, szervezetTipus: SzervezetTipusEnum.Dualis);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public DataSourceResult GetElektronikusUzenetKeresoGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, szervezetTipus: SzervezetTipusEnum.Dualis);
|
||||
modelList.ForEach(x => x.Tartalom = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(x.Tartalom));
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportFeljegyzesekGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetExport(data, request, FeljegyzesekResource.FeljegyzesekExportSheetName, FeljegyzesekResource.FeljegyzesekExportFileName, FeljegyzesKeresoGridModel.FeljegyzesekGridExportAttributeId, szervezetTipus: SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportElektronikusUzenetekGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetExport(data, request, FeljegyzesekResource.ElektronikusUzenetekExportSheetName, FeljegyzesekResource.ElektronikusUzenetExportFileName, FeljegyzesKeresoGridModel.ElektronikusUzenetekGridExportAttributeId, szervezetTipus: SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportFeljegyzesek(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetExport(data, request, FeljegyzesekResource.FeljegyzesekExportSheetName, FeljegyzesekResource.FeljegyzesekExportFileName, FeljegyzesKeresoGridModel.FeljegyzesekExportAttributeId, szervezetTipus: SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportElektronikusUzenetek(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetExport(data, request, FeljegyzesekResource.ElektronikusUzenetekExportSheetName, FeljegyzesekResource.ElektronikusUzenetExportFileName, FeljegyzesKeresoGridModel.ElektronikusUzenetekExportAttributeId, szervezetTipus: SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
using System.Net.Http;
|
||||
using System.Web.Mvc;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class DualisTanuloErtekelesKeresoApiController : BaseTanuloErtekelesKeresoApiController
|
||||
{
|
||||
public DataSourceResult GetTanuloErtekelesListGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, SzervezetTipusEnum.Dualis);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return base.GetExport(data, request, SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,135 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
|
||||
public class ErettsegiEredmenyekApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetErettsegiEredmenyekGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<ErettsegiEredmenyekModel>(data);
|
||||
|
||||
if (model == null || !model.OsztalyId.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztaly(model.OsztalyId.Value))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
var ds = helper.GetErettsegiEredmenyekGrid(model.OsztalyId.Value);
|
||||
|
||||
DataSourceResult result = ds.ToDataSourceResult();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetErettsegiEredmenyekDetailGrid(int tanuloId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztalyfonokTanuloja(tanuloId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
var ds = helper.GetErettsegiEredmenyekDetailGrid(tanuloId);
|
||||
|
||||
DataSourceResult result = ds.ToDataSourceResult();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveErettsegiEredmenyList(List<ErettsegiEredmenySaveModel> erettsegiEredmenySaveModelList)
|
||||
{
|
||||
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var erettsegiTantargyAdatok = helper.GetErettsegiTantargyakForValidate();
|
||||
|
||||
List<ErettsegiEredmenyItemCo> erettsegiEredmenyCoList = new List<ErettsegiEredmenyItemCo>();
|
||||
foreach (var erettsegiEredmenySaveModel in erettsegiEredmenySaveModelList)
|
||||
{
|
||||
var modelStateDictionary = new ModelStateDictionary();
|
||||
foreach (var erettsegiEredmenySaveDetailModel in erettsegiEredmenySaveModel.ErettsegiEredmenySaveDetailModelList)
|
||||
{
|
||||
modelStateDictionary = erettsegiEredmenySaveDetailModel.Validate(modelStateDictionary, erettsegiEredmenySaveModel.FormName, erettsegiTantargyAdatok);
|
||||
erettsegiEredmenyCoList.Add(erettsegiEredmenySaveDetailModel.ConvertModelToCo(ClaimData.IntezmenyId, ClaimData.SelectedTanevID.Value));
|
||||
}
|
||||
ModelState.Merge(modelStateDictionary);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
foreach (ErettsegiEredmenyItemCo erettsegiEredmenyCo in erettsegiEredmenyCoList)
|
||||
{
|
||||
if (!authorization.IsValidOsztalyfonokTanuloja(erettsegiEredmenyCo.TanuloId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
}
|
||||
|
||||
helper.SaveErettsegiEredmenyList(erettsegiEredmenyCoList);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteErettsegiEredmeny([FromBody] int id)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidErettsegiEredmeny(id))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.DeleteErettsegiEredmeny(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
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.TanuloErtekeles.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class ErettsegiEredmenyekKeresoApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetErettsegiEredmenyekKeresoGrid(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<ErettsegiEredmenyekKeresoGridModel>(ErettsegiEredmenyekKeresoGridModel.ErettsegiEredmenyekExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(ErettsegiEredmenyekResource.ExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), ErettsegiEredmenyekResource.ExportFileName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<ErettsegiEredmenyekKeresoGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<ErettsegiEredmenyekKeresoSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetErettsegiEredmenyCoList(ErettsegiEredmenyekKeresoSearchModel.ConvertModelToCo(model));
|
||||
|
||||
var modelList = new List<ErettsegiEredmenyekKeresoGridModel>();
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new ErettsegiEredmenyekKeresoGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public bool DeleteErettsegiEredmeny(int erettsegiEredmenyId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.DeleteErettsegiEredmeny(erettsegiEredmenyId);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
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.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class ErtekelesApiController : BaseTanuloErtekelesApiController
|
||||
{
|
||||
public DataSourceResult GetErtekelesGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<ErtekelesListModel>(data);
|
||||
|
||||
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
|
||||
int? tantargyId = model.TantargyIdSearch;
|
||||
if (!osztalyCsoportId.IsEntityId() || !tantargyId.IsEntityId())
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var gridParameters = Converter.GridParameter(request);
|
||||
DataSourceResult result = GetErtekelesGridData(osztalyCsoportId.Value, tantargyId.Value, model.Datum, gridParameters);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetNaplozasErtekelesGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<ErtekelesListModel>(data);
|
||||
|
||||
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
|
||||
int? tantargyId = model.TantargyIdSearch;
|
||||
if (!osztalyCsoportId.IsEntityId() || !tantargyId.IsEntityId())
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var gridParameters = Converter.GridParameter(request);
|
||||
DataSourceResult result = GetErtekelesGridData(osztalyCsoportId.Value, tantargyId.Value, model.Datum, gridParameters);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private DataSourceResult GetErtekelesGridData(int osztalyCsoportId, int tantargyId, DateTime? datum, GridParameters gridParameters)
|
||||
{
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = gridParameters
|
||||
};
|
||||
DataSet dataSet = helper.GetTanuloErtekelesDataSetByTantargyForGrid(ClaimData.FelhasznaloId, osztalyCsoportId, tantargyId, datum, false);
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetFotargyAltargyErtekelesGrid(int tanuloId, int tantargyId, DateTime? datum, int feladatKategoriaId)
|
||||
{
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSet dataSet = helper.GetTanuloErtekelesDataSetByFotargyAltargyForGrid(ClaimData.FelhasznaloId, tanuloId, tantargyId, datum, feladatKategoriaId);
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetErtekelesDetailGrid(int tanuloId, int tantargyId, DateTime? datum, int feladatKategoriaId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var gridParameters = Converter.GridParameter(request);
|
||||
DataSet dataSet = GetDetailGridDataBase(tanuloId, tantargyId, true, datum, (int)ErtekelesMegjelenesFajtaEnum.Tantargy, feladatKategoriaId: feladatKategoriaId, gridParameters: gridParameters);
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Save(ErtekelesListSaveModel model)
|
||||
{
|
||||
List<TanuloErtekelesCo> tanuloErtekelesCoList = model.ToCoList();
|
||||
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Edit(ErtekelesEditModel model)
|
||||
{
|
||||
int id = model.IdEdit;
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidErtekeles(id))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var tanuloErtekelesCoList = new List<TanuloErtekelesCo> { model.ToCo() };
|
||||
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Delete([FromBody] int id)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
bool isValid = authorization.IsValidErtekeles(id);
|
||||
HttpResponseMessage result = DeleteTanuloErtekeles(id, isValid);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
using System.Data;
|
||||
using System.Net.Http;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class FeljegyzesekApiController : BaseFeljegyzesekApiController
|
||||
{
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public DataSourceResult GetInformaciokFeljegyzesekGrid(DataSourceRequest request)
|
||||
{
|
||||
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
|
||||
var result = helper.GetTanuloFelhasznaloFeljegyzesei(ClaimData.FelhasznaloId);
|
||||
|
||||
if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
foreach (var row in result.Tables[0].AsEnumerable())
|
||||
{
|
||||
row[nameof(InformaciokFeljegyzesekGridModel.Tartalom)] = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(row.Field<string>(nameof(InformaciokFeljegyzesekGridModel.Tartalom)));
|
||||
}
|
||||
}
|
||||
|
||||
return result.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetFeljegyzesKeresoGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
|
||||
}
|
||||
|
||||
public DataSourceResult GetElektronikusUzenetKeresoGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
modelList.ForEach(x => x.Tartalom = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(x.Tartalom));
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public DataSourceResult GetFaliujsagKeresoGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, true);
|
||||
modelList.ForEach(x => x.Tartalom = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(x.Tartalom));
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportFeljegyzesekGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetExport(data, request, FeljegyzesekResource.FeljegyzesekExportSheetName, FeljegyzesekResource.FeljegyzesekExportFileName, FeljegyzesKeresoGridModel.FeljegyzesekGridExportAttributeId);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportElektronikusUzenetekGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetExport(data, request, FeljegyzesekResource.ElektronikusUzenetekExportSheetName, FeljegyzesekResource.ElektronikusUzenetExportFileName, FeljegyzesKeresoGridModel.ElektronikusUzenetekGridExportAttributeId);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportFeljegyzesek(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetExport(data, request, FeljegyzesekResource.FeljegyzesekExportSheetName, FeljegyzesekResource.FeljegyzesekExportFileName, FeljegyzesKeresoGridModel.FeljegyzesekExportAttributeId);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportElektronikusUzenetek(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetExport(data, request, FeljegyzesekResource.ElektronikusUzenetekExportSheetName, FeljegyzesekResource.ElektronikusUzenetExportFileName, FeljegyzesKeresoGridModel.ElektronikusUzenetekExportAttributeId);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportFaliujsagKereso(string data, DataSourceRequest request)
|
||||
{
|
||||
return GetExport(data, request, FeljegyzesekResource.ExportSheetName, FeljegyzesekResource.ExportFileName, FeljegyzesKeresoGridModel.FaliujsagBejegyzesekExportAttrributeId, true);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,93 @@
|
|||
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.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.TanarAdhatMagatartasSzorgalomJegyet.ClaimValue)]
|
||||
public class MagatartasSzorgalomApiController : BaseTanuloErtekelesApiController
|
||||
{
|
||||
public DataSourceResult GetMagatartasSzorgalomGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<MagatartasSzorgalomListModel>(data);
|
||||
|
||||
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
|
||||
if (!osztalyCsoportId.IsEntityId())
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
DataSet dataSet = helper.GetTanuloErtekelesDataSetByMagatartasSzorgalomForGrid(ClaimData.FelhasznaloId, osztalyCsoportId.Value, model.Datum);
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetMagatartasSzorgalomDetailGrid(int tanuloId, DateTime? datum, int feladatKategoriaId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var gridParameters = Converter.GridParameter(request);
|
||||
|
||||
DataSet dataSet = GetDetailGridDataBase(tanuloId, null, true, datum, (int)ErtekelesMegjelenesFajtaEnum.MagatartasSzorgalom, feladatKategoriaId: feladatKategoriaId, gridParameters: gridParameters);
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Save(MagatartasSzorgalomListSaveModel model)
|
||||
{
|
||||
List<TanuloErtekelesCo> tanuloErtekelesCoList = model.ToCoList();
|
||||
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Edit(MagatartasSzorgalomEditModel model)
|
||||
{
|
||||
int id = model.IdEdit;
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidMagatartasSzorgalom(id))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var tanuloErtekelesCoList = new List<TanuloErtekelesCo> { model.ToCo() };
|
||||
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Delete([FromBody] int id)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
bool isValid = authorization.IsValidMagatartasSzorgalom(id);
|
||||
HttpResponseMessage result = DeleteTanuloErtekeles(id, isValid);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,102 @@
|
|||
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.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
|
||||
public class NaploEllenorzesApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetNaploEllenorzesGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
NaploEllenorzesKeresoModel model = JsonConvert.DeserializeObject<NaploEllenorzesKeresoModel>(data);
|
||||
|
||||
if (!model.OsztalyId.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
Enum.TryParse(new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetOsztalyCsoportFeladatKategoria(model.OsztalyId.Value).ToString(), out OktNevelesiKategoriaEnum osztalycsoportKategoria);
|
||||
model.FeladatKategoriaId = (int)osztalycsoportKategoria;
|
||||
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztaly(model.OsztalyId.Value))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var helper = new NaploEllenorzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
var ds = helper.GetNaploEllenorzesekHeadRow(model.FeladatKategoriaId, model.OsztalyId, model.FeladatEllatasiHelyId);
|
||||
|
||||
ds.Tables[0].Columns.Add("Osszegzes");
|
||||
foreach (DataRow row in ds.Tables[0].Rows)
|
||||
{
|
||||
row["Osszegzes"] = string.Format(StringResourcesUtil.GetString(2745),
|
||||
"<b>" + row["hetSorszam"] + "</b>", "<b>" + row["NemNaplozottOrakSzama"] + "</b>");
|
||||
}
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetNaploEllenorzesDetailsGrid(int? feladatKategoriaId, int? feladatEllatasiHelyId, int osztalyId, int hetsorszamaId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztaly(osztalyId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var helper = new NaploEllenorzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetNaploEllenorzesekDetails(feladatKategoriaId, hetsorszamaId, osztalyId, feladatEllatasiHelyId);
|
||||
|
||||
ds.Tables[0].Columns.Add("OraKezdeteString");
|
||||
ds.Tables[0].Columns.Add("OraVegeString");
|
||||
foreach (DataRow row in ds.Tables[0].Rows)
|
||||
{
|
||||
if (!row.Field<int?>("CsengetesiRend").HasValue)
|
||||
{
|
||||
row["OraKezdeteString"] = row.Field<DateTime>("OraKezdete").ToString("HH:mm");
|
||||
row["OraVegeString"] = row.Field<DateTime>("OraVege").ToString("HH:mm");
|
||||
}
|
||||
}
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage NaploellenorzesMentes(NaploEllenorzesModel model)
|
||||
{
|
||||
model.EllenorzesDatuma = model.EllenorzesDatuma.ToLocalTime();
|
||||
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztaly(model.OsztalyId.Value))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var helper = new NaploEllenorzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.SaveNaploEllenorzes(model.ConvertModelToCo());
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,129 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class OsztalyzatokApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetOsztalyzatokFeleviErtesitoGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var result = GetOsztalyzatokErtesitoGrid(data, request, (int)ErtekelesTipusEnum.felevi_jegy_ertekeles);
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetOsztalyzatokEvvegiErtesitoGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
|
||||
DataSourceRequest request)
|
||||
{
|
||||
var result = GetOsztalyzatokErtesitoGrid(data, request, (int)ErtekelesTipusEnum.evvegi_jegy_ertekeles);
|
||||
return result;
|
||||
}
|
||||
|
||||
private DataSourceResult GetOsztalyzatokErtesitoGrid(string data, DataSourceRequest request, int ertekelesTipusEnumId)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<OsztalyzatokFeleviEvvegiErtesitoModel>(data);
|
||||
var osztalyId = model.OsztalyId;
|
||||
|
||||
if (!osztalyId.IsEntityId())
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
var feladatKategoriaId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportFeladatKategoria(osztalyId.Value);
|
||||
var tanuloErtekelesListModel = new TanuloErtekelesListModel
|
||||
{
|
||||
TanuloIdSearch = ClaimData.FelhasznaloId,
|
||||
TipusIdSearch = ertekelesTipusEnumId,
|
||||
OsztalyCsoportIdSearch = osztalyId.Value,
|
||||
FeladatKategoriaIdSearch = feladatKategoriaId,
|
||||
KellKapcsolodoCsoportokSearch = true
|
||||
};
|
||||
var dataSet = helper.GetTanuloErtekelesListGridDataSet(tanuloErtekelesListModel.ToCo(), pErtekelesTextTemaval: true);
|
||||
var dataTable = dataSet.Tables[0];
|
||||
if (feladatKategoriaId != (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas)
|
||||
{
|
||||
var datum = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDatumInTanev();
|
||||
var tanuloOsztalyId = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloOsztalyIdByFeladatKategoria(ClaimData.FelhasznaloId, datum, (OktNevelesiKategoriaEnum)feladatKategoriaId);
|
||||
if (!tanuloOsztalyId.IsEntityId())
|
||||
{
|
||||
dataTable.Rows.Clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
var tanuloOsztalyEvfolyamTipusId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportEvfolyamTipusId(tanuloOsztalyId.Value);
|
||||
var tanuloIdAndFeladatKategoriaIdAndEvfolyamTipusIdList = new List<(int tanuloId, int feladatKategoriaId, int? evfolyamTipusId)>
|
||||
{
|
||||
(ClaimData.FelhasznaloId, feladatKategoriaId, tanuloOsztalyEvfolyamTipusId)
|
||||
};
|
||||
helper.RemoveMasEvfolyamTanuloErtekelesek(dataTable, tanuloIdAndFeladatKategoriaIdAndEvfolyamTipusIdList);
|
||||
}
|
||||
}
|
||||
|
||||
helper.RemoveTanuloJogosultsagMiattiErtekelesek(new List<int>() { ClaimData.FelhasznaloId }, dataTable);
|
||||
|
||||
var gridDataSet = dataSet.Tables[0].Rows.Count > 0 ? GetSortedDataSet(dataSet.Tables[0]) : dataSet;
|
||||
return gridDataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
private DataSet GetSortedDataSet(DataTable dataTable)
|
||||
{
|
||||
var targyKategoriaTipusDictionaryItemList = ((int)GeneratedAdatszotarTipusEnum.TargyKategoriaTipus).GetItemsByType(ClaimData.SelectedTanevID.Value);
|
||||
|
||||
dataTable.Columns.Add("TantargyKategoriaOrder");
|
||||
dataTable.Columns.Add("FotargyTantargyKategoriaOrder");
|
||||
var tanuloErtekelesRows = dataTable.Rows.Cast<DataRow>().ToList();
|
||||
foreach (var dataRow in tanuloErtekelesRows)
|
||||
{
|
||||
var tantargyKategoriaId = SDAConvert.ToNullableInt32(dataRow["TantargyKategoriaId"]);
|
||||
dataRow["TantargyKategoriaOrder"] = SDAConvert.ToBooleanFromTF(dataRow["IsMagatartasSzorgalom"]) ? 0 : tantargyKategoriaId.IsEntityId() ? targyKategoriaTipusDictionaryItemList.Single(x => x.Id == tantargyKategoriaId.Value).Order : null;
|
||||
|
||||
var fotargyTantargyKategoriaId = SDAConvert.ToNullableInt32(dataRow["FotargyTantargyKategoriaId"]);
|
||||
dataRow["FotargyTantargyKategoriaOrder"] = fotargyTantargyKategoriaId.IsEntityId() ? targyKategoriaTipusDictionaryItemList.Single(x => x.Id == fotargyTantargyKategoriaId.Value).Order : null;
|
||||
}
|
||||
|
||||
var sortedDataTable = dataTable
|
||||
.AsEnumerable()
|
||||
.OrderBy(x => SDAConvert.ToBoolean(x["IsFotargy"]) ? SDAConvert.ToNullableInt32(x["TantargyKategoriaOrder"]) ?? 10000 : SDAConvert.ToNullableInt32(x["FotargyTantargyKategoriaOrder"]) ?? 10000)
|
||||
.ThenBy(x => SDAConvert.ToBoolean(x["IsFotargy"]) ? SDAConvert.ToString(x["TantargyNev"]) : SDAConvert.ToString(x["FotargyNev"]))
|
||||
.ThenBy(x => SDAConvert.ToBoolean(x["IsFotargy"]) ? 0 : 1)
|
||||
.ThenBy(x => SDAConvert.ToString(x["TantargyNev"]))
|
||||
.CopyToDataTable();
|
||||
|
||||
var gridDataSet = new DataSet();
|
||||
gridDataSet.Tables.Add(sortedDataTable);
|
||||
|
||||
return gridDataSet;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public ZaradekModel GetTanuloZaradek(string osztalyId)
|
||||
{
|
||||
var tanuloCo = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloiAdatok(ClaimData.FelhasznaloId, kovTanevId: null, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater, int.Parse(osztalyId));
|
||||
|
||||
return tanuloCo.Zaradek.TanuloCsoportId.HasValue ? new ZaradekModel(tanuloCo.Zaradek.TanuloCsoportId.Value, tanuloCo.ID.Value) : new ZaradekModel();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Ellenorzo.BL.VN.Ertekeles.Atlag.OsztalyAtlag;
|
||||
using Kreta.Ellenorzo.Domain.VN.Common;
|
||||
using Kreta.Ellenorzo.Domain.VN.Ertekeles.Atlag.OsztalyAtlag;
|
||||
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
public class TanuloErtekelesByTanuloApiController : BaseTanuloErtekelesApiController
|
||||
{
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
||||
public DataSourceResult GetTanuloErtekelesByTanuloGrid(string data)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloErtekelesByTanuloListModel>(data);
|
||||
|
||||
int? tanuloId = model.TanuloId;
|
||||
if (!tanuloId.IsEntityId())
|
||||
{
|
||||
return new DataSourceResult();
|
||||
|
||||
}
|
||||
|
||||
return GetTanuloErtekelesGrid(ClaimData.FelhasznaloId, tanuloId.Value, false, model.OktatasiNevelesiFeladatId, model.IsOsztalyAtlagMegjelenik);
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Tanulo.ClaimValue)]
|
||||
public DataSourceResult GetTanuloErtekelesByTanuloGridTanuloView(string data)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloErtekelesByTanuloListModel>(data);
|
||||
return GetTanuloErtekelesGrid(null, ClaimData.FelhasznaloId, true, model.OktatasiNevelesiFeladatId, model.IsOsztalyAtlagMegjelenik);
|
||||
}
|
||||
|
||||
private DataSourceResult GetTanuloErtekelesGrid(int? tanarId, int tanuloId, bool isTanuloView, int oktatasiNevelesiFeladatId, bool isOsztalyAtlagMegjelenik)
|
||||
{
|
||||
DateTime datum = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDatumInTanev();
|
||||
|
||||
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
DataSet dataSet = helper.GetTanuloErtekelesDataSetByTanuloForGrid(tanarId, tanuloId, isTanuloView, datum, oktatasiNevelesiFeladatId);
|
||||
|
||||
if (isOsztalyAtlagMegjelenik)
|
||||
{
|
||||
List<TantargyUid> tantargyUids = null;
|
||||
if (dataSet.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
tantargyUids = new List<TantargyUid>();
|
||||
foreach (DataRow row in dataSet.Tables[0].Rows)
|
||||
{
|
||||
if (!row.Field<bool>("TantargyIsTanulmanyiAtlagbaNemSzamit"))
|
||||
{
|
||||
tantargyUids.Add(new TantargyUid(row.Field<int?>("TantargyId") ?? 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var osztalyAtlagok = new OsztalyAtlagFacade(new MobileUser(ClaimData.IntezmenyAzonosito, tanuloId, ClaimData.BelepesiNev, ClaimData.GondviseloId, new List<FelhasznaloSzerepkor> { ClaimData.GondviseloId.HasValue ? FelhasznaloSzerepkor.Gondviselo : FelhasznaloSzerepkor.Tanulo }, ClaimData.SelectedTanevID.Value, null, ClaimData.FelhasznaloIdpEgyediAzonosito, ClaimData.FelhasznaloIdpEgyediAzonosito, ClaimData.IntezmenyGuid.Value))
|
||||
.ListAktualisTanuloOsztalyAtlag(new OsztalyAtlagListRequest
|
||||
{
|
||||
OktatasiNevelesiFeladatUid = new OktatasiNevelesiFeladatUid(oktatasiNevelesiFeladatId, (OktatasiNevelesiFeladatEnum?)oktatasiNevelesiFeladatId),
|
||||
TantargyUids = tantargyUids,
|
||||
IsAtlagNeeded = true
|
||||
});
|
||||
dataSet.Tables[0].Columns.Add("OsztalyAtlag", typeof(decimal));
|
||||
foreach (DataRow row in dataSet.Tables[0].Rows)
|
||||
{
|
||||
var osztalyAtlag = osztalyAtlagok.FirstOrDefault(a => a.Tantargy.Uid.Id == row.Field<int?>("TantargyId"));
|
||||
if (osztalyAtlag != null && osztalyAtlag.OsztalyCsoportAtlag.HasValue)
|
||||
{
|
||||
row["OsztalyAtlag"] = osztalyAtlag.OsztalyCsoportAtlag.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloErtekelesByTanuloDetailGrid(int tantargyId, int oktatasiNevelesiFeladatId, int tanuloId)
|
||||
{
|
||||
return GetDetailGridData(tanuloId, tantargyId.IsEntityId() ? tantargyId : (int?)null, false, oktatasiNevelesiFeladatId);
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Tanulo.ClaimValue)]
|
||||
public DataSourceResult GetTanuloErtekelesByTanuloDetailGridTanuloView(int tantargyId, int oktatasiNevelesiFeladatId)
|
||||
{
|
||||
return GetDetailGridData(ClaimData.FelhasznaloId, tantargyId.IsEntityId() ? tantargyId : (int?)null, true, oktatasiNevelesiFeladatId);
|
||||
}
|
||||
|
||||
private DataSourceResult GetDetailGridData(int tanuloId, int? tantargyId, bool isTanuloView, int oktatasiNevelesiFeladatId)
|
||||
{
|
||||
bool showToroltElemek = !isTanuloView;
|
||||
DateTime datum = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDatumInTanev();
|
||||
DataSet dataSet = GetDetailGridDataBase(tanuloId, tantargyId, showToroltElemek, datum, (int)ErtekelesMegjelenesFajtaEnum.Tanulo, oktatasiNevelesiFeladatId: oktatasiNevelesiFeladatId, isTanuloView: isTanuloView);
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
using System.Net.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class TanuloErtekelesKeresoApiController : BaseTanuloErtekelesKeresoApiController
|
||||
{
|
||||
public DataSourceResult GetTanuloErtekelesListGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return base.GetExport(data, request);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue