public LightManagerController(VBLightSessionManager lightSessionManager, VBLightForumManager lightForumManager, VBLightThreadManager lightThreadManager, VBLightSettingsManager settingsManager,
                                      VBLightUserManager lightUserManager)
        {
            this.lightSessionManager = lightSessionManager;
            this.lightForumManager   = lightForumManager;
            this.lightThreadManager  = lightThreadManager;
            this.settingsManager     = settingsManager;
            this.lightUserManager    = lightUserManager;

            var commonSettings = settingsManager.CommonSettings;
        }
        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);
            }
        }