示例#1
0
        protected override MemberInfoCollection GetPropertiesListForUpdateInsert(object theObject, bool isUpdate) {
            var supportChangedMembers = theObject as ISupportChangedMembers;
            if (supportChangedMembers != null && !IsNewObject(supportChangedMembers)) {
                XPClassInfo ci = GetClassInfo(supportChangedMembers);
                var changedMembers = new MemberInfoCollection(ci);
                var memberInfos = base.GetPropertiesListForUpdateInsert(supportChangedMembers, isUpdate).Where(m => MemberHasChanged(supportChangedMembers, m));
                changedMembers.AddRange(memberInfos);
                return changedMembers;
            }

            return base.GetPropertiesListForUpdateInsert(theObject, isUpdate);
        }
示例#2
0
        protected override MemberInfoCollection GetPropertiesListForUpdateInsert(object theObject, bool isUpdate) {
            if (theObject is ISupportChangedMembers && !IsNewObject(theObject)) {
                XPClassInfo ci = GetClassInfo(theObject);
                var changedMembers = new MemberInfoCollection(ci);
                changedMembers.AddRange(base.GetPropertiesListForUpdateInsert(theObject, isUpdate).Where(m =>
                        m.HasAttribute(typeof (PersistentAttribute)) || m.IsKey || m is ServiceField ||
                        ((ISupportChangedMembers) theObject).ChangedMemberCollector.MemberInfoCollection.Contains(m)));
                return changedMembers;
            }

            return base.GetPropertiesListForUpdateInsert(theObject, isUpdate);
        }
示例#3
0
        protected override MemberInfoCollection GetPropertiesListForUpdateInsert(object theObject, bool isUpdate)
        {
            if (theObject is ISupportChangedMembers && !IsNewObject(theObject))
            {
                XPClassInfo ci             = GetClassInfo(theObject);
                var         changedMembers = new MemberInfoCollection(ci);
                changedMembers.AddRange(base.GetPropertiesListForUpdateInsert(theObject, isUpdate).Where(m =>
                                                                                                         m.HasAttribute(typeof(PersistentAttribute)) || m.IsKey || m is ServiceField ||
                                                                                                         ((ISupportChangedMembers)theObject).ChangedMemberCollector.MemberInfoCollection.Contains(m)));
                return(changedMembers);
            }

            return(base.GetPropertiesListForUpdateInsert(theObject, isUpdate));
        }
示例#4
0
        protected override MemberInfoCollection GetPropertiesListForUpdateInsert(object theObject, bool isUpdate, bool addDelayedReference)
        {
            var supportChangedMembers = theObject as ISupportChangedMembers;

            if (supportChangedMembers != null && !IsNewObject(supportChangedMembers))
            {
                XPClassInfo ci             = GetClassInfo(supportChangedMembers);
                var         changedMembers = new MemberInfoCollection(ci);
                var         memberInfos    = base.GetPropertiesListForUpdateInsert(supportChangedMembers, isUpdate, addDelayedReference).Where(m => MemberHasChanged(supportChangedMembers, m));
                changedMembers.AddRange(memberInfos);
                return(changedMembers);
            }

            return(base.GetPropertiesListForUpdateInsert(theObject, isUpdate, addDelayedReference));
        }