/// <summary> /// 删除话题、标签后删除推荐 /// </summary> /// <param name="tag"></param> /// <param name="eventArgs"></param> void DeleteTag_After(Tag tag, CommonEventArgs eventArgs) { if (eventArgs.EventOperationType != EventOperationType.Instance().Delete() || tag == null) { return; } RecommendService recommendService = new RecommendService(); recommendService.Delete(tag.TagId, tag.TenantTypeId); }
public static Document Convert(Tag tag) { Document doc = new Document(); doc.Add(new Field(TagIndexDocument.TagName,tag.TagName,Field.Store.YES,Field.Index.ANALYZED)); doc.Add(new Field(TagIndexDocument.TenantTypeId, tag.TenantTypeId,Field.Store.YES, Field.Index.NOT_ANALYZED)); doc.Add(new Field(TagIndexDocument.ItemCount, tag.ItemCount.ToString(),Field.Store.YES, Field.Index.NOT_ANALYZED)); doc.Add(new Field(TagIndexDocument.OwnerId,"0", Field.Store.YES, Field.Index.NOT_ANALYZED)); doc.Add(new Field(TagIndexDocument.TagId, tag.TagId.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED)); doc.Add(new Field(TagIndexDocument.TagInOwnerId, "0", Field.Store.YES, Field.Index.NOT_ANALYZED)); return doc; }
private void Tag_After(Tag sender, CommonEventArgs eventArgs) { if (sender==null) { return; } if (tagSearcher == null) { tagSearcher = (TagSearcher)SearcherFactory.GetSearcher(TagSearcher.CODE); } if (eventArgs.EventOperationType==EventOperationType.Instance().Create()) { tagSearcher.InsertTag(sender); } else if(eventArgs.EventOperationType==EventOperationType.Instance().Delete()) { tagSearcher.DeleteTag(sender.TagId); } else if (eventArgs.EventOperationType == EventOperationType.Instance().Update()) { tagSearcher.UpdateTag(sender); } }
/// <summary> /// 新建实体时使用 /// </summary> public static Tag New() { Tag tag = new Tag() { TagName = string.Empty, Description = string.Empty, FeaturedImage = string.Empty, TenantTypeId = string.Empty, OwnerCount = 1, ItemCount = 1, AuditStatus = AuditStatus.Success, DateCreated = DateTime.UtcNow }; return tag; }
/// <summary> /// 删除和更新标签时触发 /// </summary> private void DeleteUpdateTags_Before(Tag sender, CommonEventArgs eventArgs) { if (sender.TenantTypeId == TenantTypeIds.Instance().Group()) { if (eventArgs.EventOperationType == EventOperationType.Instance().Delete() || eventArgs.EventOperationType == EventOperationType.Instance().Update()) { //根据标签获取所有使用该标签的(内容项)群组 IEnumerable<long> groupIds = tagService.GetItemIds(sender.TagName, null); if (groupSearcher == null) { groupSearcher = (GroupSearcher)SearcherFactory.GetSearcher(GroupSearcher.CODE); } groupSearcher.Update(groupService.GetGroupEntitiesByIds(groupIds)); } } }
/// <summary> /// 是否具有编辑标签的权限 /// </summary> /// <returns></returns> public bool Tag_Edit(Tag tag) { IUser currentUser = UserContext.CurrentUser; if (currentUser == null) return false; TenantType tenantType = tenantTypeService.Get(tag.TenantTypeId); if (tenantType == null) return false; if (IsAdministrator(tenantType.ApplicationId)) return true; if (AuthorizationService.IsTenantManager(currentUser, tag.TenantTypeId, tag.OwnerId)) return true; return false; }
/// <summary> /// 删除和更新标签时触发 /// </summary> private void DeleteUpdateTags_Before(Tag sender, CommonEventArgs eventArgs) { if (sender.TenantTypeId == TenantTypeIds.Instance().ContentItem()) { if (eventArgs.EventOperationType == EventOperationType.Instance().Delete() || eventArgs.EventOperationType == EventOperationType.Instance().Update()) { //根据标签获取所有使用该标签的(内容项)资讯 IEnumerable<long> cmsThreadIds = tagService.GetItemIds(sender.TagName, null); if (cmsSearcher == null) { cmsSearcher = (CmsSearcher)SearcherFactory.GetSearcher(CmsSearcher.CODE); } cmsSearcher.Update(contentItemService.GetContentItems(cmsThreadIds)); } } }
/// <summary> /// 删除和更新标签时触发 /// </summary> private void DeleteUpdateTags_Before(Tag sender, CommonEventArgs eventArgs) { if (sender.TenantTypeId == TenantTypeIds.Instance().BarThread()) { if (eventArgs.EventOperationType == EventOperationType.Instance().Delete() || eventArgs.EventOperationType == EventOperationType.Instance().Update()) { //根据标签获取所有使用该标签的(内容项)用户 IEnumerable<long> barThreadIds = tagService.GetItemIds(sender.TagName, null); if (barSearcher == null) { barSearcher = (BarSearcher)SearcherFactory.GetSearcher(BarSearcher.CODE); } barSearcher.UpdateBarThread(barThreadService.GetBarThreads(barThreadIds)); } } }
/// <summary> /// 删除和更新标签时触发 /// </summary> private void DeleteUpdateTags_Before(Tag sender, CommonEventArgs eventArgs) { if (sender.TenantTypeId == TenantTypeIds.Instance().Journals()) { if (eventArgs.EventOperationType==EventOperationType.Instance().Delete()||eventArgs.EventOperationType==EventOperationType.Instance().Update()) { //根据标签获取所有使用该标签的(内容项)日志 IEnumerable<long> journalIds = tagService.GetItemIds(sender.TagName, null); if (journalSearcher == null) { journalSearcher = (JournalSearcher)SearcherFactory.GetSearcher(JournalSearcher.CODE); } journalSearcher.Update(journalService.GetJournalsByIds(journalIds)); } } }
/// <summary> /// 删除和更新标签时触发 /// </summary> private void DeleteUpdateTags_Before(Tag sender, CommonEventArgs eventArgs) { if (sender.TenantTypeId == TenantTypeIds.Instance().User()) { if (eventArgs.EventOperationType == EventOperationType.Instance().Delete() || eventArgs.EventOperationType == EventOperationType.Instance().Update()) { //根据标签获取所有使用该标签的(内容项)用户 IEnumerable<long> userIds = tagService.GetItemIds(sender.TagName, null); if (userSearcher == null) { userSearcher = (UserSearcher)SearcherFactory.GetSearcher(UserSearcher.CODE); } userSearcher.Update(userService.GetFullUsers(userIds)); } } }