コード例 #1
0
        /// <summary>
        /// 页头
        /// </summary>
        /// <returns></returns>
        public ActionResult _Header(string spaceKey)
        {
            if (UserContext.CurrentUser != null)
            {
                MessageService messageService = new MessageService();
                InvitationService invitationService = new InvitationService();
                NoticeService noticeService = new NoticeService();

                long userId = UserIdToUserNameDictionary.GetUserId(UserContext.CurrentUser.UserName);
                int count = 0;
                count = invitationService.GetUnhandledCount(userId);
                count += messageService.GetUnreadCount(userId);
                count += noticeService.GetUnhandledCount(userId);
                ViewData["PromptCount"] = count;
            }

            //获取当前是在哪个应用下搜索
            RouteValueDictionary routeValueDictionary = Request.RequestContext.RouteData.DataTokens;
            string areaName = routeValueDictionary.Get<string>("area", null) + "Search";
            ViewData["search"] = areaName;

            //查询用于快捷搜索的搜索器
            IEnumerable<ISearcher> searchersQuickSearch = SearcherFactory.GetQuickSearchers(4);
            ViewData["searchersQuickSearch"] = searchersQuickSearch;

            NavigationService service = new NavigationService();
            ViewData["Navigations"] = service.GetRootNavigations(PresentAreaKeysOfBuiltIn.Channel).Where(n => n.IsVisible(UserContext.CurrentUser) == true);

            return PartialView();
        }
コード例 #2
0
 /// <summary>
 /// 获取所有用户提醒信息集合
 /// </summary>
 /// <returns>用户提醒信息集合</returns>
 public IEnumerable<UserReminderInfo> GetUserReminderInfos()
 {
     MessageService messageService = new MessageService();
     return messageService.GetUserReminderInfos();
 }
