Example #1
0
        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);
        }