using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web.Mvc; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.Extensions; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Helpers.SystemSettings; using Kreta.BusinessLogic.Security; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Framework; using Kreta.KretaServer.SystemSettings; using Kreta.Resources; using Kreta.Web.Areas.Intezmeny.Logic; using Kreta.Web.Areas.Orarend.ApiControllers; using Kreta.Web.Areas.Orarend.Logic; using Kreta.Web.Areas.Orarend.Models; using Kreta.Web.Helpers; using Kreta.Web.Helpers.TabStrip; 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(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)] public class AdminTeremOrarendController : BaseAdminTeremOrarendController { public ActionResult Index() { var model = new AdminTeremOrarendModel { TabList = GetAdminOrarendTabs() }; var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType()); model.HetirendJson = orarendHelper.GetHetirendek(); model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek(); 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); 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); model.IsOravegeBeallitasOrahosszAlapjan = systemSettingsHelper.GetSystemSettingValue(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz); return View(model); } public ActionResult GetOrarendiOrak(int index = 0) { return GetOrarendiOrak(index, false); } public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1) { return GetTanoranKivuliFoglalkozasok(index, false); } public List GetAdminOrarendTabs() { var list = new List { new TabStripItemModel { ItemId = "0", ItemName = AdminisztracioResource.Tanorak, Area = "Orarend", Controller = "AdminOsztalyOrarend", Action = "GetOrarendiOrak", RouteParameters = new Dictionary { { "index", "0" } } }, new TabStripItemModel { ItemId = "1", ItemName = AdminisztracioResource.Napirend, Area = "Orarend", Controller = "AdminOsztalyOrarend", Action = "GetTanoranKivuliFoglalkozasok", RouteParameters = new Dictionary { { "index", "1" } } } }; return list; } public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model) { return OpenNewOrarendiOraPopUp(model, false); } public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model) { return OpenModifyOrarendiOraPopUp(model, false); } public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model) { return OpenNewFoglalkozasokOraPopUp(model, false); } public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model) { return OpenModifyFoglalkozasokOraPopUp(model, false); } } }