CRM Entity 之Money转string int类型等
2024-08-25 05:40:08
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; } } }
最新文章
- HTML5视频播放
- lucence.net+盘古分词
- mongodb C# 驱动查询
- Windows Phone 8.0 Updates 2 and 3模拟器更新
- 阅读廖雪峰老师git教程笔记
- GIT 如何删除某个本地的提交
- 加密方式&;数字签名
- A C[HDU1570]
- ligerui+json_001_实现表格(grid)的后台数据显示、分页
- Form_Form树形结构HTree的开发(案例)
- ajax readyState的五种状态详解
- AVQueuePlayer,备用
- 80端口的烦恼:[3]清除NT Kernel占用80端口
- 蛙人(ple)
- PHPexcel数据导出
- 一次webapck4 配置文件无效的解决历程
- ThinkingInJava 学习 之 0000005 访问权限控制
- WebSocket 教程
- 由testcase数据之分析
- OpenGL ES 3.0之Fragment buffer objects(FBO)详解(二)