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); } } }