示例#1
0
 internal override PropagatorResult.KeyValue ReplicateResultWithNewNext(
     PropagatorResult.KeyValue next)
 {
     if (this.m_next != null)
     {
         next = this.m_next.ReplicateResultWithNewNext(next);
     }
     return((PropagatorResult.KeyValue) new PropagatorResult.ServerGenKeyValue(this.PropagatorFlags, this.m_value, this.StateEntry, this.Identifier, this.RecordOrdinal, next));
 }
示例#2
0
 internal virtual PropagatorResult.KeyValue ReplicateResultWithNewNext(
     PropagatorResult.KeyValue next)
 {
     if (this.m_next != null)
     {
         next = this.m_next.ReplicateResultWithNewNext(next);
     }
     return(new PropagatorResult.KeyValue(this.PropagatorFlags, this.m_value, this.m_stateEntry, this.m_identifier, next));
 }
示例#3
0
 internal ServerGenKeyValue(
     PropagatorFlags flags,
     object value,
     IEntityStateEntry stateEntry,
     int identifier,
     int recordOrdinal,
     PropagatorResult.KeyValue next)
     : base(flags, value, stateEntry, identifier, next)
 {
     this.m_recordOrdinal = recordOrdinal;
 }
示例#4
0
 internal KeyValue(
     PropagatorFlags flags,
     object value,
     IEntityStateEntry stateEntry,
     int identifier,
     PropagatorResult.KeyValue next)
     : base(flags, value)
 {
     this.m_stateEntry = stateEntry;
     this.m_identifier = identifier;
     this.m_next       = next;
 }
示例#5
0
 internal override PropagatorResult Merge(
     KeyManager keyManager,
     PropagatorResult other)
 {
     PropagatorResult.KeyValue next = other as PropagatorResult.KeyValue;
     if (next == null)
     {
         EntityUtil.InternalError(EntityUtil.InternalErrorCode.UpdatePipelineResultRequestInvalid, 0, (object)"KeyValue.Merge");
     }
     if (this.Identifier != next.Identifier)
     {
         if (keyManager.GetPrincipals(next.Identifier).Contains <int>(this.Identifier))
         {
             return((PropagatorResult)this.ReplicateResultWithNewNext(next));
         }
         return((PropagatorResult)next.ReplicateResultWithNewNext(this));
     }
     if (this.m_stateEntry == null || this.m_stateEntry.IsRelationship)
     {
         return((PropagatorResult)next.ReplicateResultWithNewNext(this));
     }
     return((PropagatorResult)this.ReplicateResultWithNewNext(next));
 }