コード例 #3
0
        public ActionResult Home()
        {
            pageResourceManager.InsertTitlePart("后台首页");

            //获得所有应用的应用名
            IEnumerable<ApplicationBase> applications = applicationService.GetAll();
            //初始化待处理应用数组
            List<ApplicationStatisticData> allManageableDatas = new List<ApplicationStatisticData>();
            //初始化数据统计项实体数组
            List<ApplicationStatisticItem> statisticItems = new List<ApplicationStatisticItem>();

            var isApplicationAdmin = !UserContext.CurrentUser.IsInRoles(RoleNames.Instance().SuperAdministrator(), RoleNames.Instance().ContentAdministrator());

            //遍历应用名
            foreach (var application in applications)
            {
                if (isApplicationAdmin)
                {
                    if (!authorizer.IsAdministrator(application.ApplicationId))
                        continue;
                }
                //获取所有待处理数据实体
                IEnumerable<ApplicationStatisticData> manageableDatas = DIContainer.ResolveNamed<IApplicationStatisticDataGetter>(application.ApplicationKey).GetManageableDatas();
                //获取所有数据统计应用数据实体
                IEnumerable<ApplicationStatisticData> applicationStatisticDatas = DIContainer.ResolveNamed<IApplicationStatisticDataGetter>(application.ApplicationKey).GetStatisticDatas();
                //将所有待处理数据实体添加到未处理应用数组
                allManageableDatas.AddRange(manageableDatas);
                //遍历所有应用简称
                foreach (string shortName in applicationStatisticDatas.Select(n => n.ShortName))
                {
                    //如果数组中已存在该应用则继续
                    var item = statisticItems.Where(n => n.ShortName == shortName).FirstOrDefault();
                    if (statisticItems.Contains(item))
                    {
                        continue;
                    }
                    //获取该简称下的应用数组
                    IEnumerable<ApplicationStatisticData> datas = applicationStatisticDatas.Where(n => n.ShortName == shortName);
                    //获取该简称下的总数应用
                    ApplicationStatisticData applicationStatisticDataTotal = datas.Where(n => n.DataKey == ApplicationStatisticDataKeys.Instance().TotalCount()).FirstOrDefault();
                    //初始化总数
                    long totalCount = 0;
                    //初始化URL
                    string itemUrl = null;
                    //如果存在总数应用
                    if (applicationStatisticDataTotal != null)
                    {
                        //为数据统计项实体总数和url赋值
                        totalCount = applicationStatisticDataTotal.Value;
                        itemUrl = applicationStatisticDataTotal.Url;
                    }
                    //获取该简称下的24小时新增数应用
                    var applicationStatisticDataLast24H = datas.Where(n => n.DataKey == ApplicationStatisticDataKeys.Instance().Last24HCount()).FirstOrDefault();
                    //初始化24小时新增数
                    long Last24H = 0;
                    //如果存在24小时新增数应用
                    if (applicationStatisticDataLast24H != null)
                        //为总数项实体24小时新增数赋值
                        Last24H = applicationStatisticDataLast24H.Value;
                    //实例化数据统计项实体
                    ApplicationStatisticItem appItem = new ApplicationStatisticItem(shortName, totalCount, Last24H);
                    appItem.Url = itemUrl;
                    //添加到数组
                    statisticItems.Add(appItem);
                }
            }
            //获取待处理事项实体数组
            ViewData["allManageableDatas"] = allManageableDatas;

            //增加有多少个待审核评论
            PagingDataSet<Comment> comments = new CommentService().GetComments(PubliclyAuditStatus.Pending, null, null, null, null, 20, 1);
            ViewData["commentsCount"] = comments.TotalRecords;

            //多少未读客服消息
            ViewData["customMessageCount"] = new MessageService().GetUnreadCount((long)BuildinMessageUserId.CustomerService);

            //待处理用户举报
            ViewData["impeachCount"] = new ImpeachReportService().GetsForAdmin(false, null).TotalRecords;

            //待激活的用户
            var userManageableCounts = userService.GetManageableCounts(false, false, false);
            ViewData["activatedUserCount"] = userManageableCounts[UserManageableCountType.IsActivated];

            //24小时新增用户数
            ViewData["userCount24H"] = userManageableCounts[UserManageableCountType.IsLast24];

            //总用户数
            ViewData["userCount"] = userManageableCounts[UserManageableCountType.IsAll];

            //获取系统信息

            SystemInfo systemInfo = new SystemInfo();
            ViewData["systemInfo"] = systemInfo;
            return View(statisticItems);
        }
コード例 #4
0
ファイル: ChannelController.cs プロジェクト: hbulzy/SYS
        /// <summary>
        /// 暂停页header
        /// </summary>
        /// <returns></returns>
        public ActionResult PausePageHeader()
        {
            if (UserContext.CurrentUser != null)
            {
                MessageService messageService = new MessageService();
                InvitationService invitationService = new InvitationService();
                NoticeService noticeService = new NoticeService();

                long userId = UserIdToUserNameDictionary.GetUserId(UserContext.CurrentUser.UserName);
                int count = 0;
                count = invitationService.GetUnhandledCount(userId);
                count += messageService.GetUnreadCount(userId);
                count += noticeService.GetUnhandledCount(userId);
                ViewData["PromptCount"] = count;
            }

            //获取当前是在哪个应用下搜索
            RouteValueDictionary routeValueDictionary = Request.RequestContext.RouteData.DataTokens;
            string areaName = routeValueDictionary.Get<string>("area", null) + "Search";
            ViewData["search"] = areaName;

            IEnumerable<Navigation> navigations = navigationService.GetRootNavigations(PresentAreaKeysOfBuiltIn.Channel).Where(n => n.IsVisible(UserContext.CurrentUser) == true).Where(n => n.ApplicationId != 0);

            if (navigations != null)
            {
                ViewData["Navigations"] = navigations.OrderBy(n => n.DisplayOrder);
            }

            return View();
        }
