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

75 lines
3.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mime;
using System.Text;
using System.Web;
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.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Tanulo.Helper;
using Kreta.Web.Areas.Tanulo.Models;
using Kreta.Web.Areas.TanuloErtekeles.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Modal;
using Kreta.Web.Models;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanulo.Controllers
{
public class BaseTanuloController : Controller
{
[System.Web.Mvc.NonAction]
public ActionResult OpenDetailTanuloPopUp(int tanuloId, int? osztalycsoportId, bool isFromSzervezet, bool ertekelesTabAktiv = false, bool tanugyDisabled = false, bool fromAdd = false)
{
if (osztalycsoportId.HasValue)
{
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
Enum.TryParse(osztalyCsoportHelper.GetOsztalyCsoportFeladatKategoria(osztalycsoportId.Value).ToString(), out OktNevelesiKategoriaEnum kategoria);
if (kategoria == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas)
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var gimnaziumAlapkepzeseskentKezelendo = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Szakgimnaziumok_Alapkezpeseskent_Tudjak_Kezelni_osztalyokat_Tanulokat);
if (!(gimnaziumAlapkepzeseskentKezelendo && osztalyCsoportHelper.GetOsztalyCsoportOktatasNevelesiFeladatTipus(osztalycsoportId.Value) == (int)OktatasiNevelesiFeladatEnum.MuveszetiSzakgimnazium))
{
return RedirectToAction("OpenDetailTanuloPopUp", Constants.Controllers.AmiTanulo, new { tanuloId, osztalycsoportId, ertekelesTabAktiv, fromAdd });
}
}
if (kategoria == OktNevelesiKategoriaEnum.Kollegium)
{
return RedirectToAction("OpenDetailTanuloPopUp", Constants.Controllers.KollegiumTanulo, new { tanuloId, osztalycsoportId, ertekelesTabAktiv, tanugyDisabled, fromAdd });
}
if (kategoria == OktNevelesiKategoriaEnum.EGYMI)
{
return RedirectToAction("OpenDetailTanuloPopUp", Constants.Controllers.EGYMITanulo, new { tanuloId, osztalycsoportId, ertekelesTabAktiv, tanugyDisabled, fromAdd });
}
}
var tanuloDetailModel = new TanuloDetailModel { TanuloId = tanuloId, OsztalycsoportId = osztalycsoportId };
var popUpModel = new PopUpModel(new TanuloSearchModel
{
TanuloId = tanuloId,
TanuloModalHeader = TanuloLogic.GetTanuloModalHeader(tanuloId),
TabList = AlapkepzesTanuloLogic.GetDetailTabs(tanuloDetailModel, ertekelesTabAktiv, tanugyDisabled, isFromSzervezet)
}, "Tanulo_Info");
popUpModel = popUpModel.AddCancelBtn(popUpModel, "TanuloHelper.detailTanuloCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
}
}