/// <summary> /// 新建实体时使用 /// </summary> public static TagInOwner New() { TagInOwner tagInOwner = new TagInOwner() { }; return(tagInOwner); }
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; }
/// <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())); } }
/// <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())); }
/// <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); }
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); } }
/// <summary> /// 新建实体时使用 /// </summary> public static TagInOwner New() { TagInOwner tagInOwner = new TagInOwner() { }; return tagInOwner; }