天天看點

crm操作貨币實體

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,如需轉載請自行聯系原作者