using Kingdee.BOS.Orm.DataEntity; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace XhOA.Extension { public static class KDExtension { /// /// 获取一级值 可用于获取文本、数组 /// /// /// /// public static object GetValue(this DynamicObject dynamicObject, string propertyName) { return dynamicObject[propertyName]; } /// /// 获取一级基础资料或单据体对象 /// /// /// /// /// public static T GetValue(this DynamicObject dynamicObject, string propertyName) { var value = dynamicObject.GetValue(propertyName); if (value != null) { return (T)Convert.ChangeType(value, typeof(T)); } return default(T); } /// /// 获取基础资料的属性 /// /// /// /// /// public static object GetDataBaseProperty(this DynamicObject dynamicObject, string dataBaseKey, string propertyName) { var dataBase = dynamicObject.GetValue(dataBaseKey); if (dataBase != null) { return dataBase.GetValue(propertyName); } return null; } public static T GetDataBaseProperty(this DynamicObject dynamicObject, string dataBaseKey, string propertyName) { var dataBase = dynamicObject.GetValue(dataBaseKey); if (dataBase != null) { var value = dataBase.GetValue(propertyName); return (T)Convert.ChangeType(value, typeof(T)); } return default(T); } /// /// 获取基础资料的编码 /// /// /// /// public static object GetDataBaseNumber(this DynamicObject dynamicObject, string dataBaseKey) { return dynamicObject.GetDataBaseProperty(dataBaseKey, "Number"); } public static T GetDataBaseNumber(this DynamicObject dynamicObject, string dataBaseKey) { return dynamicObject.GetDataBaseProperty(dataBaseKey, "Number"); } /// /// 获取基础资料的内码 /// /// /// /// public static object GetDataBaseId(this DynamicObject dynamicObject, string dataBaseKey) { return dynamicObject.GetDataBaseProperty(dataBaseKey, "Id"); } public static T GetDataBaseId(this DynamicObject dynamicObject, string dataBaseKey) { return dynamicObject.GetDataBaseProperty(dataBaseKey, "Id"); } } }