コード例 #5
0
ファイル: ChannelController.cs プロジェクト: hbulzy/SYS
        /// <summary>
        /// 页头
        /// </summary>
        /// <returns></returns>
        public ActionResult _Header()
        {
            if (UserContext.CurrentUser != null)
            {
                MessageService messageService = new MessageService();
                InvitationService invitationService = new InvitationService();
                NoticeService noticeService = new NoticeService();

                long userId = UserIdToUserNameDictionary.GetUserId(UserContext.CurrentUser.UserName);
                int count = 0;
                count = invitationService.GetUnhandledCount(userId);
                count += messageService.GetUnreadCount(userId);
                count += noticeService.GetUnhandledCount(userId);
                ViewData["PromptCount"] = count;
            }

            //获取当前是在哪个应用下搜索
            RouteValueDictionary routeValueDictionary = Request.RequestContext.RouteData.DataTokens;
            string areaName = routeValueDictionary.Get<string>("area", null) + "Search";
            ViewData["search"] = areaName;
            IEnumerable<Navigation> navigations = navigationService.GetRootNavigations(PresentAreaKeysOfBuiltIn.Channel);
            if (navigations != null)
            {
                ViewData["Navigations"] = navigations;
                ViewData["navigation"] = navigations.Where(n => n.ApplicationId == 1011).SingleOrDefault();
            }

            bool groupIsEnable = false;
            ApplicationBase groupApplication = applicationService.Get(1011);
            if (groupApplication != null && groupApplication.IsEnabled)
            {
                groupIsEnable = true;
            }
            ViewData["groupIsEnable"] = groupIsEnable;

            return PartialView();
        }
コード例 #6
0
        /// <summary>
        /// 页头
        /// </summary>
        /// <returns></returns>
        public ActionResult _Header(string spaceKey)
        {
            #region 消息统计数

            MessageService messageService = new MessageService();
            InvitationService invitationService = new InvitationService();
            NoticeService noticeService = new NoticeService();

            if (UserContext.CurrentUser != null)
            {
                int count = 0;
                count = invitationService.GetUnhandledCount(UserContext.CurrentUser.UserId);
                count += messageService.GetUnreadCount(UserContext.CurrentUser.UserId);
                count += noticeService.GetUnhandledCount(UserContext.CurrentUser.UserId);
                ViewData["PromptCount"] = count;
            }

            #endregion

            NavigationService service = DIContainer.Resolve<NavigationService>();
            IEnumerable<Navigation> navigations = service.GetRootNavigations(PresentAreaKeysOfBuiltIn.Channel).Where(n => n.IsVisible(UserContext.CurrentUser) == true);

            bool groupIsEnable = false;
            ApplicationBase groupApplication = applicationService.Get(1011);
            if (groupApplication != null && groupApplication.IsEnabled)
            {
                groupIsEnable = true;
            }
            ViewData["groupIsEnable"] = groupIsEnable;

            if (navigations != null)
            {
                ViewData["Navigations"] = navigations;
            }

            return View();
        }
コード例 #7
0
        /// <summary>
        /// 我的通知、私信、评论等的边栏
        /// </summary>
        /// <param name="subMenu"></param>
        /// <returns></returns>
        public ActionResult _MessageCenter_Menu(MessageCenterMenu subMenu)
        {
            IUser currentUser = UserContext.CurrentUser;
            MessageService messageService = new MessageService();
            InvitationService invitationService = new InvitationService();
            NoticeService noticeService = new NoticeService();

            int invitationCount = invitationService.GetUnhandledCount(currentUser.UserId);
            int messageCount = messageService.GetUnreadCount(currentUser.UserId);
            int noticeCount = noticeService.GetUnhandledCount(currentUser.UserId);
            ViewData["invitationCount"] = invitationCount;
            ViewData["messageCount"] = messageCount;
            ViewData["noticeCount"] = noticeCount;

            ViewData["MessageCenterMenu"] = subMenu;
            return View();
        }
