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");
}
}
}