using System.Collections.Generic; using System.Web.Http; using System.Web.Mvc; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Security; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Framework; using Kreta.Resources; using Kreta.Web.Areas.OsztalyCsoport.Logic; using Kreta.Web.Areas.OsztalyCsoport.Models; using Kreta.Web.Controllers; 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)] [MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.AMImodul.ClaimValue)] public class OsztalyAmiController : Controller { public ActionResult Index() { var model = new OsztalySearchModel(); model.TanevList = new ComboBoxHelperApiController().GetTanevListDropDown(); return View("Index", model); } public ActionResult OpenOsztalyModifyPopup(int osztalyId) { var omodel = AmiOsztalyCsoportLogic.GetOsztalyBasicProperties(osztalyId); var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); var osztalyJellemzoi = helper.GetOsztalyJellemzoi(osztalyId: osztalyId); omodel.KepzesList = OsztalyCsoportLogic.GetKepzesList(); omodel.OsztalyTanuloinakKepzesiJellemzoiModel.OsztalyId = osztalyId; omodel.OsztalyCsoportTanuloinakMunkarendjeModel.OsztalyCsoportId = osztalyId; omodel.OsztalyCsoportTanuloinakMunkarendjeModel.IsOsztaly = true; omodel.IsNktBlockVisible = osztalyJellemzoi[OsztalyJellemzoEnum.IsNKTSzakkepzeses] && ClaimData.IsSelectedTanev20_21OrLater && !ClaimData.IsSelectedTanev21_22OrLater; omodel.IsNKTSzakkepzeses = osztalyJellemzoi[OsztalyJellemzoEnum.IsNKTSzakkepzeses]; omodel.FeladatellatasiHelyIsNkt = OsztalyCsoportLogic.GetFeladatellatasiHelyIsNktDictionary(); AmiOsztalyCsoportLogic.SetOsztalyKepzesiJellemzokVisibility(omodel, osztalyId); OsztalyCsoportLogic.SetOsztalyMunkarendVisibility(omodel, osztalyId); omodel.TabList = GetModifytabItems(omodel); var pm = new PopUpModel(omodel, "OsztalyModify_Bevitel"); pm = pm.AddCancelBtn(pm, "OsztalyHelper.cancel"); pm = pm.AddOkBtn(pm, "OsztalyHelper.save"); return PartialView(Constants.General.PopupView, pm); } public ActionResult OpenOsztalyAddPopup() { PopUpModel pm; var omodel = AmiOsztalyCsoportLogic.GetOsztalyBasicProperties(); omodel.KepzesiForma = (int)TanterviJellegEnum.nappali_rendszeru_iskolai_oktatas; omodel.KepzesList = OsztalyCsoportLogic.GetKepzesList(); omodel.IsFeladatellatasiHelySzures = true; omodel.FeladatellatasiHelyIsNkt = OsztalyCsoportLogic.GetFeladatellatasiHelyIsNktDictionary(); pm = new PopUpModel(omodel, "OsztalyAdd_Bevitel"); pm = pm.AddCancelBtn(pm, "OsztalyHelper.cancel"); pm = pm.AddOkBtn(pm, "OsztalyHelper.save"); return PartialView(Constants.General.PopupView, pm); } public ActionResult OpenDeleteOsztalyPopup(List osztalyIdLista) { var pm = new PopUpModel(osztalyIdLista, "OsztalyDelete"); pm = pm.AddCancelBtn(pm, "OsztalyHelper.deleteCancel"); pm = pm.AddBtn(pm, "btnSave", OsztalyCsoportResource.TorlesACsoportjaivalEgyutt, "OsztalyHelper.deleteOsztalyCsoportokkal"); pm = pm.AddBtn(pm, "btnSaveWithout", OsztalyCsoportResource.TorlesCsakAzOsztaly, "OsztalyHelper.deleteOsztalyCsoportokNelkul"); return PartialView(Constants.General.PopupView, pm); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult GetOsztalyBaseProperties(int id) { var omodel = AmiOsztalyCsoportLogic.GetOsztalyBasicProperties(id); var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); var osztalyJellemzoi = helper.GetOsztalyJellemzoi(osztalyId: id); omodel.OsztalyTanuloinakKepzesiJellemzoiModel.OsztalyId = id; AmiOsztalyCsoportLogic.SetOsztalyKepzesiJellemzokVisibility(omodel, id); omodel.IsNktBlockVisible = osztalyJellemzoi[OsztalyJellemzoEnum.IsNKTSzakkepzeses] && ClaimData.IsSelectedTanev20_21OrLater && !ClaimData.IsSelectedTanev21_22OrLater; return PartialView("Info_Alapadatok_Tab", omodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult GetOsztalyTanuloi(int id) { var omodel = new AmiOsztalyModel() { ID = id }; return PartialView("Info_Osztalytanuloi_Tab", omodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult GetOsztalyBontascsoportjai(int id) { var omodel = new AmiOsztalyModel() { ID = id }; return PartialView("Info_OsztalybontasCsoportjai_Tab", omodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult GetOsztalyFoglalkozasai(int id) { var omodel = new AmiOsztalyModel() { ID = id }; return PartialView("Info_OsztalyFoglalkozasai_Tab", omodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult GetOsztalyOrarendiOrai(int id) { var omodel = new AmiOsztalyModel() { ID = id }; return PartialView("Info_OsztalyOrarendiOrai_Tab", omodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult GetOsztalyTanmenetei(int id) { var omodel = new AmiOsztalyModel() { ID = id }; return PartialView("Info_OsztalyTanmenetei_Tab", omodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult GetOsztalyErtekelesei(int id) { var omodel = new AmiOsztalyModel() { ID = id }; return PartialView("Info_OsztalyErtekelesei_Tab", omodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult GetOsztalyIgazolasai(int id) { var omodel = new AmiOsztalyModel() { ID = id }; return PartialView("Info_OsztalyIgazolasai_Tab", omodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult GetOsztalyTanuloinakKepzesiJellemzoi(int id) { var omodel = new AmiOsztalyModel() { ID = id }; omodel.OsztalyTanuloinakKepzesiJellemzoiModel.OsztalyId = id; AmiOsztalyCsoportLogic.SetOsztalyKepzesiJellemzokVisibility(omodel, id); return PartialView("Info_OsztalyKepzesiJellemzok_Tab", omodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult GetOsztalyTanuloinakMunkarendje(int id) { var omodel = AmiOsztalyCsoportLogic.GetOsztalyBasicProperties(id); omodel.OsztalyCsoportTanuloinakMunkarendjeModel.OsztalyCsoportId = id; omodel.OsztalyCsoportTanuloinakMunkarendjeModel.IsOsztaly = true; OsztalyCsoportLogic.SetOsztalyMunkarendVisibility(omodel, id); return PartialView("Info_OsztalyMunkarend_Tab", omodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.AMImodul.ClaimValue)] public ActionResult OpenOsztalyPropertiesTab(int osztalyID, bool fromAdd = false) { var omodel = new AmiOsztalyModel() { ID = osztalyID, }; var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); var osztalyJellemzoi = helper.GetOsztalyJellemzoi(osztalyId: osztalyID); omodel.IsNKTSzakkepzeses = osztalyJellemzoi[OsztalyJellemzoEnum.IsNKTSzakkepzeses]; omodel.TabList = GetTabItems(omodel); PopUpModel pm = new PopUpModel(omodel, "OsztalyProperties_Info"); pm = pm.AddCancelBtn(pm, fromAdd ? "OsztalyHelper.cancel" : "OsztalyHelper.propertiesCancel"); return PartialView(Constants.General.PopupView, pm); } public ActionResult OpenModPopUp(List osztalyList) { var model = OsztalyCsoportLogic.SetModPopUpModel(osztalyList); model.TabList = GetGroupModifytabItems(model); PopUpModel pm = new PopUpModel(model, "OsztalyGroupModify_Bevitel"); pm = pm.AddCancelBtn(pm, "OsztalyHelper.modCancel"); pm = pm.AddOkBtn(pm, "OsztalyHelper.confirmCsopModWindow"); var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); var osztalyJellemzoi = helper.GetOsztalyJellemzoi(); model.IsNktBlockVisible = osztalyJellemzoi[OsztalyJellemzoEnum.IsNKTSzakkepzeses] && ClaimData.IsSelectedTanev20_21OrLater; model.FeladatellatasiHelyIsNkt = OsztalyCsoportLogic.GetFeladatellatasiHelyIsNktDictionary(); return PartialView(Constants.General.PopupView, pm); } public ActionResult GetPartialView(string dataType, int osztalyid) { return PartialView("_TanuloSorolasPartialRowFunction", OsztalyCsoportLogic.GetModelForPartialViewOsztaly(dataType, osztalyid)); } public ActionResult OpenBesorolasModDatum(int tanuloid, int osztalyid) { return PartialView(Constants.General.PopupView, OsztalyCsoportLogic.GetPopUpModelForBesorolasModDatumOsztaly(tanuloid, osztalyid)); } public ActionResult OpenKisorolasModDatum(int tanuloid, int osztalyid) { return PartialView(Constants.General.PopupView, OsztalyCsoportLogic.GetPopUpModelForKisorolasModDatumOsztaly(tanuloid, osztalyid)); } public ActionResult OpenKisorolas(int tanuloid, int osztalyid) { return PartialView(Constants.General.PopupView, OsztalyCsoportLogic.GetPopUpModelForKisorolasOsztaly(tanuloid, osztalyid)); } public List GetTabItems(AmiOsztalyModel model) { const string OsztalyController = Constants.Controllers.OsztalyAmi; var items = new List(); items.Add(new TabStripItemModel { ItemId = "1", ItemName = StringResourcesUtil.GetString(161), Area = "OsztalyCsoport", Controller = OsztalyController, Action = "GetOsztalyBaseProperties", RouteParameters = new Dictionary() { { "id", model.ID.ToString() } } }); items.Add(new TabStripItemModel { ItemId = "2", ItemName = TanuloResource.Novendekek, Area = "OsztalyCsoport", Controller = OsztalyController, Action = "GetOsztalyTanuloi", RouteParameters = new Dictionary() { { "id", model.ID.ToString() } } }); items.Add(new TabStripItemModel { ItemId = "3", ItemName = StringResourcesUtil.GetString(472)/*Csoportok*/, Area = "OsztalyCsoport", Controller = OsztalyController, Action = "GetOsztalyBontascsoportjai", RouteParameters = new Dictionary() { { "id", model.ID.ToString() } } }); items.Add(new TabStripItemModel { ItemId = "4", ItemName = StringResourcesUtil.GetString(164)/*Foglalkozások*/, Area = "OsztalyCsoport", Controller = OsztalyController, Action = "GetOsztalyFoglalkozasai", RouteParameters = new Dictionary() { { "id", model.ID.ToString() } } }); if (!ClaimData.IsSzirIntezmeny) { items.Add(new TabStripItemModel { ItemId = "5", ItemName = StringResourcesUtil.GetString(165)/*Órarendi órák*/, Area = "OsztalyCsoport", Controller = OsztalyController, Action = "GetOsztalyOrarendiOrai", RouteParameters = new Dictionary() { { "id", model.ID.ToString() } }, IsETTFDisabled = true }); items.Add(new TabStripItemModel { ItemId = "6", ItemName = StringResourcesUtil.GetString(166)/*Tanmenetek*/, Area = "OsztalyCsoport", Controller = OsztalyController, Action = "GetOsztalyTanmenetei", RouteParameters = new Dictionary() { { "id", model.ID.ToString() } }, IsETTFDisabled = true }); items.Add(new TabStripItemModel { ItemId = "7", ItemName = StringResourcesUtil.GetString(1701)/*Értékelések*/, Area = "OsztalyCsoport", Controller = OsztalyController, Action = "GetOsztalyErtekelesei", RouteParameters = new Dictionary() { { "id", model.ID.ToString() } }, IsETTFDisabled = true }); items.Add(new TabStripItemModel { ItemId = "8", ItemName = StringResourcesUtil.GetString(658)/*Igazolások*/, Area = "OsztalyCsoport", Controller = OsztalyController, Action = "GetOsztalyIgazolasai", RouteParameters = new Dictionary() { { "id", model.ID.ToString() } }, IsETTFDisabled = true }); } if (ClaimData.IsSelectedTanev21_22OrLater && model.IsNKTSzakkepzeses) { items.Add(new TabStripItemModel { ItemId = ClaimData.IsSzirIntezmeny ? "5" : "9", ItemName = CommonResource.KepzesiJellemzok, Area = "OsztalyCsoport", Controller = OsztalyController, Action = "GetOsztalyTanuloinakKepzesiJellemzoi", RouteParameters = new Dictionary() { { "id", model.ID.ToString() } } }); } if (ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny) { items.Add(new TabStripItemModel { ItemId = ClaimData.IsSzirIntezmeny ? "6" : "10", ItemName = CommonResource.Munkarend, Area = "OsztalyCsoport", Controller = OsztalyController, Action = "GetOsztalyTanuloinakMunkarendje", RouteParameters = new Dictionary() { { "id", model.ID.ToString() } } }); } return items; } public List GetModifytabItems(AmiOsztalyModel model) { var items = new List(); items.Add(new TabStripItemModel { ItemId = "1", ItemName = CommonResource.Alapadatok, PartialViewName = "OsztalyModify_Alapadatok_Tab", Model = model, IsActive = true }); items.Add(new TabStripItemModel { ItemId = "2", ItemName = CommonResource.AzOsztalybaJaroNovendekekListaja, PartialViewName = "OsztalyModify_Tanulok_Tab", Model = model }); items.Add(new TabStripItemModel { ItemId = "3", ItemName = CommonResource.NaplosorszamEsTorzslapszamBeallitasai, PartialViewName = "OsztalyModify_NaplosorszamEsTorzslapszamBeallitasai_Tab", Model = model }); if (ClaimData.IsSelectedTanev21_22OrLater && model.IsNKTSzakkepzeses) { items.Add(new TabStripItemModel { ItemId = "OsztalyKepzesiJellemzok_TabStripId", ItemName = CommonResource.KepzesiJellemzok, PartialViewName = "Info_OsztalyKepzesiJellemzok_Tab", Model = model }); } if (ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny) { items.Add(new TabStripItemModel { ItemId = "OsztalyMunkarend_TabStripId", ItemName = CommonResource.Munkarend, PartialViewName = "Info_OsztalyMunkarend_Tab", Model = model }); } return items; } public List GetGroupModifytabItems(ModOsztalyModel model) { var items = new List(); items.Add(new TabStripItemModel { ItemId = "1", ItemName = CommonResource.Alapadatok, PartialViewName = "OsztalyGroupModify_Alapadatok_Tab", Model = model, IsActive = true }); items.Add(new TabStripItemModel { ItemId = "2", ItemName = CommonResource.AutomatikusSorszamozas, PartialViewName = "OsztalyGroupModify_NaplosorszamEsTorzslapszamBeallitasai_Tab", Model = model }); return items; } #region Export public ActionResult ExportEvfolyamAktualisLetszamadatai([FromUri] OsztalySearchModel data) { return OsztalyCsoportLogic.ExportEvfolyamAktualisLetszamadataiForOsztaly(OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas, data); } public ActionResult ExportOsztalyokMindenAdata([FromUri] OsztalySearchModel model) { return OsztalyCsoportLogic.ExportOsztalyokMindenAdata(OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas, model); } public ActionResult ExportOsztalybaJaroTanulok([FromUri] OsztalySearchModel data) { return OsztalyCsoportLogic.ExportOsztalybaJaroTanulok(OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas, data); } public ActionResult ExportOsztalyokAktualisLetszamadatai([FromUri] OsztalySearchModel data) { return OsztalyCsoportLogic.ExportOsztalyokAktualisLetszamadatai(OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas, data); } #endregion } }