using System.Web.Mvc; using BeWoPlanerMobil.Models; using BeWoPlanerMobil.Service; using Bogus; using BS.Shared.DataContracts; namespace BeWoPlanerMobil.Controllers { public class DevToolsController : AbstractBaseController { private DevToolsModel _Model; public DevToolsModel Model { get { if(!MobileSessionFacade.IsUserLoggedIn()) { Logout(); return null; } if(_Model is null) { _Model = new DevToolsModel(); InitModel(_Model); } return _Model; } } [Authorize] public ActionResult DevTools() { if(!MobileSessionFacade.IsUserLoggedIn() || Model is null) { return RedirectToActionPermanent("Index", "Login"); } return View(Model); } [Authorize] public ActionResult LoadSettingsPartial() { Model.MandatorSettings = new MandatorSettings(MobileSessionFacade.Mandator.Settings); return PartialView("DevToolsSettingsPartial", Model); } [Authorize] public ActionResult LoadUserRightPartial() { return PartialView("DevToolsUserRightsPartial", Model); } [Authorize] public ActionResult LoadDataGenerationPartial() { return PartialView("DevToolsDataGenerationPartial", Model); } [Authorize] public override string SaveCollapsibleStatus(bool isOpen, string identifier) { return SaveCollapsibleStatusToModel(Model, isOpen, identifier); } private Faker _AddressFaker = new Faker("de"); [Authorize] [HttpPost] public ActionResult GenerateDemoData() { return PartialView("DevToolsDataGenerationPartial", Model); } } }