public bool EqualsIgnoringProviderId(IRelationById other) { if (ReferenceEquals(other, null)) { return(false); } if (ReferenceEquals(other, this)) { return(true); } var equals = true; if (Type != other.Type) { equals = false; } if (!SourceId.EqualsIgnoringProviderId(other.SourceId)) { equals = false; } if (!DestinationId.EqualsIgnoringProviderId(other.DestinationId)) { equals = false; } if (!MetaData.OrderBy(x => x.Key).SequenceEqual(other.MetaData.OrderBy(x => x.Key))) { equals = false; } return(equals); }
public bool EqualsIgnoringProviderId(IReadonlyRelation <IRelatableEntity, IRelatableEntity> other) { if (ReferenceEquals(other, null)) { return(false); } if (ReferenceEquals(other, this)) { return(true); } var objCast = other as Relation; if (ReferenceEquals(objCast, null)) { return(false); } var equals = true; if (Type != other.Type) { equals = false; } if (!SourceId.EqualsIgnoringProviderId(other.SourceId)) { equals = false; } if (!DestinationId.EqualsIgnoringProviderId(other.DestinationId)) { equals = false; } if (!MetaData.OrderBy(x => x.Key).SequenceEqual(objCast.MetaData.OrderBy(x => x.Key))) { equals = false; } return(equals); }