zoukankan      html  css  js  c++  java
  • 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;
    
            }
    
        }
    
    }
  • 相关阅读:
    开启 clr enabled
    索引查看
    nginx 安装
    mysql中int(10)与int(11)有什么区别吗?
    1.安卓开发基础1~6笔记
    Vue项目搭建基础之Vue-cli模版测试
    alert执行顺序
    介绍call和apply
    a链接易混淆与form表单简易验证用法详解
    js正则知识点
  • 原文地址:https://www.cnblogs.com/zhaojingwei/p/4923509.html
Copyright © 2011-2022 走看看