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; } } }