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

90 lines
3.9 KiB
C#

using System;
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Enums;
using Kreta.Framework;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Orarend.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class TanoraKeresoController : Controller
{
public ActionResult Index()
{
var model = new TanitasiOraSearchModel() { FeladatEllatasiHelyID = ClaimData.FelhelySzuro };
return View(model);
}
public ActionResult OpenTanitasiOraInfoPopUp(int tanitasiOraId, DateTime datum)
{
try
{
TanitasiOraInfoModel tanitasiOraInfoModel;
var helper = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
TanoraCO tanoraCO = helper.GetTanoraByOrarendiId(tanitasiOraId, datum, true, ClaimData.IsTanuloOrGondviselo);
tanitasiOraInfoModel = new TanitasiOraInfoModel
{
Datum = tanoraCO.Datum.ToShortDateString(),
Oraszam = tanoraCO.Oraszam,
HetNapja = tanoraCO.HetNapjaNev,
Hetirend = tanoraCO.HetirendNev,
Foglalkozas = tanoraCO.FoglalkozasNev,
OsztalyCsoport = tanoraCO.OsztalyCsoportNev,
Tantargy = tanoraCO.TantargyNev,
Tanar = tanoraCO.TanarNev,
Terem = tanoraCO.TeremNev,
Megtartott = tanoraCO.Megtartott.HasValue ? tanoraCO.Megtartott.Value.GetDisplayName() : StringResourcesUtil.GetString(3610)/*Nem naplózott*/,
Sorszamozando = tanoraCO.Sorszamozando.GetDisplayName(),
OraKezdete = tanoraCO.OraKezd.ToString("HH:mm"),
OraVege = tanoraCO.OraVeg.ToString("HH:mm"),
Tema = tanoraCO.Tema,
Megjegyzes = tanoraCO.Megjegyzes,
HelyettesitoTanar = tanoraCO.HelyettesitesitoTanarNeve,
HelyettesitesTipusa = tanoraCO.HelyettesitesTipus?.GetDisplayName<HelyettesitesTipusEnum>(ClaimData.SelectedTanevID.Value),
HelyettesitesOka = tanoraCO.HelyettesitesOka,
NaplozasIdopontja = tanoraCO.BejegyIdo.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds),
LegutobbiModositasIdopontja = tanoraCO.LegutobbiModositasIdopontja.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds)
};
var model = new PopUpModel(tanitasiOraInfoModel, "Info_PopUp");
model.AddCancelBtn(model, "TanoraKeresoHelper.tanitasiOraInfoCancel");
return PartialView(Constants.General.PopupView, model);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
public ActionResult ExportHelyettesitettTanorak(TanitasiOraSearchModel data)
{
return TanoraKeresoLogic.ExportHelyettesitettTanorak(data);
}
public ActionResult ExportElmaradtTanorak(TanitasiOraSearchModel data)
{
return TanoraKeresoLogic.ExportElmaradtTanorak(data);
}
public ActionResult ExportMegtartottTanorak(TanitasiOraSearchModel data)
{
return TanoraKeresoLogic.ExportMegtartottTanorak(data);
}
}
}