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

        }

    }

crm操作货币实体的更多相关文章

  1. crm操作报价单实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Crm.Sdk.Messages;     using Microsoft ...

  2. crm操作产品实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Crm.Sdk.Messages; /// <summary> ...

  3. crm操作约会实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Crm.Sdk.Messages;     using Microsoft ...

  4. crm操作发票实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Xrm.Sdk.Query;     using Microsoft.Cr ...

  5. Microsoft Dynamics CRM 2011 新建实体 需要注意的细节

    新建一个实体,需要红色框内的是否勾选的意义,可以进一步加深对CRM的理解.如图: 下面对部分的进行了自我的理解,不对的地方,还请大家指出来.互相学习. 1.CRM2011中,在活动方面加强的新特性包括 ...

  6. Hibernate_day02--课程安排_主键生成策略_对实体类crud操作_实体类对象状态

    Hibernate_day02 上节内容 今天内容 实体类编写规则 Hibernate主键生成策略 实体类操作 对实体类crud操作 添加操作 根据id查询 修改操作 删除操作 实体类对象状态(概念) ...

  7. crm操作知识库文章实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Crm.Sdk.Messages;     using Microsoft ...

  8. CRM后期修改实体,新增货币类型字段 需要注意的问题

    货币类型字段新增 需要处理历史数据 否则编辑会报错 提示如果货币字段中存在值,则需要指定币种,请选择币种,然后重试 编辑时货币字段不显示¥符号.新增正常.第一次编辑提示错误保存后再编辑也正常.不是JS ...

  9. crm操作销售订单实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Xrm.Sdk.Query;     using Microsoft.Cr ...

随机推荐

  1. db file scattered read 等待事件

    db file scattered read 等待事件: 我们经常会见到db file scattered read  等待事件,在生产环境中,这个等待事件可能更为常见.这个事件表明用户进程正在读数据 ...

  2. 【原】cocos2d-x 2.0.4 不支持https协议 CURLE_UNSUPPORTED_PROTOCOL

    我们项目组用的cocos2d-x版本还比较老,各种好的功能不能用. 今天就让我遇到一个问题,使用CCHttpClient发送http请求的时候,https协议的不支持,返回失败信息如下 errorco ...

  3. getDeclaredMethods()和getMethods()区别

    getDeclaredMethods()          返回 Method 对象的一个数组,这些对象反映此 Class 对象表示的类或接口声明的所有方法,包括公共.保护.默认(包)访问和私有方法, ...

  4. Conversion to Dalvik format failed: Unable to execute dex: null

    [2013-11-19 14:18:48 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check th ...

  5. java web 学习一

    一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...

  6. mybatis系列-05-SqlMapConfig.xml详解

    mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandler ...

  7. (转载)OC学习篇之---类的三大特性:封装,继承,多态

    之前的一片文章介绍了OC中类的初始化方法和点语法的使用,今天来继续学习OC中的类的三大特性,我们在学习Java的时候都知道,类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今 ...

  8. Ruby多字节字符的设计

    Perl.Python的多字节字符处理方式是UCS(Universal Code Set),Ruby的多字节字符处理方式是CSI(Code Set Independent).UCS的做法是,不管你读取 ...

  9. HDU 5833 Zhu and 772002 (高斯消元)

    Zhu and 772002 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5833 Description Zhu and 772002 are b ...

  10. 应用反射写的tostring方法

    应用反射写的tostring方法 应用反射写的tostring方法,方便以后查询 代码 package com.chzhao.reflecttest; import java.lang.reflect ...