using System.Collections.Generic; using System.Linq; using System.Web.Http; using System.Web.Mvc; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Helpers.SystemSettings; using Kreta.BusinessLogic.Security; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Framework; using Kreta.Framework.Util; using Kreta.Resources; using Kreta.Web.Areas.Tantargy.Logic; using Kreta.Web.Areas.Tantargy.Models; using Kreta.Web.Helpers; using Kreta.Web.Helpers.TabStrip; using Kreta.Web.Models; using Kreta.Web.Models.EditorTemplates; using Kreta.Web.Security; namespace Kreta.Web.Areas.Tantargy.Controllers { [MvcRoleClaimsAuthorize(true)] [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)] public class TantargyakController : Controller { [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)] public ActionResult Index(string filter) { TantargySearchModel model = TantargySearchModel.SetFilterTantargySearchModel(filter); model.NemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek); model.IsSzakkepzo = ClaimData.IsSzakkepzoIntezmeny; return View("Index", model); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)] public ActionResult ErrorIndex(bool? nincsTantargykategoria) { TantargySearchModel model = new TantargySearchModel(); if (nincsTantargykategoria.HasValue && nincsTantargykategoria.Value) { model.nincsTantargykategoria = nincsTantargykategoria; } return View("Index", model); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)] public ActionResult OpenTantargyPropertiesTab(int tantargyID) { TantargyModel tmodel = new TantargyModel() { ID = tantargyID, RadioButtonItems = GetMinositesRadioButtonItems() }; tmodel.TabList = GetTabItems(tmodel); PopUpModel pm = new PopUpModel(tmodel, "TantargyProperties_Info"); pm = pm.AddCancelBtn(pm, "TantargyHelper.propertiesCancel"); return PartialView(Constants.General.PopupView, pm); } public ActionResult OpenTantargyModifyAddPopup(int? tantargyID) { TantargyModel tmodel; if (tantargyID.HasValue) { tmodel = GetTantargyBaseProperties(tantargyID.Value); } else { tmodel = new TantargyModel(); tmodel.SetDefaultsForNew(); } tmodel.NemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek); var tabModel = TantargyLogic.GetTabModel(tmodel); PopUpModel pm = new PopUpModel(tabModel, "TantargyModifyAdd_Bevitel"); pm = pm.AddCancelBtn(pm, "TantargyHelper.modifyAddCancel"); pm = pm.AddBtn(pm, "saveTantargy", CommonResource.Mentes, "TantargyHelper.saveModifyAddTantargy"); return PartialView(Constants.General.PopupView, pm); } public static List GetTantargyTobbesModTabs(TantargyModModel model) { List list = new List(); list.Add(new TabStripItemModel() { ItemId = "1", ItemName = TantargyResource.Alapadatok, Model = model, PartialViewName = "~/Areas/Tantargy/Views/Tantargyak/TantargyTobbesModify.cshtml" }); list[0].IsActive = true; return list; } public ActionResult OpenModPopup(List tantargyakList) { TantargyModModel tmodel = new TantargyModModel(); tmodel.TabList = GetTantargyTobbesModTabs(tmodel); foreach (var item in tantargyakList) { tmodel.TantargyakIDArray += item.ID.ToString() + ","; tmodel.TantargyakNevArray += item.TantargyNev.ToString() + ", "; } tmodel.TantargyakIDArray = tmodel.TantargyakIDArray.Remove(tmodel.TantargyakIDArray.Length - 1); tmodel.TantargyakNevArray = tmodel.TantargyakNevArray.Remove(tmodel.TantargyakNevArray.Length - 2); PopUpModel pm = new PopUpModel(tmodel, "TantargyModify_bevitel"); pm = pm.AddCancelBtn(pm, "TantargyHelper.modifyAddCancel"); pm = pm.AddBtn(pm, "saveTantargy", CommonResource.Mentes, "TantargyHelper.saveCsoportosModifyAddTantargy"); return PartialView(Constants.General.PopupView, pm); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)] public ActionResult OpenTantargyakBaseProperties(int id) { TantargyModel tmodel = GetTantargyBaseProperties(id); tmodel.NemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek); return PartialView("TantargyBasicProperties_Tab", tmodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)] public ActionResult OpenTantargyakFoglalkozasai(int id) { TantargyModel tmodel = new TantargyModel() { ID = id }; return PartialView("TantargyFoglalkozasai_Tab", tmodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)] public ActionResult OpenTantargyakOrarendiOrai(int id) { TantargyModel tmodel = new TantargyModel() { ID = id }; return PartialView("TantargyOrarendiOrai_Tab", tmodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)] public ActionResult OpenTantargyakTanmenetei(int id) { TantargyModel tmodel = new TantargyModel() { ID = id }; return PartialView("TantargyTanmenetei_Tab", tmodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)] public ActionResult OpenTantargyakMegtartottTanorai(int id) { TantargyModel tmodel = new TantargyModel() { ID = id }; return PartialView("TantargyMegtartottTanorai_Tab", tmodel); } [MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)] public ActionResult OpenTantargyakErtekelesei(int id) { TantargyModel tmodel = new TantargyModel() { ID = id }; return PartialView("TantargyErtekelesei_Tab", tmodel); } private List GetTabItems(TantargyModel tmodel) { var items = new List(); //Alapadatok items.Add(new TabStripItemModel { ItemId = "1", ItemName = StringResourcesUtil.GetString(161), Area = "Tantargy", Controller = "Tantargyak", Action = "OpenTantargyakBaseProperties", RouteParameters = new Dictionary() { { "Id", tmodel.ID.ToString() } } }); //Foglalkozasok items.Add(new TabStripItemModel { ItemId = "2", ItemName = StringResourcesUtil.GetString(164), Area = "Tantargy", Controller = "Tantargyak", Action = "OpenTantargyakFoglalkozasai", RouteParameters = new Dictionary() { { "Id", tmodel.ID.ToString() } } }); //Orarendi orak items.Add(new TabStripItemModel { ItemId = "3", ItemName = StringResourcesUtil.GetString(165), Area = "Tantargy", Controller = "Tantargyak", Action = "OpenTantargyakOrarendiOrai", RouteParameters = new Dictionary() { { "Id", tmodel.ID.ToString() } }, IsETTFDisabled = true }); //Tanmenetek items.Add(new TabStripItemModel { ItemId = "4", ItemName = StringResourcesUtil.GetString(166), Area = "Tantargy", Controller = "Tantargyak", Action = "OpenTantargyakTanmenetei", RouteParameters = new Dictionary() { { "Id", tmodel.ID.ToString() } }, IsETTFDisabled = true }); //Megtartott tanorak items.Add(new TabStripItemModel { ItemId = "5", ItemName = StringResourcesUtil.GetString(167), Area = "Tantargy", Controller = "Tantargyak", Action = "OpenTantargyakMegtartottTanorai", RouteParameters = new Dictionary() { { "Id", tmodel.ID.ToString() } }, IsETTFDisabled = true }); //Ertekeles items.Add(new TabStripItemModel { ItemId = "6", ItemName = StringResourcesUtil.GetString(168), Area = "Tantargy", Controller = "Tantargyak", Action = "OpenTantargyakErtekelesei", RouteParameters = new Dictionary() { { "Id", tmodel.ID.ToString() } }, IsETTFDisabled = true }); //Minositesek //items.Add(new TabStripItemModel { ItemId = "7", ItemName = StringResourcesUtil.GetString(3233), Area = "Tantargy", Controller = "Tantargyak", Action = "OpenTantargyakMinositesei", RouteParameters = new Dictionary() { { "Id", tmodel.ID.ToString() } }, IsETTFDisabled = true }); return items; } private List GetMinositesRadioButtonItems() { List list = new List(); list.Add(new SelectListItem() { Value = "0", Text = StringResourcesUtil.GetString(3231), Selected = true }); list.Add(new SelectListItem() { Value = "1", Text = StringResourcesUtil.GetString(30) }); return list; } private List GetTargyKategoriaList() { List list = new List(); var itemlist = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.TargyKategoriaTipus, ClaimData.SelectedTanevID.Value, true); foreach (var item in itemlist) { SelectListItem sli = new SelectListItem() { Text = item.Value, Value = item.Key }; list.Add(sli); } return list; } private List GetFotargyakList(int tanevId, int id) { IDictionary fotargyLista; List list = new List(); var helper = new TantargyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()); fotargyLista = helper.GetFotargyak(kiveve: id).OrderBy(x => x.Value).ToDictionary(k => k.Key, v => v.Value); foreach (var item in fotargyLista) { SelectListItem sli = new SelectListItem() { Text = item.Value, Value = item.Key }; list.Add(sli); } return list; } #region Export public ActionResult ExportTantargyakMindenAdata([FromUri] TantargySearchModel data) { data.IsSzakkepzo = ClaimData.IsSzakkepzoIntezmeny; return TantargyLogic.ExportTantargyakMindenAdata(data); } #endregion private TantargyModel GetTantargyBaseProperties(int tantargyId) { var t = new TantargyHelper(ConnectionTypeExtensions.GetSessionConnectionType()); TantargyCO tantargy = t.GetTantargyById(tantargyId); TantargyModel tmodel = new TantargyModel() { ID = tantargy.ID, AltantargyNyomtatvanyban = tantargy.AltantargyNyomtatvanyban, FoTargyID = tantargy.FoTargyID, FoTargyNev = tantargy.FoTargyNev, GyakorlatiTargy = tantargy.GyakorlatiTargy, IsFoTargy = tantargy.isFoTargy, NevNyomtatvanyban = tantargy.NevNyomtatvanyban, TantargyNev = tantargy.TantargyNev, TantargyRovidNev = tantargy.TantargyRovidNev, TargyKategoria = tantargy.TargyKategoria, TargyKategoriaNev = tantargy.TargyKategoriaNev, ESLTargyKategoria = tantargy.ESLTantargykategoria, ESLTargyKategoriaNev = tantargy.ESLTantargykategoriaNev, Tanev = tantargy.Tanev, TantargyAngolNev = tantargy.TantargyAngolNev, TantargyNemetNev = tantargy.TantargyNemetNev, TantargyHorvatNev = tantargy.TantargyHorvatNev, TantargyRomanNev = tantargy.TantargyRomanNev, TantargySzerbNev = tantargy.TantargySzerbNev, Sorszam = tantargy.Sorszam, Megjegyzes = tantargy.Megjegyzes, Gyakorlatigenyesseg = tantargy.Gyakorlatigenyesseg, IsAmiTargyMod = tantargy.IsAmiTargy, IsKollegiumiTargy = tantargy.IsKollegiumiTargy, IsEgymi = tantargy.IsEgymiTargy, IsFelnottOktatas = tantargy.IsFelnottOktatasTargy, IsNincsBeloleOraMod = tantargy.IsNincsBeloleOra, IsTanulmanyiAtlagbaNemSzamit = tantargy.IsTanulmanyiAtlagbaNemSzamit, IsOsztalynaplobanNemJelenikMeg = tantargy.IsOsztalynaplobanNemJelenikMeg, IsOsztalyOrarendjebenMegjelenik = tantargy.IsOsztalyokOrarendjebenMegjelenik, IsMszgTargy = tantargy.IsMszgTargy, AmiKepzesiJellemzokModel = new AmiKepzesiJellemzokModel() { MufajTipusId = tantargy.MufajTipusId, TanszakTipusId = tantargy.TanszakTipusId, MuveszetiAgId = tantargy.MuveszetiAgId } }; tmodel.SetErtekelesKorlatozasIdList(tantargy); return tmodel; } } }