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