/// <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(); }
/// <summary> /// 获取所有用户提醒信息集合 /// </summary> /// <returns>用户提醒信息集合</returns> public IEnumerable<UserReminderInfo> GetUserReminderInfos() { MessageService messageService = new MessageService(); return messageService.GetUserReminderInfos(); }
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); }
/// <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(); }
/// <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(); }
/// <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(); }
/// <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(); }
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 }
/// <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; }