public IActionResult Dashboard()
        {
            var session = lightSessionManager.GetCurrent();
            var model   = new LightDashboardModel(lightForumManager, lightThreadManager, lightSessionManager);
            var thx     = lightThreadManager.GetThanks(userId: 18, afterTimestamp: 1566595766);
            //lightSessionManager.UpdateLastActivity(session.SessionHash, "/LightTest");
            var threadModel = new LightCreateThreadModel(session.User, forumId: 58, title: "Auto Testthread LightThreadManager", text: "Automatisch erzeugter Testthread", ipAddress: "127.0.0.1");
            //int tid = lightThreadManager.CreateThread(threadModel);
            int lastReadTs = lightThreadManager.GetContentReadTime(contentId: 38325, userId: 18);
            var lastReadDt = lastReadTs.ToDateTime();
            var dtLocal    = lastReadDt.ToLocalTime();

            int unreadReplyId         = lightThreadManager.GetNextUnreadReplyId(threadId: 38043, lastReadTime: 1566659655);
            int page                  = lightThreadManager.GetPageOfReply(threadId: 38043, replyId: 441387);
            var newestSmalltalkReplys = lightThreadManager.GetNewestReplys(threadId: 29780);

            var nonVisibleForumIds  = lightForumManager.GetForumIdsWhereUserCanNot(1, VBForumFlags.CanViewForum);
            var newesttReplys       = lightThreadManager.GetNewestReplys();
            var newesttReplysPublic = lightThreadManager.GetNewestReplys(excludedForumIds: nonVisibleForumIds);

            var adminTest = lightThreadManager.GetNewestThreads(8, minReplyCount: 1, excludedForumIds: new List <int>(), orderByLastPostDate: false);

            var allowedIds  = lightForumManager.GetForumIdsWhereUserCan(session.User.PrimaryUserGroup.Id, VBForumFlags.CanViewForum);
            var forbidenIds = lightForumManager.GetForumIdsWhereUserCanNot(session.User.PrimaryUserGroup.Id, VBForumFlags.CanViewForum);

            return(View(model));
        }
        public LightDashboardModel(VBLightForumManager lightForumManager, VBLightThreadManager lightThreadManager, VBLightSessionManager lightSessionManager)
        {
            var session       = lightSessionManager.GetCurrent();
            var forumsCanRead = lightForumManager.GetForumsWhereUserCan(session.User.PrimaryUserGroup.Id, VBForumFlags.CanViewThreads);

            NewestThreads         = lightThreadManager.GetNewestThreads(includedForumIds: forumsCanRead.Select(f => f.Id).ToList());
            NotViewableCategories = lightForumManager.GetForumsWhereUserCanNot(session.User.PrimaryUserGroup.Id, VBForumFlags.CanViewForum, onlyParentCategories: true);
            ViewableCategories    = lightForumManager.GetForumsWhereUserCan(session.User.PrimaryUserGroup.Id, VBForumFlags.CanViewForum, onlyParentCategories: true);
            CategoryPermissions   = lightForumManager.GetPermissions(userGroupId: 2, onlyParentCategories: true);

            if (session.IsLoggedIn)
            {
                UnreadActiveThreads = lightThreadManager.GetUnreadActiveThreads(session.User.Id, ignoredThreadIds: new List <int>()
                {
                    29780
                });
                var allUnreadActiveThreads   = lightThreadManager.GetUnreadActiveThreads(session.User.Id, count: 99);
                int countUnreadActiveThreads = lightThreadManager.CountUnreadActiveThreads(session.User.Id, ignoredThreadIds: new List <int>()
                {
                    29780
                });
                int countAllUnreadActiveThreads = lightThreadManager.CountUnreadActiveThreads(session.User.Id);

                RecentThanks = lightThreadManager.GetThanks(session.User.Id);
            }
        }