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

131 lines
5.2 KiB
C#

using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Web.Areas.Hianyzas.Models;
using Kreta.Web.Areas.Tanulo.Models;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanulo.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue)]
public class OsztalyTanuloiAdatokController : Controller
{
public ActionResult Index()
{
var model = new OsztalyTanuloiAdatokModel();
if (ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Naplo))
{
model.OsztalyCsoportId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyfonokElsonekMegtalaltOsztalya(ClaimData.FelhasznaloId);
}
return View("Index", model);
}
public ActionResult GetTanuloiAdatokPanelBarItemContent(int? tanuloId, int? osztalyCsoportId)
{
var model = new TanuloiAdatokModel
{
TanuloId = tanuloId,
OsztalyCsoportId = osztalyCsoportId
};
return PartialView("~/Areas/Tanulo/Views/OsztalyTanuloiAdatok/TanuloiAdatok.cshtml", model);
}
public ActionResult GetTanuloErtekelesPanelBarItemContent(int? tanuloId, int osztalyCsoportId)
{
var model = new List<TanuloErtekelesByTanuloListModel>
{
new TanuloErtekelesByTanuloListModel
{
NamePrefix = "TanuloErtekelesPanelBar",
IsJegyekAtlagaMegjelenik = true,
TanuloId = tanuloId,
GridUseToolBar = false,
OktatasiNevelesiFeladatId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetOsztalyCsoportOktatasNevelesiFeladatTipus(osztalyCsoportId)
}
};
return PartialView("~/Areas/TanuloErtekeles/Views/TanuloErtekelesByTanulo/Index.cshtml", model);
}
public ActionResult GetFelmentesekPanelBarItemContent(int? tanuloId)
{
var model = new TanuloDetailModel
{
TanuloId = tanuloId ?? 0,
GridNamePrefix = "FelmentesPanelBar",
GridUseToolBar = false
};
return PartialView("~/Areas/Tanulo/Views/Tanulo/Info_TantargyiMentesseg_Tab.cshtml", model);
}
public ActionResult GetHianyzasokPanelBarItemContent(int? tanuloId)
{
var model = new MulasztasSearchModel
{
TanuloId = tanuloId,
IsCustomForm = true,
CustomFormName = "OsztalyTanuloiAdatokForm",
GridUseToolBar = false,
ChildGridHasDelete = false,
};
return PartialView("~/Areas/Hianyzas/Views/Shared/Mulasztasok_TanuloNezet_Tab.cshtml", model);
}
public ActionResult GetIgazolasokPanelBarItemContent(int? tanuloId)
{
var model = new TanuloDetailModel
{
TanuloId = tanuloId ?? 0,
GridNamePrefix = "IgazolasPanelBar",
GridUseToolBar = false
};
return PartialView("~/Areas/Tanulo/Views/Tanulo/Info_Igazolasok_Tab.cshtml", model);
}
public ActionResult GetFeljegyzesekPanelBarItemContent(int? tanuloId)
{
var tanuloiFeljegyzesekItemModelList = new List<TanuloiFeljegyzesekItemModel>();
if (tanuloId.IsEntityId())
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var coList = helper.GetTanuloiFeljegyzesekItemList(tanuloId.Value);
tanuloiFeljegyzesekItemModelList.AddRange(coList.Select(co => new TanuloiFeljegyzesekItemModel(co)));
}
var model = new TanuloiFeljegyzesekModel
{
TanuloId = tanuloId,
TanuloiFeljegyzesekItemList = tanuloiFeljegyzesekItemModelList.OrderBy(x => x.Datum).ToList()
};
return PartialView("TanuloiFeljegyzesek", model);
}
public ActionResult GetFeljegyzesekHaviPanelBarItemContent(int? tanuloId, int? osztalyCsoportId)
{
var model = new TanuloDetailModel
{
TanuloId = tanuloId ?? 0,
OsztalycsoportId = osztalyCsoportId ?? 0,
GridNamePrefix = "FeljegyzesHaviPanelBar",
GridUseToolBar = false
};
return PartialView("~/Areas/Tanulo/Views/Tanulo/Info_FeljegyzesHavi_Tab.cshtml", model);
}
public ActionResult GetDiakOlimpiaPanelBarItemContent(int? tanuloId, int? osztalyCsoportId)
{
return PartialView("~/Areas/Tanulo/Views/Tanulo/Info_DiakOlimpia.cshtml", tanuloId ?? 0);
}
}
}