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

93 lines
3.1 KiB
C#

using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Resources;
using Kreta.Web.Areas.Tantargy.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tantargy.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
public class TanorakController : Controller
{
private IKretaAuthorization Authorization { get; }
public TanorakController(IKretaAuthorization authorization)
{
Authorization = authorization;
}
// GET: Tantargy/Tanorak
public ActionResult Index()
{
TanorakSearchModel model = new TanorakSearchModel();
return View("Index", model);
}
public ActionResult OpenAdatokPopup(int ID)
{
try
{
if (!Authorization.IsValidTanitasiOra(ID))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
}
PopUpModel pm = new PopUpModel(GetTanoraAdatokModel(ID), "TanorakAdatok");
pm = pm.AddCancelBtn(pm, "TanorakHelper.adatokCancel");
return PartialView(Constants.General.PopupView, pm);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
private TanoraAdatokModel GetTanoraAdatokModel(int id)
{
TanoraCO co;
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
co = helper.GetTanorakAdatok(id);
TanoraAdatokModel model = ConvertTanoraCoToTanoraAdatokModel(co);
return model;
}
private TanoraAdatokModel ConvertTanoraCoToTanoraAdatokModel(TanoraCO co)
{
TanoraAdatokModel model = new TanoraAdatokModel()
{
Datum = co.Datum.ToShortDateString(),
HelyNev = co.TeremNev,
HetNapja = co.HetNapjaNev,
Id = co.ID,
Oraszam = string.IsNullOrWhiteSpace(co.OraIdopont) ? co.Oraszam.ToString() : co.OraIdopont,
OraSorszama = co.EvesOraSorszam.HasValue ? co.EvesOraSorszam.Value.ToString() : "",
OsztCsopNev = co.OsztalyCsoportNev,
TanarNev = co.TanarNev,
TargyNev = co.TantargyNev,
Tema = co.Megtartott.HasValue && co.Megtartott.Value ? co.Tema : "-",
FoglalkozasNev = co.FoglalkozasNev,
Megtartott = co.Megtartott.Value,
OraKezdete = co.OraKezd.ToShortTimeString(),
OraVege = co.OraVeg.ToShortTimeString()
};
return model;
}
}
}