Kb Article Helper

using System;
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Query;

/// <summary>
/// 知识库文章
/// </summary>
public class KbArticleHelper
{
    public static readonly string entityName = "kbarticle";
    public Guid kbArticleId = Guid.Empty;
    public IOrganizationService service;

    /// <summary>
    /// 创建知识库文章
    /// </summary>
    public void Create()
    {
        Entity en = new Entity() { LogicalName = entityName };
        en["title"] = "知识库文章测试";
        kbArticleId = service.Create(en);
    }

    /// <summary>
    /// 检索指定的产品的前十篇知识库文章
    /// </summary>
    /// <param name="productId">产品id</param>
    public void RetrieveByTopIncidentProductKbArticle(Guid productId)
    {
        RetrieveByTopIncidentProductKbArticleRequest request = new RetrieveByTopIncidentProductKbArticleRequest();
        request.ProductId = productId;
        RetrieveByTopIncidentProductKbArticleResponse response =
                            (RetrieveByTopIncidentProductKbArticleResponse)service.Execute(request);
        EntityCollection entityCollection = response.EntityCollection;
    }

    /// <summary>
    /// 检索指定的主题的前十篇知识库文章
    /// </summary>
    /// <param name="subjectId">主题id</param>
    public void RetrieveByTopIncidentSubjectKbArticle(Guid subjectId)
    {
        RetrieveByTopIncidentSubjectKbArticleRequest request = new RetrieveByTopIncidentSubjectKbArticleRequest();
        request.SubjectId = subjectId;
        RetrieveByTopIncidentSubjectKbArticleResponse response =
            (RetrieveByTopIncidentSubjectKbArticleResponse)service.Execute(request);
        EntityCollection entityCollection = response.EntityCollection;
    }

    /// <summary>
    /// 查找正文中包含指定文本的所有文档索引
    /// </summary>
    /// <param name="query">查询条件</param>
    /// <param name="text">指定文本</param>
    /// <param name="subjectId">主题id</param>
    public void SearchByBodyKbArticle(QueryBase query, string text, Guid subjectId)
    {
        SearchByBodyKbArticleRequest request = new SearchByBodyKbArticleRequest();
        request.QueryExpression = query;
        request.UseInflection = true;
        request.SearchText = text;
        request.SubjectId = subjectId;
        SearchByBodyKbArticleResponse response = (SearchByBodyKbArticleResponse)service.Execute(request);
        EntityCollection entityCollection = response.EntityCollection;
    }

    /// <summary>
    /// 查找包含指定关键字的所有文档索引
    /// </summary>
    /// <param name="query">查询条件</param>
    /// <param name="text">指定文本</param>
    /// <param name="subjectId">主题id</param>
    public void SearchByKeywordsKbArticle(QueryBase query, string text, Guid subjectId)
    {
        SearchByKeywordsKbArticleRequest request = new SearchByKeywordsKbArticleRequest();
        request.QueryExpression = query;
        request.UseInflection = true;
        request.SearchText = text;
        request.SubjectId = subjectId;
        SearchByKeywordsKbArticleResponse response = (SearchByKeywordsKbArticleResponse)service.Execute(request);
        EntityCollection entityCollection = response.EntityCollection;
    }

    /// <summary>
    /// 查找标题中包含指定文本的所有文档索引
    /// </summary>
    /// <param name="query">查询条件</param>
    /// <param name="text">指定文本</param>
    /// <param name="subjectId">主题id</param>
    public void SearchByTitleKbArticle(QueryBase query, string text, Guid subjectId)
    {
        SearchByTitleKbArticleRequest request = new SearchByTitleKbArticleRequest();
        request.QueryExpression = query;
        request.UseInflection = true;
        request.SearchText = text;
        request.SubjectId = subjectId;
        SearchByTitleKbArticleResponse response = (SearchByTitleKbArticleResponse)service.Execute(request);
        EntityCollection entityCollection = response.EntityCollection;
    }

    /// <summary>         /// 
    /// 删除知识库文章         /// 
    /// </summary>         
    public void Delete() { service.Delete(entityName, kbArticleId); }
}
原文地址:https://www.cnblogs.com/bennylam/p/9921327.html