using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Security; using Kreta.Resources; using Kreta.Web.Areas.OsztalyCsoport.ApiControllers; using Kreta.Web.Areas.OsztalyCsoport.Models; using Kreta.Web.Helpers; using Kreta.Web.Helpers.TabStrip; using Kreta.Web.Models.EditorTemplates; using Kreta.Web.Security; namespace Kreta.Web.Areas.OsztalyCsoport.Controllers { [MvcRoleClaimsAuthorize(true)] [MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)] [MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)] public class BesorolasModOsztalybolKiirtTanulokController : BaseBesorolasController { public ActionResult Index() { return View("Index", new AktTanevBesorolasSearchModel(RouteData.Values["controller"].ToString())); } public ActionResult OpenModPopUp(int tanuloCsoportId, bool isZaradekTabAktiv = false) { var model = new BesorolasModOsztalybolKiirtTanulokModel(tanuloCsoportId); model.TabList = GetModifyTabs(tanuloCsoportId); if (isZaradekTabAktiv) { model.TabList[0].IsActive = false; model.TabList.FirstOrDefault(x => x.ItemName.Equals(OsztalyCsoportResource.Zaradekok)).IsActive = true; } PopUpModel pm = new PopUpModel(model, "OsztalybolKiirtModify_Bevitel"); pm = pm.AddCancelBtn(pm, "BesorolasModOsztalybolKiirtTanulokHelper.modifyCancel"); pm = pm.AddOkBtn(pm, "BesorolasModOsztalybolKiirtTanulokHelper.modifySave"); return PartialView(Constants.General.PopupView, pm); } public ActionResult OpenTobbesModPopUp(List osztalyTanuloiList) { BesorolasTobbesModOsztalybolKiirtTanulokModel model = new BesorolasTobbesModOsztalybolKiirtTanulokModel(); var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); var intezmenyJellemzoi = helper.GetOsztalyJellemzoi(); var (IsIsSzakkepesites, IsNKTSzakkepzeses) = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloSzakKepesitesDetailsByTanulocsoportIdList(osztalyTanuloiList.Select(x => x.TanuloCsoportId)); model.IsSzakkepesites = IsIsSzakkepesites; model.IsNKTSzakkepzeses = IsNKTSzakkepzeses; model.IsSzakkepzo = new IntezmenyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetIntezmenyiAdatok().IsSzakkepzo; foreach (var item in osztalyTanuloiList) { model.TanuloCsoportIdArray += item.TanuloCsoportId.ToString() + ","; model.TanuloNevArray += item.TanuloNev.ToString() + ", "; } PopUpModel pm = new PopUpModel(model, "OsztalybolKiirtTobbesModify_Bevitel"); pm = pm.AddCancelBtn(pm, "BesorolasModOsztalybolKiirtTanulokHelper.modifyCancel"); pm = pm.AddOkBtn(pm, "BesorolasModOsztalybolKiirtTanulokHelper.modifyTobbesSave"); return PartialView(Constants.General.PopupView, pm); } private static List GetModifyTabs(int tanuloCsoportId) { var tabList = new List(); tabList.Add(new TabStripItemModel() { ItemId = "1", ItemName = OsztalyCsoportResource.Alapadatok, Area = Constants.Areas.OsztalyCsoport, Controller = Constants.Controllers.BesorolasModOsztalybolKiirtTanulok, Action = nameof(GetModPartialView), RouteParameters = new Dictionary { { "tanuloCsoportId", tanuloCsoportId.ToString() }, { "PartialViewName", "Edit_AlapadatokTab" } }, IsActive = true }); tabList.Add(new TabStripItemModel() { ItemId = "2", ItemName = OsztalyCsoportResource.Mulasztasok, Area = Constants.Areas.OsztalyCsoport, Controller = Constants.Controllers.BesorolasModOsztalybolKiirtTanulok, Action = nameof(GetModPartialView), RouteParameters = new Dictionary { { "tanuloCsoportId", tanuloCsoportId.ToString() }, { "PartialViewName", "Edit_MulasztasokTab" } } }); tabList.Add(new TabStripItemModel() { ItemId = "3", ItemName = OsztalyCsoportResource.Zaradekok, Area = Constants.Areas.OsztalyCsoport, Controller = Constants.Controllers.BesorolasModOsztalybolKiirtTanulok, Action = nameof(GetModPartialView), RouteParameters = new Dictionary { { "tanuloCsoportId", tanuloCsoportId.ToString() }, { "PartialViewName", "Edit_ZaradekokTab" } } }); return tabList; } public ActionResult GetModPartialView(string tanuloCsoportId, string partialViewName) { var besorolasModOsztalybolKiirtTanulokApiController = new BesorolasModOsztalybolKiirtTanulokApiController(); var model = besorolasModOsztalybolKiirtTanulokApiController.GetTanuloData(int.Parse(tanuloCsoportId)); return PartialView(partialViewName, model); } } }