using System;
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk.Messages;
/// <summary>
/// 貨币
/// </summary>
public class TransactionCurrencyHelper
{
public static readonly string entityName = "transactioncurrency";
public Guid transactionCurrencyId = Guid.Empty;
/// <summary>
/// 建立貨币
/// </summary>
/// <param name="service">服務</param>
public void Create(IOrganizationService service)
{
Entity en = new Entity() { LogicalName = entityName };
//貨币代碼
en["isocurrencycode"] = "CNY";
//貨币名稱
en["currencyname"] = "人命币";
//貨币精度
en["currencyprecision"] = 2;
//貨币符合
en["currencysymbol"] = "¥";
//換算比率
en["exchangerate"] = 1.0;
transactionCurrencyId = service.Create(en);
}
/// 改動貨币
public void Update(IOrganizationService service)
Entity en = new Entity() { LogicalName = entityName,Id = transactionCurrencyId };
en["currencyname"] = "人命币-2000";
service.Update(en);
/// 檢索匯率
/// <param name="service">服務</param>
public decimal SearchRateById(IOrganizationService service)
decimal value = 0;
RetrieveExchangeRateRequest request = new RetrieveExchangeRateRequest();
request.TransactionCurrencyId = transactionCurrencyId;
RetrieveExchangeRateResponse response = (RetrieveExchangeRateResponse)service.Execute(request);
value = response.ExchangeRate;
return value;
/// 停用和啟用貨币
public void UpdateTransactionCurrencyState(IOrganizationService service)
//停用貨币
UpdateState(entityName, transactionCurrencyId, 1, 2, service);
//啟用貨币
UpdateState(entityName, transactionCurrencyId, 0, 1, service);
private void UpdateState(string enName, Guid id, int state, int status, IOrganizationService service)
SetStateRequest setState = new SetStateRequest()
{
EntityMoniker = new EntityReference()
{
Id = id,
LogicalName = enName
},
State = new OptionSetValue(state),
Status = new OptionSetValue(status)
};
service.Execute(setState);
/// 删除貨币
public void Delete(IOrganizationService service)
service.Delete(entityName, transactionCurrencyId);
}
本文轉自mfrbuaa部落格園部落格,原文連結:http://www.cnblogs.com/mfrbuaa/p/5361155.html,如需轉載請自行聯系原作者