CRM Entity 之Money转string int类型等
Money转string
左右都是string
//服务站地址
vehicleDetail["yt_servicestation_address"]=serviceStationCollEntity.Contains("yt_street")? serviceStationCollEntity["yt_street"] : null;
右侧Money 左侧string,需要转换成string
//工时单价
vehicleDetail["yt_workinghours"]=serviceStationCollEntity.Contains("yt_unit_price")? serviceStationCollEntity.GetAttributeValue<Money>("yt_unit_price").Value.ToString() : null;
namespace Net.CRM.Entity { using System; using Microsoft.Xrm.Sdk; /// <summary> /// 基本模式---Entity /// </summary> public class EntityDemo { public void Run(Entity entity) { if (IsNotNull(entity,"new_int")) { //获取int类型的字段的值 int new_int = entity.GetAttributeValue<int>("new_int"); } if (IsNotNull(entity, "new_string")) { //获取string类型的字段的值 string new_string = entity.GetAttributeValue<string>("new_string"); } if (IsNotNull(entity, "new_float")) { //获取float类型的字段的值 float new_float = entity.GetAttributeValue<float>("new_float"); } if (IsNotNull(entity, "new_money")) { //获取Money(货币)类型的字段的值 decimal new_money = entity.GetAttributeValue<Money>("new_money").Value; } if (IsNotNull(entity, "new_picklist")) { //获取OptionSetValue(下拉框)类型的字段的值 int new_picklist = entity.GetAttributeValue<OptionSetValue>("new_picklist").Value; } if (IsNotNull(entity, "new_lookup")) { //获取EntityReference(引用字段)类型的字段的值 EntityReference new_lookup = entity.GetAttributeValue<EntityReference>("new_lookup"); } } /// <summary> /// 判断实体的某个字段是否为空 /// </summary> /// <param name="entity">实体</param> /// <param name="name">字段名称</param> public bool IsNotNull(Entity entity,string name) { return entity.Contains(name) && entity.Attributes[name] != null; } } } 这样写,是正确的,但是,很繁琐,下面是快速的写法: namespace Net.CRM.Entity { using System; using Microsoft.Xrm.Sdk; /// <summary> /// 快速开发---Entity /// </summary> public class EntityQuickDemo { public void Run(Entity entity) { if (entity.IsNotNull("new_int")) { //获取int类型的字段的值 int new_int = entity.ToInt("new_int"); } if (entity.IsNotNull("new_string")) { //获取string类型的字段的值 string new_string = entity.ToString("new_string"); } if (entity.IsNotNull("new_float")) { //获取float类型的字段的值 float new_float = entity.ToFloat("new_float"); } if (entity.IsNotNull("new_money")) { //获取Money(货币)类型的字段的值 decimal new_money = entity.ToMoney("new_money"); } if (entity.IsNotNull("new_picklist")) { //获取OptionSetValue(下拉框)类型的字段的值 int new_picklist = entity.ToOpInt("new_picklist"); } if (entity.IsNotNull("new_lookup")) { //获取EntityReference(引用字段)类型的字段的值 EntityReference new_lookup = entity.ToEr("new_lookup"); } } } /// <summary> /// 扩展方法 /// </summary> public static class EntityFunction { /// <summary> /// Int /// </summary> public static int ToInt(this Entity entity, string name) { return entity.GetAttributeValue<int>(name); } /// <summary> /// string /// </summary> public static string ToString(this Entity entity, string name) { return entity.GetAttributeValue<string>(name); } /// <summary> /// float /// </summary> public static float ToFloat(this Entity entity, string name) { return entity.GetAttributeValue<float>(name); } /// <summary> /// Money /// </summary> public static decimal ToMoney(this Entity entity, string name) { return entity.GetAttributeValue<Money>(name).Value; } /// <summary> /// OptionSetValue /// </summary> public static int ToOpInt(this Entity entity, string name) { return entity.GetAttributeValue<OptionSetValue>(name).Value; } /// <summary> /// EntityReference /// </summary> public static EntityReference ToEr(this Entity entity, string name) { return entity.GetAttributeValue<EntityReference>(name); } public static T GetAttributeValue<T>(this Entity entity, string name) { if (entity.IsNotNull(name)) { return entity.GetAttributeValue<T>(name); } return default(T); } /// <summary> /// 判断实体的某个字段是否为空 /// </summary> /// <param name="entity">实体</param> /// <param name="name">字段名称</param> public static bool IsNotNull(this Entity entity, string name) { return entity.Contains(name) && entity.Attributes[name] != null; } } }
CRM Entity 之Money转string int类型等的更多相关文章
- char,String,int类型互转
1.ascci码对应转换 字符,对应的ascii(其实是UTF-16)码: char c='a'; int k=(int) c; 结果k=97 数字,对应的字符: int k=9 ...
- golang 中string和int类型相互转换
总结了golang中字符串和各种int类型之间的相互转换方式: string转成int: int, err := strconv.Atoi(string)string转成int64: int64, e ...
- java中将string类型转int类型或者将string类型转long类型方法
将字串 String 转换成整数 int 两种方法: 1).int i = Integer.parseInt("111"); 或 i = Integer.parseInt([Str ...
- Java int类型与String类型互转
String类型转换为int类型 参考:https://blog.csdn.net/qq_35995940/article/details/78433404?locationNum=5&fps ...
- Java不同类型字符转换String/int/Float/////
1.int & String int i=5678;String s=""; int->String: s=i+"";或 s=String.val ...
- 如何将int整型转换成String字符串类型
自动类型转换适用于兼容类型之间从小范围到大范围数据的转换. nt转换成String int i = 10; int b=1: System.out.pritnln(a + b); 里面靠近字符串,所以 ...
- java将int类型的变量转化成String类型的
第一种方法:String的valueOf方法,int i=5;String s=String.valueOf(i);第二种方法,直接在int后面加一个空的字符串,因为在java里面,默认任务int类型 ...
- Item 30 用enum代替int常量类型枚举,string常量类型枚举
1.用枚举类型替代int枚举类型和string枚举类型 public class Show { // Int枚举类型 // public static final int APPLE_FUJI ...
- linq中将int类型转换为string类型,toString()报错
今天同事在调试程序的时候,报了一个不寻常的错误, “LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式 ...
随机推荐
- Wireshark入门与进阶系列(一)
摘自http://blog.csdn.net/howeverpf/article/details/40687049 Wireshark入门与进阶系列(一) “君子生非异也,善假于物也”---荀子 本文 ...
- 常用wxPython事件描述
事件描述 EVT_SIZE 由于用户干预或由程序实现,当一个窗口大小发生改变时发送给窗口. EVT_MOVE 由于用户干预或由程序实现,当一个窗口被移动时发送给窗口. EVT_CLOSE ...
- redi中删除所有的数据
EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 *
- CSS3重点总结
CSS3重点总结(1)兄弟选择器:2种:+. ~ 1.相邻兄弟选择器(+):选择器1+选择器2 选择"选择器1"相邻的后一个兄弟"选择器2" 强调:选中的是自己 ...
- chrome插件 postman 可以调用restful服务
chrome插件 postman 可以调用restful服务
- javascript模式——Factory
Facotry模式是一种创建型模式,他不同于一般编码习惯,显示的调用各个构造函数.Factory模式是提供一个通用的接口来创建对象. 一个Factory模式压缩所有对象创建的方式,降低这个工厂与其它对 ...
- sqlserver数据库三范式的理解
从来都是听过概念,过一段时间就忘记了,根本就没有深入的理解.这次梳理一遍,用自己的方式记录一下. 1nf 原子性,不可拆分性 例如一张表里包含一个class属性(软件系,外语系,经贸系...)字段,这 ...
- JSON 小记
JSON是在web应用中频繁使用的一种数据结构,在使用过程中经常出现格式错误等等问题,如果能清晰的了解JSON的构成,那将会避免这些错误 英文好的可以查看原文: 地址:http://www.codep ...
- 【11.2noip冲刺赛】 循环整数 (分段打表)
[问题描述]moreD在学习完循环小数之后发现循环是个很美好的性质.自己只需要记住短短的循环节以及循环次数(次数大于1,且是整数)就可以记住整个数字了.因为背诵数字变得方便了,moreD决定背诵[L, ...
- 本地网址连不上远程mysql问题
问题:host 'XXX.XXX.XXX.XXX'is not allowed to connect to this MySQL server 解决办法: 进入远程mysql #mysql -u ro ...