using System; using System.Collections.Generic; using System.Web.Mvc; using Kreta.BusinessLogic.Extensions; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Helpers.SystemSettings; using Kreta.BusinessLogic.Security; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Resources; using Kreta.Web.Areas.Orarend.Models; using Kreta.Web.Helpers; using Kreta.Web.Helpers.TabStrip; using Kreta.Web.Security; using Kreta.Web.Utils; namespace Kreta.Web.Areas.Orarend.Controllers { [MvcRoleClaimsAuthorize(true)] [MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)] [MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)] public class CsoportOrarendController : Controller { public ActionResult Index() { var model = new CsoportVezetoOrarendModel(); var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType()); model.HetirendJson = orarendHelper.GetHetirendek(); model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek(); #region Calendar megjelenítés var co = orarendHelper.GetCalendarMinMax(); model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb" model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később" model.CsengetesiRendMinTime = new TimeSpan(); model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0); #endregion Calendar megjelenítés model.ShowKerdoivPopup = new KerdoivHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetShowKerdoivPopup(ClaimData.IsAlkalmazottPedagogus); model.TabList = GetTanariOrarendTabs(); var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType()); ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString(); ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja); return View("Index", model); } private List GetTanariOrarendTabs() { var list = new List(); var haladasiNaploFulTipusa = ProfileUtils.HaladasiNaploFulTipusa; list.Add(new TabStripItemModel() { ItemId = "0", ItemName = AdminisztracioResource.Tanorak, Area = "Orarend", Controller = "CsoportOrarend", Action = "GetTanorak", RouteParameters = new Dictionary() { {"index", "0"} }, IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Tanorak }); list.Add(new TabStripItemModel() { ItemId = "1", ItemName = AdminisztracioResource.Napirend, Area = "Orarend", Controller = "CsoportOrarend", Action = "GetTanoranKivuliFoglalkozasok", RouteParameters = new Dictionary() { {"index", "1"} }, IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Napirend }); return list; } public ActionResult GetTanorak(int index = 0) { var model = new TanariOrarendTanorakModel() { Index = index }; return View("Tanorak_Tab", model); } public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1) { var model = new TanariOrarendTanoranKivuliFoglalkozasokModel() { Index = index }; return View("TanoranKivuliFoglalkozasok_Tab", model); } } }