DynamicEntity postImageEntity = (DynamicEntity)context.PostEntityImages["PostImage"];

            if (postImageEntity != null)
{ Guid new_accountId = Guid.Empty;
decimal new_book_credit = 0M;
CrmDateTime new_expiry_date = new CrmDateTime(DateTime.Now.ToString()); int new_status = ; //状态
if (postImageEntity.Properties.Contains("new_status"))
{
new_status = ((Picklist)postImageEntity.Properties["new_status"]).Value;
} //经销商GUID
if (postImageEntity.Properties.Contains("new_account"))
{
new_accountId = ((Lookup)postImageEntity.Properties["new_account"]).Value;
} decimal new_credit_line = 0M;
decimal new_remaining_credits = 0M; //ColumnSet cols = new ColumnSet(new string[] { "new_credit_line", "new_remaining_credits" });
//account acc_entity = (account)crmService.Retrieve("account", new_accountId, cols);//这里和CRM2011不一样,
返回的为BusinessEntity,并且这里只能取account得系统字段的值。 //查询条件
QueryExpression query = new QueryExpression();
query.EntityName = "account";
query.ColumnSet = new ColumnSet();
query.ColumnSet.AddColumns(new string[] { "new_credit_line", "new_remaining_credits" }); //条件表达式
ConditionExpression condition = new ConditionExpression();
condition.AttributeName = "accountid";
condition.Values = new string[] { new_accountId.ToString() }; //筛选
FilterExpression filter = new FilterExpression();
filter.FilterOperator = LogicalOperator.And;
filter.Conditions.Add(condition);
query.Criteria.Filters.Add(filter); //查询
RetrieveMultipleRequest request = new RetrieveMultipleRequest();
request.Query = query;
request.ReturnDynamicEntities = true; //响应
RetrieveMultipleResponse response = (RetrieveMultipleResponse)crmService.Execute(request);
BusinessEntityCollection entityCollection = response.BusinessEntityCollection; if (entityCollection.BusinessEntities.Count == ) return; DynamicEntity acc_entity = (DynamicEntity)entityCollection.BusinessEntities[]; //期初信用额度
if (acc_entity.Properties.Contains("new_credit_line"))
{
new_credit_line = cu.RoundDecimal(((CrmMoney)acc_entity.Properties["new_credit_line"]).Value);
} //剩余信用额度
if (acc_entity.Properties.Contains("new_remaining_credits"))
{
new_remaining_credits = cu.RoundDecimal(((CrmMoney)acc_entity.Properties["new_remaining_credits"]).Value);
} cu.WriteLog("new_remaining_credits:" + new_remaining_credits);
//赊销额度
if (postImageEntity.Properties.Contains("new_book_credit"))
{
new_book_credit = cu.RoundDecimal(((CrmMoney)postImageEntity.Properties["new_book_credit"]).Value);
}
cu.WriteLog("new_book_credit:" + new_book_credit);
//赊销变更效期
if (postImageEntity.Properties.Contains("new_expiry_date"))
{
new_expiry_date = ((CrmDateTime)postImageEntity.Properties["new_expiry_date"]);
} DynamicEntity accountEntity = new DynamicEntity("account"); if (!string.IsNullOrEmpty(new_book_credit.ToString()))
{
//信用额度
accountEntity.Properties.Add(new CrmMoneyProperty("new_credit_line", new CrmMoney(cu.RoundDecimal(new_book_credit))));
} if (!string.IsNullOrEmpty(new_expiry_date.ToString()))
{
//信用额度截止日期
accountEntity.Properties.Add(new CrmDateTimeProperty("new_expiration_date", new_expiry_date));
} decimal totalnew_credit_line = 0M;
decimal totalnew_remaining_credits = 0M; if (string.IsNullOrEmpty(new_credit_line.ToString()))
{
new_credit_line = 0M;
} if (string.IsNullOrEmpty(new_book_credit.ToString()))
{
new_book_credit = 0M;
} //经销商【期初信用额度】= 起初的经销商【期初信用额度】 + 【赊销额度】
totalnew_credit_line = new_credit_line + new_book_credit; //经销商【剩余信用额度】= 起初的经销商【剩余信用额度】 + 【赊销额度】
totalnew_remaining_credits = new_remaining_credits + new_book_credit; //期初信用额度
accountEntity.Properties.Add(new CrmMoneyProperty("new_credit_line", new CrmMoney(totalnew_credit_line))); //剩余信用额度
accountEntity.Properties.Add(new CrmMoneyProperty("new_remaining_credits", new CrmMoney(totalnew_remaining_credits))); if (new_accountId != Guid.Empty)
{
accountEntity.Properties.Add(new KeyProperty("accountid", new Key(new_accountId)));
} if (new_status == )
{
crmService.Update(accountEntity);//更新操作
}
}

