0

我正在爲Dynamics CRM 2013進行開發。我嘗試更改引用的狀態,但似乎沒有找到QuoteState。 我嘗試使用QuoteState.Active,但出現錯誤:「名稱'QuoteState'在當前上下文中不存在」。 這是我使用的命名空間:QuoteState不存在?

using Microsoft.Crm.Sdk.Messages; 
using Microsoft.Crm.Sdk; 
using Microsoft.Xrm.Client; 
using Microsoft.Xrm.Client.Services; 
using Microsoft.Xrm.Sdk; 
using Microsoft.Xrm.Sdk.Query; 
using Microsoft.Xrm.Sdk.Messages; 
using Microsoft.Xrm.Sdk.Client; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Xrm; 

我缺少什麼命名空間或我究竟做錯了什麼?

編輯:

這是我想使用它的功能:

/// <summary> 
/// Activates the Quote 
/// </summary> 
/// <param name="quote">The quote</param> 
/// <param name="xrm">The Xrm Service Context</param> 
private static void ActivateQuote(Quote quote, XrmServiceContext xrm) 
{ 
    SetStateRequest activateQuote = new SetStateRequest() 
    { 
     EntityMoniker = quote.ToEntityReference(), 
     State = new OptionSetValue((int)QuoteState.Active), 
     Status = new OptionSetValue(3) 
    }; 
    SetStateResponse activateResponse = (SetStateResponse)xrm.Execute(activateQuote); 

    // Save 
    xrm.SaveChanges(); 
    Console.WriteLine("Activated the quote..."); 
} 

如果我使用狀態=新OptionSetValue(1)它的工作原理,所以它只是QuoteState不見了。

+0

你需要添加引用。請參閱http://msdn.microsoft.com/en-us/library/aa613627.aspx – dovid

+0

我已使用Google搜索,沒有任何結果。也有我添加引用,但是這並沒有訣竅.. – Jowzer

+0

@Jowser需要看到更多的代碼,包括你如何使用QuoteState.Active。也許[這](http://msdn.microsoft.com/en-us/library/gg309346.aspx)將幫助 – keerz

回答

1

QuoteState是使用早期編程時創建的自定義枚舉。 這意味着您需要運行SDK中的代碼生成工具(CrmSvcUtil.exe)。

http://technet.microsoft.com/en-us/library/gg327844.aspx

只是爲了信息,這將通過該工具生成的枚舉:

[System.Runtime.Serialization.DataContractAttribute()] 
[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9690.3339")] 
    public enum QuoteState 
    { 

     [System.Runtime.Serialization.EnumMemberAttribute()] 
     Draft = 0, 

     [System.Runtime.Serialization.EnumMemberAttribute()] 
     Active = 1, 

     [System.Runtime.Serialization.EnumMemberAttribute()] 
     Won = 2, 

     [System.Runtime.Serialization.EnumMemberAttribute()] 
     Closed = 3, 
    } 
+0

這個伎倆,非常感謝你! – Jowzer