public void GetFromBusinessObject(BusinessObject objBusinessObject) { BusinessObjectHelper.InitPropertyList(this.AATableName); BusinessObjectHelper.InitPropertyList(objBusinessObject.AATableName); foreach (PropertyInfo srcProp in BusinessObjectHelper.PropertyList[objBusinessObject.AATableName].Values) { PropertyInfo destProp = BusinessObjectHelper.GetProperty(this.AATableName, srcProp.Name); if (destProp != null) { object objValue = ABCDynamicInvoker.GetValue(objBusinessObject, srcProp); ABCDynamicInvoker.SetValue(this, destProp, objValue); } } }
public static bool CopyFKFields(BusinessObject objFrom, BusinessObject objTo, Boolean isCleanFieldOnly) { if (objFrom == null || objTo == null) { return(false); } bool isCopied = false; String strFromName = objFrom.AATableName; String strToName = objTo.AATableName; BusinessObjectHelper.InitPropertyList(strToName); foreach (PropertyInfo propTo in BusinessObjectHelper.PropertyList[strToName].Values) { if (DataStructureProvider.IsForeignKey(strToName, propTo.Name) == false) { continue; } PropertyInfo propFrom = BusinessObjectHelper.GetProperty(strFromName, propTo.Name); if (propFrom != null) { if (isCleanFieldOnly == false || (isCleanFieldOnly && IsCleanField(objTo, propTo.Name))) { object objValue = ABCDynamicInvoker.GetValue(objFrom, propFrom); object objOldValue = ABCDynamicInvoker.GetValue(objTo, propTo); ABCDynamicInvoker.SetValue(objTo, propTo, objValue); if (objOldValue != objValue) { isCopied = true; } } } } return(isCopied); }