コード例 #8
0
        private void DeleteUserEventMoudle_After(IUser sender, DeleteUserEventArgs eventArgs)
        {
            IUserService userService = DIContainer.Resolve<IUserService>();

            #region 数据
            //清除应用数据
            applicationService.DeleteUser(sender.UserId, eventArgs.TakeOverUserName, eventArgs.TakeOverAll);

            //删除用户信息
            new UserProfileService().Delete(sender.UserId);

            //清除用户内容计数数据
            OwnerDataService ownerDataService = new OwnerDataService(TenantTypeIds.Instance().User());
            ownerDataService.ClearOwnerData(sender.UserId);

            //清除用户关于分类的数据
            CategoryService categoryService = new CategoryService();
            categoryService.CleanByUser(sender.UserId);

            //清除用户动态
            ActivityService activityService = new ActivityService();
            activityService.CleanByUser(sender.UserId);

            //清除用户评论
            new CommentService().DeleteUserComments(sender.UserId, false);

            #endregion

            #region 消息

            //清除用户关于私信的数据
            MessageService messageService = new MessageService();
            messageService.ClearSessionsFromUser(sender.UserId);

            //清除请求的用户数据
            InvitationService invitationService = new InvitationService();
            invitationService.CleanByUser(sender.UserId);

            //清除通知的用户数据
            NoticeService noticeService = new NoticeService();
            noticeService.CleanByUser(sender.UserId);

            InviteFriendService inviteFriendService = new InviteFriendService();
            inviteFriendService.CleanByUser(sender.UserId);

            //清除站外提醒的用户数据
            ReminderService reminderService = new ReminderService();
            reminderService.CleanByUser(sender.UserId);

            #endregion

            #region 关注/访客

            //清除用户关于关注用户的数据
            FollowService followService = new FollowService();
            followService.CleanByUser(sender.UserId);

            //清除访客记录的用户数据
            VisitService visitService = new VisitService(string.Empty);
            visitService.CleanByUser(sender.UserId);

            #endregion

            #region 帐号

            //清除帐号绑定数据
            var accountBindingService = new AccountBindingService();
            var accountBindings = new AccountBindingService().GetAccountBindings(sender.UserId);
            foreach (var accountBinding in accountBindings)
            {
                accountBindingService.DeleteAccountBinding(accountBinding.UserId, accountBinding.AccountTypeKey);
            }

            #endregion

            #region 装扮

            //调整皮肤文件使用次数
            var user = userService.GetFullUser(sender.UserId);
            if (user == null)
                return;
            var presentArea = new PresentAreaService().Get(PresentAreaKeysOfBuiltIn.UserSpace);
            string defaultThemeAppearance = string.Join(",", presentArea.DefaultThemeKey, presentArea.DefaultAppearanceKey);
            if (!user.IsUseCustomStyle)
                new ThemeService().ChangeThemeAppearanceUserCount(PresentAreaKeysOfBuiltIn.UserSpace, null, !string.IsNullOrEmpty(user.ThemeAppearance) ? user.ThemeAppearance : defaultThemeAppearance);

            #endregion
        }
コード例 #9
0
 /// <summary>
 /// 转换为MessageSession用于数据库存储
 /// </summary>
 public MessageSession AsMessageSession()
 {
     MessageSession messageSession;
     if (SessionId > 0)
     {
         MessageService messageService = new MessageService();
         messageSession = messageService.GetSession(SessionId);
         messageSession.LastMessageId = this.LastMessageId;
         messageSession.MessageCount = this.MessageCount;
         messageSession.MessageType = this.MessageType;
         messageSession.OtherUserId = this.OtherUserId;
         messageSession.UnreadMessageCount = this.UnreadMessageCount;
         messageSession.UserId = this.UserId;
     }
     else
     {
         messageSession = MessageSession.New();
         messageSession.LastMessageId = this.LastMessageId;
         messageSession.MessageCount = this.MessageCount;
         messageSession.MessageType = this.MessageType;
         messageSession.OtherUserId = this.OtherUserId;
         messageSession.UnreadMessageCount = this.UnreadMessageCount;
         messageSession.UserId = this.UserId;
     }
     return messageSession;
 }