Microsoft Dynamics CRM 4.0 Plugin 取值,赋值,查询的更多相关文章

  1. 一、Microsoft Dynamics CRM 4.0 SDK概述

    Chapter 1. Microsoft Dynamics CRM 4.0 SDK Overview(SDK概述) You are probably reading this book because ...

  2. 从 Microsoft Dynamics CRM 4.0 server迁移到 Microsoft Dynamics CRM 2013 Server

    不能就地升级早于 Microsoft Dynamics CRM Server 2011 的版本号,比方 Microsoft Dynamics CRM 4.0 server.可是,能够在升级过程中使用 ...

  3. Microsoft Dynamics CRM 4.0导入组织(Import Organization)时间过长的原因总结

    952934    How to move the Microsoft Dynamics CRM 4.0 deployment http://support.microsoft.com/default ...

  4. Microsoft Dynamics CRM 9.0 OP 版本 安装 的那些 雷

    天天讲安装过程好无聊了,还是搞点有营养的东西来,那么后面来说说刚出来的MSCRM OP 9.0 版本安装的那些雷: 雷1:操作系统要求Windows 2016 Server 这点还好,因为之前安装MS ...

  5. Microsoft Dynamics CRM 4.0 JScript 通用公共方法

    1.基本参数 var CRM_FORM_TYPE_CREATE = 1; var CRM_FORM_TYPE_UPDATE = 2; var CRM_FORM_TYPE_READ_ONLY = 3; ...

  6. 打开安装 好的Microsoft Dynamics CRM 4.0 报错误为 Caller does not have enough privilege to set CallerOriginToken to the specified value 的解决办法

    If you installed CRM 4.0 on box where you also have SQL and used a domain account as service account ...

  7. Microsoft Dynamics CRM 4.0 如何添加自定义按钮

    一.通过导入导出ISV.Config(ISV配置),具体如下图: 先设置—>打开导出自定义项—>选择ISV配置—>选择导出所选自定义项 点击确定 保存到桌面,解压,用VS打开cust ...

  8. Dynamics CRM2016 升级老版本报“JavaScript Web 资源包含对 Microsoft Dynamics CRM 4.0 (2007) Web 服务终结点的引用”问题的解决办法

    今天在新的服务器上部署了CRM2016 on-premises,并将CRM2015的数据库拷贝过来准备附加后升级,但在升级过程中遇到了如下错误,向导检测到了我的JavaScript Web 资源中包含 ...

  9. Dynamics CRM2016 升级老版本号报“JavaScript Web 资源包括对 Microsoft Dynamics CRM 4.0 (2007) Web 服务终结点的引用”问题的解决的方法

    今天在新的server上部署了CRM2016 on-premises,并将CRM2015的数据库拷贝过来准备附加后升级,但在升级过程中遇到了例如以下错误.向导检測到了我的JavaScript Web ...

随机推荐

  1. linux和window是文件挂载

    1. 首先在windows下面创建share文件夹并设置共享(右键->属性->共享)2. 确认ubuntu安装了mount.cifs,apt-get install mount.cifs ...

  2. UVALive 4764 dp

    DES: 这是一个新的游戏.给你一套牌.编号从1到100000.正常来说.你手中的牌和这次翻的牌是一样的,就会加一分.但是.如果是999的话.加三分.所以问你最大的分是多少. 貌似是简单的DP吧.(D ...

  3. 【转载】maven用处

    http://bbs.csdn.net/topics/80014314 当您的项目逐渐变得庞大和复杂时,最好使用一种构建工具来自动构建您的项目.例如,一个典型的java项目,每次构建时都要经历编译ja ...

  4. Log4j在Java工程中使用方法

    Eclipse新建Java工程,工程目录如下 1.下载log4j的Jar包,在Java工程下新建lib文件夹,将jar包拷贝到此文件夹,并将其加入到路径中,即:Jar包上右键——Build Path— ...

  5. L210 Ebola

    Progress in fighting Democratic Republic of the Congo's Ebola outbreak, the second worst ever, will ...

  6. IP addresses in C#

    在.Net网络库里面最大的优点就是IP地址和端口被成对处理,相比于UNIX中用的方法真是一个巨大的令人欢迎的进步..NET定义了两个类来处理关于IP地址的问题. One of the biggest ...

  7. Python学习(003)-列表[]

    列表[] a=['张帅','李四','王五','陈六','黄旗'] print(a[2])    王五 print(a[1:3])   ['李四','王五']  左包含,右不包含 print(a[1: ...

  8. shell 数学运算总结

    # !/bin/bash ## 整数-算数运算 ### 1. expr r=`expr 4 + 5` ### Tips:1. '4''+''5'三者之间有空白 echo $r; r=`expr 4 \ ...

  9. vue 局部引入js插件

    参考:https://blog.csdn.net/zhouzuoluo/article/details/84781490

  10. 微信小程序插件使用

    使用插件 小程序开发者可便捷地把插件添加到自己的小程序内,丰富小程序的服务.当用户在使用小程序时,将可以在小程序内使用插件提供的服务. 开放范围 所有小程序 接入流程 在小程序管理后台添加插件 小程序 ...