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

295 lines
14 KiB
C#

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<List<int>>(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<List<int>>(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<TabStripItemModel> GetTantargyTobbesModTabs(TantargyModModel model)
{
List<TabStripItemModel> list = new List<TabStripItemModel>();
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<TantargyModModel> 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<List<int>>(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<TabStripItemModel> GetTabItems(TantargyModel tmodel)
{
var items = new List<TabStripItemModel>();
//Alapadatok
items.Add(new TabStripItemModel { ItemId = "1", ItemName = StringResourcesUtil.GetString(161), Area = "Tantargy", Controller = "Tantargyak", Action = "OpenTantargyakBaseProperties", RouteParameters = new Dictionary<string, string>() { { "Id", tmodel.ID.ToString() } } });
//Foglalkozasok
items.Add(new TabStripItemModel { ItemId = "2", ItemName = StringResourcesUtil.GetString(164), Area = "Tantargy", Controller = "Tantargyak", Action = "OpenTantargyakFoglalkozasai", RouteParameters = new Dictionary<string, string>() { { "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<string, string>() { { "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<string, string>() { { "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<string, string>() { { "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<string, string>() { { "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<string, string>() { { "Id", tmodel.ID.ToString() } }, IsETTFDisabled = true });
return items;
}
private List<SelectListItem> GetMinositesRadioButtonItems()
{
List<SelectListItem> list = new List<SelectListItem>();
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<SelectListItem> GetTargyKategoriaList()
{
List<SelectListItem> list = new List<SelectListItem>();
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<SelectListItem> GetFotargyakList(int tanevId, int id)
{
IDictionary<string, string> fotargyLista;
List<SelectListItem> list = new List<SelectListItem>();
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;
}
}
}