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); }
}
相關文章
相關標籤/搜索