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. ffmpeg开发指南

    FFmpeg是一个集录制.转换.音/视频编码解码功能为一体的完整的开源解决方案.FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用.FFmpeg支持MPEG.DivX.M ...

  2. BMP图像格式

    BMP(全称Bitmap)是Window操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广.它采用位映射存储格式,除了图像深度可选以外,不采用其他任 ...

  3. 反射小应用之DataTable和List<T>互操作

    在程序中,往往会遇到一些小情况,就是数据库取出来的时候为了方便直接将数据通过存储在DataSet或DataTable中,这样做的一个后果是在日后的的对数据进行”细“操作时,就发现它可能没有List&l ...

  4. (2)Spring集成Quartz定时任务框架介绍和Cron表达式详解

    在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等.我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但 ...

  5. 【转】Masonry介绍与使用实践(快速上手Autolayout)

    原文网址:http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/ 前言 1 MagicNumber -> aut ...

  6. 一次library cache pin故障的解决过程

    内容如下: 今天接到同事的电话,说他的一个存储过程已经run了一个多小时了,还在继续run,他觉得极不正常,按道理说不应该run这么长时间. 我说那我去看一下吧. 这个库是一个AIX上的10.2.0. ...

  7. c# 进行AE开发时,如何在地图上定位出一个点

    一.文本形式的气泡提示框 由于本人是初学,所以具体的含义尚未弄清楚,直接给出代码吧!

  8. [Papers]NSE, $\p_3u$, Lebesgue space [Kukavica-Ziane, JMP, 2007]

    $$\bex \p_3\bbu\in L^p(0,T;L^q(\bbR^3)),\quad \frac{2}{p}+\frac{3}{q}=2,\quad \frac{9}{4}\leq q\leq ...

  9. Ubuntu14.04下Python3.4启动IDLE

    1.在Ubuntu14.04 LTS版本中,已经自行安装了python,可以在Terminal(CTRL+ALT+T)中输入:ls /usr/bin | grep python 进行查看. 如果想运行 ...

  10. [LeetCode] Ugly Number (A New Question Added Today)

    Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers ...