Пример #1
0
 /// <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);
 }
Пример #2
0
 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;
 }
Пример #3
0
 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);
     }
 }
Пример #4
0
Файл: Tag.cs Проект: hbulzy/SYS
 /// <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;
 }
Пример #5
0
 /// <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));
         }
     }
 }
Пример #6
0
 /// <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;
 }
Пример #7
0
 /// <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));
         }
     }
 }
Пример #10
0
 /// <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));
         }
     }
 }