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

148 lines
5.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Controllers;
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(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminKozpontiOrakController : Controller
{
// GET: Orarend/AdminKozpontiOrak
public ActionResult Index()
{
var model = new KozpontiOraModel();
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = helper.GetHetirendek();
model.NaptariHetekHetirendJson = helper.GetNaptariHetekHetirendek();
var co = helper.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 comboBoxHelperController = new ComboBoxHelperApiController();
model.Tanarok = comboBoxHelperController.GetTanarDropDown().ToJson();
model.Tantargyak = comboBoxHelperController.GetTantargyDropDown(filterNincsBeloleOra: true).ToJson();
model.Termek = comboBoxHelperController.GetTeremListWithoutGroupDropDown().ToJson();
model.TabList = GetKozpontiOraTabs();
return View("Index", model);
}
public ActionResult OpenSelectPopUp()
{
var model = new PopUpModel(new object(), "Select_PopUp");
model.AddCancelBtn(model, "KozpontiOra.selectPopUpWindowCancel");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenDetailsGrid(AdminKozpontiOrakOsztalyokGridModel model)
{
return PartialView("DetailGrid", model);
}
public ActionResult OpenModositasPopUp(DateTime start, DateTime end, int hanyadikOra)
{
var model = new PopUpModel(new AdminKozpontiOrakSearchModel { Start = start, End = end, HanyadikOra = hanyadikOra }, "Modositas_PopUp");
model.AddCancelBtn(model, "KozpontiOra.modositasPopUpWindowCancel");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenOrarendiOrakTorleseKozpontilagPopUp(DateTime start, DateTime end, int hanyadikOra)
{
var model = new PopUpModel(new AdminKozpontiOrakSearchModel { Start = start, End = end, HanyadikOra = hanyadikOra }, "OrarendiOrakTorleseKozpontilag_PopUp");
model.AddCancelBtn(model, "KozpontiOra.deleteOrarendiOrakKozpontilagPopUpWindowCancel");
model.AddBtn(model, "torlesBtn", CommonResource.Torles, "KozpontiOra.OrarendOrakTorleseKozpontilag");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenOrarendiOrakVisszaallitasaPopUp(DateTime start, DateTime end, int hanyadikOra)
{
var model = new PopUpModel(new AdminKozpontiOrakSearchModel { Start = start, End = end, HanyadikOra = hanyadikOra }, "OrarendiOrakVisszaallitasa_PopUp");
model.AddBtn(model, "megseBtn", KozpontiOrakResource.KilepesVisszaallitasNelkul, "KozpontiOra.OrarendiOrakVisszaallitasaPopUpWindowCancel");
model.AddBtn(model, "torlesBtn", KozpontiOrakResource.KijeloltOrakVisszaallitasa, "KozpontiOra.OrarendOrakVisszaallitasa");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenCreate(TanoraAdatok model)
{
var rogzitesModel = AdminKozpontiOrakRogzitesModel.MapFromTanoraAdatok(model);
return PartialView("Create", rogzitesModel);
}
public ActionResult OpenUtkozoOrak(DateTime start, DateTime end, int hanyadikora, List<AdminKozpontiOrakRogzitesSelectedModel> list)
{
var searchModel = new AdminKozpontiOrakSearchModel
{
Start = start.ToLocalTime(),
End = end.ToLocalTime(),
HanyadikOra = hanyadikora,
KozpontiOrakList = list
};
return PartialView("UtkozoOrarendiOrak", searchModel);
}
public ActionResult OpenCreateTanoraAdatok(AdminKozpontiOrakRogzitesModel model)
{
var tanoraAdataiModel = TanoraAdatok.MapFromKozpontiOrakRogzitesModel(model);
tanoraAdataiModel.Sorszamozando = true;
return PartialView("CreateTanoraAdatok", tanoraAdataiModel);
}
public ActionResult GetKozpontiOra(int index = 0)
{
var model = new KozpontiOraCalendarModel
{
Index = index
};
return View("KozpontiOra_Tab", model);
}
private List<TabStripItemModel> GetKozpontiOraTabs()
{
return new List<TabStripItemModel>
{
new TabStripItemModel
{
ItemId = "0",
ItemName = KozpontiOrakResource.KozpontiOraKezelese,
Area = "Orarend",
Controller = "AdminKozpontiOrak",
Action = "GetKozpontiOra",
RouteParameters = new Dictionary<string, string> {
{ "index", "0"}
}
}
};
}
}
}