public int CompareTo(Measure other) { const StringComparison comparisonIgnoreCase = StringComparison.OrdinalIgnoreCase; if (ReferenceEquals(this, other)) { return(0); } if (ReferenceEquals(null, other)) { return(1); } var oldDbCodeComparison = OldDbCode.CompareTo(other.OldDbCode); if (oldDbCodeComparison != 0) { return(oldDbCodeComparison); } var nameComparison = string.Compare(Name, other.Name, comparisonIgnoreCase); if (nameComparison != 0) { return(nameComparison); } var shortNameComparison = string.Compare(ShortName, other.ShortName, comparisonIgnoreCase); if (shortNameComparison != 0) { return(shortNameComparison); } return(Id.CompareTo(other.Id)); }
public override int GetHashCode() { unchecked { var hashCode = Id.GetHashCode(); hashCode = (hashCode * 397) ^ OldDbCode.GetHashCode(); hashCode = (hashCode * 397) ^ (Name != null ? StringComparer.OrdinalIgnoreCase.GetHashCode(Name) : 0); hashCode = (hashCode * 397) ^ (ShortName != null ? StringComparer.OrdinalIgnoreCase.GetHashCode(ShortName) : 0); return(hashCode); } }