105 lines
4.4 KiB
C#
105 lines
4.4 KiB
C#
using System.Collections.Generic;
|
|
using System.Web.Mvc;
|
|
using Kreta.Core.FeatureToggle;
|
|
using Kreta.Core.FileService;
|
|
using Kreta.Enums;
|
|
using Kreta.Web.Areas.Intezmeny.Logic;
|
|
using Kreta.Web.Areas.Intezmeny.Models;
|
|
using Kreta.Web.Models.EditorTemplates;
|
|
using Kreta.Web.Security;
|
|
using TeremConstants = Kreta.Web.Constants.ViewNames.Terem;
|
|
|
|
namespace Kreta.Web.Areas.Intezmeny.Controllers
|
|
{
|
|
public abstract class BaseTeremController : Controller
|
|
{
|
|
protected readonly IFeatureContext FeatureContext;
|
|
protected readonly IFileService FileService;
|
|
|
|
public BaseTeremController(IFeatureContext featureContext, IFileService fileService)
|
|
{
|
|
FeatureContext = featureContext;
|
|
FileService = fileService;
|
|
}
|
|
|
|
#region Public method's
|
|
[NonAction]
|
|
public ActionResult OpenTeremPropertiesTab(int teremId, bool isFromSzervezet, string controllerName)
|
|
{
|
|
var teremModel = new TeremModel()
|
|
{
|
|
TeremId = teremId,
|
|
TabList = TeremLogic.GetDetailTabs(teremId.ToString(), HasLetesitmenyFeatureEnabled(), isFromSzervezet, controllerName),
|
|
};
|
|
teremModel.TeremAlapadatokModel.IsFromSzervezet = isFromSzervezet;
|
|
var popUpModel = new PopUpModel(teremModel, TeremConstants.TeremProperties_Info);
|
|
popUpModel = popUpModel.AddCancelBtn(popUpModel, "TeremHelper.propertiesCancel");
|
|
|
|
return PartialView(Constants.General.PopupView, popUpModel);
|
|
}
|
|
|
|
[NonAction]
|
|
public ActionResult OpenTeremBaseProperties(int teremId, bool isFromSzervezet)
|
|
{
|
|
var teremModel = TeremLogic.GetTeremBaseProperties(teremId);
|
|
teremModel.TeremAlapadatokModel.IsFromSzervezet = isFromSzervezet;
|
|
|
|
return PartialView(TeremConstants.Info_TeremBasicProperties_Tab, teremModel);
|
|
}
|
|
|
|
[NonAction]
|
|
public ActionResult OpenTeremOrarendiOrai(int teremId, bool isFromSezervezet)
|
|
{
|
|
var teremModel = new TeremModel()
|
|
{
|
|
TeremId = teremId
|
|
};
|
|
teremModel.TeremAlapadatokModel.IsFromSzervezet = isFromSezervezet;
|
|
return PartialView(TeremConstants.Info_TeremScheduledClasses_Tab, teremModel);
|
|
}
|
|
|
|
[NonAction]
|
|
public ActionResult OpenTeremModifyAddTab(int? teremId, int? szervezetId, bool isFromSzervezet = false)
|
|
{
|
|
var teremModel = TeremLogic.GetTeremBaseProperties(teremId);
|
|
teremModel.TeremAlapadatokModel.IsFromSzervezet = isFromSzervezet;
|
|
if (!teremId.HasValue)
|
|
{
|
|
teremModel.TeremAlapadatokModel.SzervezetId = szervezetId;
|
|
if (szervezetId.HasValue)
|
|
{
|
|
teremModel.TeremAlapadatokModel.MukodesiHelyID = null;
|
|
teremModel.TeremAlapadatokModel.Kapacitas = ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny ? 0 : 1;
|
|
teremModel.TeremAlapadatokModel.Jelleg = (int)TeremTipusEnum.dualis_helyszin;
|
|
}
|
|
}
|
|
|
|
teremModel.TabList = TeremLogic.GetNewTabs(teremModel, HasLetesitmenyFeatureEnabled() && !szervezetId.HasValue && !isFromSzervezet);
|
|
|
|
var popUpModel = new PopUpModel(teremModel, TeremConstants.Terem_AddModify);
|
|
popUpModel = popUpModel.AddCancelBtn(popUpModel, "TeremHelper.propertiesCancel");
|
|
popUpModel = popUpModel.AddOkBtn(popUpModel, "TeremHelper.modifyAddSave");
|
|
|
|
return PartialView(Constants.General.PopupView, popUpModel);
|
|
}
|
|
|
|
[NonAction]
|
|
public ActionResult OpenModPopup(List<TeremModModel> teremModelList, int? szervezetId, bool isFromSzervezet = false)
|
|
{
|
|
var pm = new PopUpModel(TeremLogic.GetTeremModelForModPopup(teremModelList, szervezetId, isFromSzervezet), TeremConstants.TeremModifySelected_Bevitel);
|
|
|
|
pm = pm.AddCancelBtn(pm, "TeremHelper.propertiesCancel");
|
|
pm = pm.AddOkBtn(pm, "TeremHelper.confirmCsopModWindow");
|
|
|
|
return PartialView(Constants.General.PopupView, pm);
|
|
}
|
|
#endregion
|
|
|
|
#region Private method's
|
|
private bool HasLetesitmenyFeatureEnabled()
|
|
{
|
|
return FeatureContext.IsEnabled(Core.Constants.FeatureName.LetesitmenyBerbeadas, instituteId: ClaimData.IntezmenyAzonosito, instituteIds: Core.Constants.EnableTeremberlesIntezmenyAzonList);
|
|
}
|
|
#endregion
|
|
}
|
|
}
|