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

118 lines
5.1 KiB
C#

using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Areas.DualisKepzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.DualisKepzes.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
public class DualisKepzohelyController : Controller
{
public ActionResult Index()
{
var model = new DualisKepzohelySearchModel();
if (ClaimData.FelhasznaloSzerepkor != Kreta.Enums.SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
return View("Index", model);
}
public ActionResult OpenModifyAddPopup(int? Id, int? parentSzervezetId)
{
DualisKepzohelyModel model;
if (Id.HasValue)
{
model = GetDualisKepzohely(Id.Value);
}
else
{
model = new DualisKepzohelyModel();
if (!parentSzervezetId.HasValue)
{
model.HelyszinTipusId = (int)DualisHelyszinTipusEnum.szekhely;
}
else
{
var parentDualisKepzohely = GetDualisKepzohely(parentSzervezetId ?? 0); //mivel a paraméter nullable
model.HelyszinTipusId = (int)DualisHelyszinTipusEnum.telephely;
model.KepzohelyAdoszama = parentDualisKepzohely.KepzohelyAdoszama;
}
model.ParentSzervezetId = parentSzervezetId;
}
model.IsEditable = true;
var tabModel = GetTabModel(model);
var pm = new PopUpModel(tabModel, "DualisKepzohely_ModifyAdd_Bevitel");
pm = pm.AddCancelBtn(pm, "DualisKepzohelyHelper.modifyAddCancel");
pm = pm.AddBtn(pm, "saveDualisKepzohely", CommonResource.Mentes, "DualisKepzohelyHelper.modifyAddSave");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenInfoPopup(int? Id)
{
var model = GetDualisKepzohely(Id.Value);
var tabModel = GetTabModel(model);
var pm = new PopUpModel(tabModel, "DualisKepzohely_ModifyAdd_Bevitel");
pm = pm.AddCancelBtn(pm, "DualisKepzohelyHelper.modifyAddCancel");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult GetAlSzervezetek(int id)
{
return PartialView("DualisKepzohelyDetailGrid", id);
}
private DualisKepzohelyModel GetDualisKepzohely(int pId)
{
var h = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var co = h.GetDualisKepzohelyById(pId);
var model = new DualisKepzohelyModel()
{
ID = co.ID,
KepzohelyNeve = co.KepzohelyNeve,
KepzohelyAdoszama = co.KepzohelyAdoszama,
KepzohelyCime = co.KepzohelyCime,
HelyszinTipusId = co.HelyszinTipusId,
ParentSzervezetId = co.ParentSzervezetId,
};
return model;
}
private static TabStripModel GetTabModel(DualisKepzohelyModel model)
{
var tabstripModel = new TabStripModel
{
TabList = new List<TabStripItemModel>
{
new TabStripItemModel { ItemId = "1", ItemName = DualisResource.TabAlapadatok, Model = model, PartialViewName = "New_Modify_Alapadatok_Tab", IsActive = true }
}
};
if (model.ID.IsEntityId())
{
tabstripModel.TabList.Add(new TabStripItemModel { ItemId = "2", ItemName = DualisResource.TabTanulok, Model = model, PartialViewName = "Dualis_Tanulok_Tab" });
tabstripModel.TabList.Add(new TabStripItemModel { ItemId = "3", ItemName = DualisResource.TabOktatok, Model = model, PartialViewName = "Dualis_Oktatok_Tab" });
tabstripModel.TabList.Add(new TabStripItemModel { ItemId = "4", ItemName = DualisResource.TabCsoportok, Model = model, PartialViewName = "Dualis_Csoportok_Tab" });
tabstripModel.TabList.Add(new TabStripItemModel { ItemId = "5", ItemName = DualisResource.TabTantargyak, Model = model, PartialViewName = "Dualis_Tantargyak_Tab" });
tabstripModel.TabList.Add(new TabStripItemModel { ItemId = "6", ItemName = DualisResource.TabHelyszinek, Model = model, PartialViewName = "Dualis_Helyszinek_Tab" });
}
return tabstripModel;
}
}
}