public virtual bool Equivalent(DatasourceRecord compare) { if (compare == null) { return(false); } if (this == compare) { return(true); } if (DatasourceId != compare.DatasourceId) { return(false); } if (Timestamp != compare.Timestamp) { return(false); } if (IntervalSeconds != compare.IntervalSeconds) { return(false); } if (Value == null ^ compare.Value == null || (Value != null && !Value.SequenceEqual(compare.Value))) { return(false); } if (EncodedDataType != compare.EncodedDataType) { return(false); } return(true); }
public override bool Equivalent(DatasourceRecord compare) { if (!base.Equivalent(compare)) { return(false); } var c = compare as EventRecord; if (c == null) { return(false); } if (EventType != c.EventType) { return(false); } if (MetaData == null ^ c.MetaData == null) { return(false); } if (MetaData != null && c.MetaData != null) { if (MetaData.Count != c.MetaData.Count) { return(false); } foreach (var md in MetaData) { if (!c.MetaData.ContainsKey(md.Key)) { return(false); } for (var i = 0; i < md.Value.Length; i++) { if (md.Value[i] != c.MetaData[md.Key][i]) { return(false); } } } } return(true); }