2020-05-27 18:15:54 +02:00
|
|
|
|
using System;
|
2023-02-09 20:47:52 +01:00
|
|
|
|
using System.Diagnostics;
|
2020-05-27 18:15:54 +02:00
|
|
|
|
using System.Web.Mvc;
|
2016-06-27 01:45:38 +02:00
|
|
|
|
using System.Web.Security;
|
|
|
|
|
|
using BeWo.Service.ServiceContracts;
|
2020-05-27 18:15:54 +02:00
|
|
|
|
using BeWoPlanerMobil.Models;
|
2016-06-27 01:45:38 +02:00
|
|
|
|
using BeWoPlanerMobil.Service;
|
2021-04-19 04:38:29 +02:00
|
|
|
|
using BS.Shared;
|
|
|
|
|
|
using BS.Shared.Core;
|
2018-03-02 16:33:39 +01:00
|
|
|
|
using BS.Shared.DataContracts;
|
2021-10-13 16:00:33 +02:00
|
|
|
|
using ReportingService.ServiceContracts;
|
2016-06-27 01:45:38 +02:00
|
|
|
|
|
|
|
|
|
|
namespace BeWoPlanerMobil.Controllers
|
|
|
|
|
|
{
|
|
|
|
|
|
public abstract class AbstractBaseController : Controller
|
2020-01-15 16:14:39 +01:00
|
|
|
|
{
|
2021-11-08 20:24:26 +01:00
|
|
|
|
protected readonly ICustomerService CustomerService = new MobileSessionFacade().CustomerService;
|
2016-06-27 01:45:38 +02:00
|
|
|
|
protected readonly IOperationsService OperationsService = new MobileSessionFacade().OperationsService;
|
2021-11-08 20:24:26 +01:00
|
|
|
|
protected readonly IEmployeeService EmployeeService = new MobileSessionFacade().EmployeeService;
|
|
|
|
|
|
protected readonly IValueListService ValueListService = new MobileSessionFacade().ValueListService;
|
|
|
|
|
|
protected readonly IResourceService KalenderService = new MobileSessionFacade().ResourceService;
|
|
|
|
|
|
protected readonly IUserService UserService = new MobileSessionFacade().UserService;
|
|
|
|
|
|
protected readonly IDownloadService DownloadService = new MobileSessionFacade().DownloadService;
|
|
|
|
|
|
protected readonly IReportService ReportService = new MobileSessionFacade().ReportService;
|
2023-03-16 13:57:04 +01:00
|
|
|
|
protected readonly IQueryService QueryService = new MobileSessionFacade().QueryService;
|
2021-10-13 16:00:33 +02:00
|
|
|
|
|
2023-02-09 20:47:52 +01:00
|
|
|
|
protected const string LeerzeichenFuerGetMethoden = " ";
|
2016-06-27 01:45:38 +02:00
|
|
|
|
|
2020-01-15 16:14:39 +01:00
|
|
|
|
protected static readonly log4net.ILog Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
2016-06-27 01:45:38 +02:00
|
|
|
|
|
2020-05-27 18:15:54 +02:00
|
|
|
|
public static readonly string IsSessionTimedOut = "isSessionTimedOut";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected ActionResult Logout()
|
2016-06-27 01:45:38 +02:00
|
|
|
|
{
|
2023-02-09 20:47:52 +01:00
|
|
|
|
#if DEBUG
|
|
|
|
|
|
Debug.WriteLine($"+++>Logout aufrufende Methode: {(new StackTrace()).GetFrame(1).GetMethod().Name}");
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
MobileSessionFacade.LogUserOut();
|
2016-06-27 01:45:38 +02:00
|
|
|
|
FormsAuthentication.SignOut();
|
2020-05-27 18:15:54 +02:00
|
|
|
|
|
|
|
|
|
|
AbstractModel.TimeOfLastAction = null;
|
|
|
|
|
|
|
2017-03-06 14:45:35 +01:00
|
|
|
|
return RedirectToActionPermanent("Index", "Login", new {tenant = MobileSessionFacade.Tenant});
|
2016-06-27 01:45:38 +02:00
|
|
|
|
}
|
2018-03-02 16:33:39 +01:00
|
|
|
|
|
|
|
|
|
|
protected UserDC GetUser()
|
|
|
|
|
|
{
|
|
|
|
|
|
return UserService.LoadUser(MobileSessionFacade.LoggedInUser.Oid.Value);
|
|
|
|
|
|
}
|
2020-05-27 18:15:54 +02:00
|
|
|
|
|
|
|
|
|
|
protected override void OnActionExecuting(ActionExecutingContext filterContext)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(MobileSessionFacade.IsUserLoggedIn())
|
|
|
|
|
|
{
|
|
|
|
|
|
AbstractModel.TimeOfLastAction = $"{DateTime.Now:yyyy-MM-dd}T{DateTime.Now:HH:mm:ss}";
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static int TimeoutLimit
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
var timeUntilUILock = BS.Shared.Settings.ApplicationSettings.TimeUntilUILock;
|
|
|
|
|
|
|
|
|
|
|
|
if(timeUntilUILock > 0 && System.Web.HttpContext.Current.Session.Timeout > timeUntilUILock)
|
|
|
|
|
|
{
|
|
|
|
|
|
return timeUntilUILock;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return System.Web.HttpContext.Current.Session.Timeout;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2021-04-19 04:38:29 +02:00
|
|
|
|
|
|
|
|
|
|
[Authorize]
|
2022-09-07 13:19:08 +02:00
|
|
|
|
public ActionResult UpdateApplicationSettings(string pKey, string pValue)
|
2021-04-19 04:38:29 +02:00
|
|
|
|
{
|
|
|
|
|
|
var userSettings = GetUser().Settings;
|
|
|
|
|
|
|
|
|
|
|
|
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, pKey, pValue, userSettings);
|
|
|
|
|
|
|
|
|
|
|
|
var loggedInUser = GetUser();
|
|
|
|
|
|
|
|
|
|
|
|
if(loggedInUser?.UserOid.HasValue ?? false)
|
|
|
|
|
|
{
|
|
|
|
|
|
UserService.UpdateUserSettings(loggedInUser.UserOid.Value, userSettings);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return RedirectToAction("Main");
|
|
|
|
|
|
}
|
2022-09-07 13:19:08 +02:00
|
|
|
|
|
|
|
|
|
|
[Authorize]
|
|
|
|
|
|
public void UpdateUserSettingsWithoutReload(string key, string value)
|
|
|
|
|
|
{
|
|
|
|
|
|
var userSettings = GetUser().Settings;
|
|
|
|
|
|
|
|
|
|
|
|
UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, key, value, userSettings);
|
|
|
|
|
|
|
|
|
|
|
|
var loggedInUser = GetUser();
|
|
|
|
|
|
|
|
|
|
|
|
if(loggedInUser?.UserOid.HasValue ?? false)
|
|
|
|
|
|
{
|
|
|
|
|
|
UserService.UpdateUserSettings(loggedInUser.UserOid.Value, userSettings);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2016-06-27 01:45:38 +02:00
|
|
|
|
}
|
|
|
|
|
|
}
|