Ejemplo n.º 1
0
        public IPropertyChangeSet Merge(IPropertyChangeSet other)
        {
            MultiPropChangeSet mergeResult = new MultiPropChangeSet(_newResource || other.IsNewResource);

            MergeWith(mergeResult);

            (other as PropertyChangeSetBase).MergeWith(mergeResult);
            return(mergeResult);
        }
Ejemplo n.º 2
0
 protected override void MergeWith(MultiPropChangeSet cs)
 {
     if (_linkTargetID == -1)
     {
         cs.AddChangedProp(_propID, _oldValue);
     }
     else
     {
         cs.AddChangedLink(_propID, _linkTargetID, _linkChangeType);
     }
     if (_displayNameAffected)
     {
         cs.SetDisplayNameAffected();
     }
 }
Ejemplo n.º 3
0
 protected override void MergeWith(MultiPropChangeSet cs)
 {
     lock ( _oldValues )
     {
         foreach (IntHashTable.Entry ie in _oldValues)
         {
             if (ie.Value is ArrayList)
             {
                 foreach (LinkChange change in (ArrayList)ie.Value)
                 {
                     cs.AddChangedLink(ie.Key, change.TargetId, change.ChangeType);
                 }
             }
             else
             {
                 cs.AddChangedProp(ie.Key, ie.Value);
             }
         }
     }
     if (_displayNameAffected)
     {
         cs.SetDisplayNameAffected();
     }
 }
Ejemplo n.º 4
0
 protected abstract void MergeWith(MultiPropChangeSet cs);