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);
        }

        /// <summary>
        /// 改动货币
        /// </summary>
        /// <param name="service">服务</param>
        public void Update(IOrganizationService service) 
        {
            Entity en = new Entity() { LogicalName = entityName,Id = transactionCurrencyId };
            //货币名称
            en["currencyname"] = "人命币-2000";

            service.Update(en);
        }

        /// <summary>
        /// 检索汇率
        /// </summary>
        /// <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;  
        }

        /// <summary>
        /// 停用和启用货币
        /// </summary>
        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);
        }

        /// <summary>
        /// 删除货币
        /// </summary>
        /// <param name="service">服务</param>
        public void Delete(IOrganizationService service) 
        {
            service.Delete(entityName, transactionCurrencyId);
        }
    }





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5361155.html,如需转载请自行联系原作者 

相关文章
|
5月前
SAP CRM note 的修改操作实现
SAP CRM note 的修改操作实现
35 0
CRM呼叫中心inbox里interact操作介绍
CRM呼叫中心inbox里interact操作介绍
105 0
CRM呼叫中心inbox里interact操作介绍
|
21天前
|
人工智能 搜索推荐 Serverless
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
50 7
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
|
1月前
|
中间件
什么是 SAP CRM 系统里的 Initial Download
什么是 SAP CRM 系统里的 Initial Download
23 0
|
1月前
|
中间件
什么是 SAP CRM Initial Download
什么是 SAP CRM Initial Download
20 0
|
1月前
|
存储 数据管理 数据处理
SAP CRM 里 Attachment 搜索的实现逻辑介绍
SAP CRM 里 Attachment 搜索的实现逻辑介绍
19 0
|
2月前
|
存储 数据库 容器
深入介绍 SAP CRM 附件存储的底层实现机制
深入介绍 SAP CRM 附件存储的底层实现机制
30 0
|
2月前
|
JavaScript 前端开发 数据库
如何在 SAP CRM 里通过 navigation framework 跳转到 ABAP Webdynpro 页面
如何在 SAP CRM 里通过 navigation framework 跳转到 ABAP Webdynpro 页面
21 0
|
3月前
|
消息中间件 存储 监控
什么是 SAP CRM Middleware Component 里的 PRODUCT_R3_ADAPTER
什么是 SAP CRM Middleware Component 里的 PRODUCT_R3_ADAPTER
24 0