Ejemplo n.º 1
0
        void ImportSimpleProperty(UnitOfWork outputUow, UnitOfWork inputUow, InputMemberInfo memberInfo, ImportedMemberInfo importedMemberInfo, object objectToImport, object xpoObject)
        {
            XPMemberInfo xpMemberInfo = importedMemberInfo.MemberInfo;

            if (xpMemberInfo != null)
            {
                var value = xpMemberInfo.GetValue(objectToImport);
                if (memberInfo.ReferenceType != null && memberInfo.ReferenceType.IsPersistent)
                {
                    var  memberType = ((InputObjectClassInfo)memberInfo.ReferenceType).OutputClassInfo.ClassType;
                    bool returnKey;
                    bool returnImportKey;
                    value = GetReferenceMemberValue(outputUow, value, memberType, out returnKey, out returnImportKey);
                    if (returnKey)
                    {
                        AddFillRefInfo(memberInfo, xpoObject, value);
                        return;
                    }
                    if (returnImportKey)
                    {
                        value = inputUow.GetKeyValue(value);
                        AddFillRefAndImportInfo(memberInfo, xpoObject, value);
                        return;
                    }
                }
                memberInfo.SetOutputMemberValue(xpoObject, value);
            }
        }
Ejemplo n.º 2
0
 void ImportSimpleProperty(UnitOfWork outputUow, UnitOfWork inputUow, InputMemberInfo memberInfo, ImportedMemberInfo importedMemberInfo, object objectToImport, object xpoObject) {
     XPMemberInfo xpMemberInfo = importedMemberInfo.MemberInfo;
     if (xpMemberInfo != null) {
         var value = xpMemberInfo.GetValue(objectToImport);
         if (memberInfo.ReferenceType != null && memberInfo.ReferenceType.IsPersistent) {
             var memberType = ((InputObjectClassInfo)memberInfo.ReferenceType).OutputClassInfo.ClassType;
             bool returnKey;
             bool returnImportKey;
             value = GetReferenceMemberValue(outputUow, value, memberType, out returnKey, out returnImportKey);
             if (returnKey) {
                 AddFillRefInfo(memberInfo, xpoObject, value);
                 return;
             }
             if (returnImportKey) {
                 value = inputUow.GetKeyValue(value);
                 AddFillRefAndImportInfo(memberInfo, xpoObject, value);
                 return;
             }
         }
         memberInfo.SetOutputMemberValue(xpoObject, value);
     }
 }