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)); }
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)); }
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; }
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; }
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)); }