public void StartSupporting(AndereBenutzerrollenEinnehmenModel andereBenutzerrollenEinnehmenModel)
        {
            var userName = andereBenutzerrollenEinnehmenModel.UserName;

            if (string.IsNullOrEmpty(userName))
            {
                StopSupporting();
                return;
            }

            if (!securityService.IsUserExists(userName))
            {
                throw new InvalidOperationException(string.Format("Username {0} does not exists!", userName));
            }

            if (!securityService.GetCurrentRollen().Contains(Rolle.Applikationssupporter))
            {
                throw new SecurityException("Unathorized!");
            }

            sessionService.SupportedUserInfo = new SupportedUserInfo {
                UserName = userName
            };
            securityService.SetCurrentApplicationMode(ApplicationMode.Mandant);

            ereignisLogService.LogEreignis(EreignisTyp.RolleEinnehmen, new Dictionary <string, object> {
                { "benutzer", userName }
            });
        }
        public ActionResult AndereBenutzerrollenEinnehmen(AndereBenutzerrollenEinnehmenModel andereBenutzerrollenEinnehmenModel)
        {
            if (ModelState.IsValid)
            {
                applicationSupporterService.StartSupporting(andereBenutzerrollenEinnehmenModel);
                return(RedirectToAction("AndereBenutzerrollenEinnehmenSuccessfull"));
            }

            return(View("Index", andereBenutzerrollenEinnehmenModel));
        }