kreta/KretaWeb/Areas/TanuloErtekeles/Controllers/TanuloErtekelesByTanuloController.cs
2024-03-13 00:33:46 +01:00

54 lines
2.9 KiB
C#

using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.KretaServer.SystemSettings;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanulo.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class TanuloErtekelesByTanuloController : BaseTanuloErtekelesController
{
public List<TanuloErtekelesByTanuloListModel> PartialViewModel(int? tanuloId, string namePrefix = null, List<int> oktatasiNevelesiFeladatIds = null, bool isOsztalyAtlagMegjelenik = false)
{
var model = new List<TanuloErtekelesByTanuloListModel>();
if (oktatasiNevelesiFeladatIds == null || oktatasiNevelesiFeladatIds.Count < 1)
{
return model;
}
bool isJegyekAtlagaMegjelenik = SystemSettingsManager.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Ertekelesnel_a_naplojegyek_atlaga_megjelenik, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
bool isOsztalyAtlagMegjelenikSystemSetting = SystemSettingsManager.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Osztalyatlag_megjelenitese_az_ellenorzo_feluleten, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
foreach (int oktatasiNevelesiFeladatId in oktatasiNevelesiFeladatIds)
{
string feladatNamePrefix = namePrefix + oktatasiNevelesiFeladatId;
model.Add(new TanuloErtekelesByTanuloListModel
{
// TODO: jó lenne, ha egyértelműen látszódna a tényleges logika az IsNullOrWhiteSpace helyett
NamePrefix = string.IsNullOrWhiteSpace(feladatNamePrefix) ? "DefaultByTanulo" : feladatNamePrefix,
IsJegyekAtlagaMegjelenik = isJegyekAtlagaMegjelenik,
IsOsztalyAtlagMegjelenik = isOsztalyAtlagMegjelenikSystemSetting && isOsztalyAtlagMegjelenik,
TanuloId = tanuloId,
OktatasiNevelesiFeladatId = oktatasiNevelesiFeladatId
});
}
return model;
}
public ActionResult TanuloErtekelesByTanuloGridDetail(TanuloErtekelesByTanuloDetailModel model, int oktatasiNevelesiFeladatId, string namePrefix = null)
{
// TODO: jó lenne, ha egyértelműen látszódna a tényleges logika az IsNullOrWhiteSpace helyett
model.NamePrefix = string.IsNullOrWhiteSpace(namePrefix) ? "DefaultByTanulo" : namePrefix;
model.OktatasiNevelesiFeladatId = oktatasiNevelesiFeladatId;
return PartialView("GridDetail", model);
}
}
}