Exemple #1
0
        /// <summary>
        /// 新建实体时使用
        /// </summary>
        public static TagInOwner New()
        {
            TagInOwner tagInOwner = new TagInOwner()
            {
            };

            return(tagInOwner);
        }
Exemple #2
0
 public static Document Convert(TagInOwner tagInOwner)
 {
     Document doc = new Document();
     doc.Add(new Field(TagIndexDocument.TagName, tagInOwner.TagName, Field.Store.YES, Field.Index.ANALYZED));
     doc.Add(new Field(TagIndexDocument.TenantTypeId, tagInOwner.TenantTypeId, Field.Store.YES, Field.Index.NOT_ANALYZED));
     doc.Add(new Field(TagIndexDocument.ItemCount, tagInOwner.ItemCount.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
     doc.Add(new Field(TagIndexDocument.OwnerId,tagInOwner.OwnerId.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
     doc.Add(new Field(TagIndexDocument.TagId,"0", Field.Store.YES, Field.Index.NOT_ANALYZED));
     doc.Add(new Field(TagIndexDocument.TagInOwnerId, tagInOwner.Id.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
     return doc;
 }
Exemple #3
0
        /// <summary>
        /// 删除拥有者标签
        /// </summary>
        /// <param name="tagInOwnerId">标签与拥有者关系Id</param>
        public void DeleteOwnerTag(long tagInOwnerId)
        {
            TagInOwner tagInOwner = tagInOwnerReposiory.Get(tagInOwnerId);

            if (tagInOwner != null)
            {
                EventBus <TagInOwner> .Instance().OnBefore(tagInOwner, new CommonEventArgs(EventOperationType.Instance().Delete()));

                tagInOwnerReposiory.Delete(tagInOwner);
                EventBus <TagInOwner> .Instance().OnAfter(tagInOwner, new CommonEventArgs(EventOperationType.Instance().Delete()));
            }
        }
Exemple #4
0
        /// <summary>
        /// 删除标签与内容项的关联
        /// </summary>
        /// <param name="itemInTagId">内容项与标签关联Id</param>
        public void DeleteTagFromItem(long itemInTagId)
        {
            ItemInTag itemInTag = itemInTagRepository.Get(itemInTagId);

            EventBus <ItemInTag> .Instance().OnBefore(itemInTag, new CommonEventArgs(EventOperationType.Instance().Delete()));

            TagInOwner tagInOwner = tagInOwnerReposiory.Get(itemInTag.TagInOwnerId);

            if (tagInOwner != null && tagInOwner.ItemCount <= 1)
            {
                tagInOwnerReposiory.Delete(tagInOwner);
            }
            itemInTagRepository.Delete(itemInTag);

            EventBus <ItemInTag> .Instance().OnAfter(itemInTag, new CommonEventArgs(EventOperationType.Instance().Delete()));
        }
Exemple #5
0
        /// <summary>
        /// 添加标签与拥有者关联
        /// </summary>
        /// <param name="tagName">标签名</param>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <param name="ownerId">拥有者Id</param>
        /// <returns>返回主键</returns>
        public long AddTagInOwner(string tagName, string tenantTypeId, long ownerId)
        {
            string     name       = string.Concat(tagName.Split(URLSpecialCharacters)).Replace("[_]", " ");
            TagInOwner tagInOwner = new TagInOwner();

            tagInOwner.TagName      = name;
            tagInOwner.OwnerId      = ownerId;
            tagInOwner.TenantTypeId = tenantTypeId;

            //创建数据前,触发相关事件
            EventBus <TagInOwner> .Instance().OnBefore(tagInOwner, new CommonEventArgs(EventOperationType.Instance().Create()));

            long id = tagInOwnerReposiory.AddTagInOwner(tagInOwner);

            EventBus <TagInOwner> .Instance().OnAfter(tagInOwner, new CommonEventArgs(EventOperationType.Instance().Create()));

            return(id);
        }
Exemple #6
0
 private void TagInOwner_After(TagInOwner sender, CommonEventArgs eventArgs)
 {
     if (sender == null)
     {
         return;
     }
     if (tagSearcher == null)
     {
         tagSearcher = (TagSearcher)SearcherFactory.GetSearcher(TagSearcher.CODE);
     }
     if (eventArgs.EventOperationType == EventOperationType.Instance().Create())
     {
         tagSearcher.InsertTagInOwner(sender);
     }
     else if (eventArgs.EventOperationType == EventOperationType.Instance().Delete())
     {
         tagSearcher.DeleteTagInOwner(sender.Id);
     }
     else if (eventArgs.EventOperationType == EventOperationType.Instance().Update())
     {
         tagSearcher.UpdateTagInOwner(sender);
     }
 }
Exemple #7
0
 /// <summary>
 /// 新建实体时使用
 /// </summary>
 public static TagInOwner New()
 {
     TagInOwner tagInOwner = new TagInOwner()
     {
     };
     return tagInOwner;
 }