/// <summary>
        /// Methode die aufgerufen wird, wenn sich der Benutzer ausloggt.
        /// Sendet Delete-Request zum Server und räumt den Client auf.
        /// </summary>
        private void Logout()
        {
            try
            {
                // Current workflow muss auf null gesetzt werden, damit die ViewModels der Workflowitems geschlossen werden können.
                // Ansonsten bleiben Workflowitems gelockt, wenn sie in bearbeitung waren.
                ClientSession.Instance.CurrentWorkflow = null;
                ClientSession.Instance.Workflows.Clear();
                ClientSession.Instance.RelaxoClient.Logout();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                ClientSession.Instance.ResetListeners();

                HelloContent = string.Empty;
                TitleContent = string.Empty;
                UserLoggedIn = false;
                var loginVM = new LogInViewModel();
                loginVM.UserLoggedIn += LoggedIn;
                Content = loginVM;
            }
        }
        private void OnUserInvalid(EventArgs eventArgs)
        {
            ClientSession.Instance.CurrentWorkflow = null;
            ClientSession.Instance.ResetListeners();

            HelloContent = string.Empty;
            TitleContent = string.Empty;
            UserLoggedIn = false;
            var loginVM = new LogInViewModel();
            loginVM.UserLoggedIn += LoggedIn;
            Content = loginVM;
        }
        public MainWindowViewModel()
        {
            var loginVM = new LogInViewModel();
            loginVM.UserLoggedIn += LoggedIn;
            Content = loginVM;
            HelloContent = string.Empty;

            ClientSession.Instance.UserInvalidEvent += OnUserInvalid;
        }