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

55 lines
2.1 KiB
C#

using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Framework.Util;
using Kreta.Web.Areas.Tanar.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanar.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class HelyettesitesekKereseseController : Controller
{
// GET: Tanar/HelyettesitesekKeresese
public ActionResult Index()
{
HelyettesitesSearchModel model = new HelyettesitesSearchModel
{
AlkalmazottList = GetTanarList()
};
return View("Index", model);
}
public ActionResult GetHelyettesitoTanarok(HelyettesitesGridModel model)
{
model.HelyettesitesTipusList = GetHelyettesitesTipusList();
return PartialView("HelyettesitesekKereseseDetailGrid", model);
}
private List<SelectListItem> GetTanarList()
{
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var felhasznalokOnlyAlkalmazottSzerepkorIds = new FelhasznaloHelper(connectionType).GetFelhasznaloIdsOnlyAlkalmazottSzerepkor();
IDictionary<string, string> lista;
var helper = new TanarHelper(connectionType);
lista = helper.GetTanarok(string.Empty, oktatasiAzonositoval: true);
lista.Remove("");
return lista.ToSelectListItemList().Where(x => !felhasznalokOnlyAlkalmazottSzerepkorIds.Contains(SDAConvert.ToInt32(x.Value))).ToList();
}
private List<SelectListItem> GetHelyettesitesTipusList()
{
List<SelectListItem> result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HelyettesitesTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList();
return result;
}
}
}