/// <summary> /// Serves as a hash function for a particular type. /// </summary> /// <returns> /// A hash code for the current <see cref="T:System.Object"/>. /// </returns> /// <filterpriority>2</filterpriority> public override int GetHashCode() { unchecked { return((Date.GetHashCode() * 397) ^ (MappedSymbol != null ? MappedSymbol.GetHashCode() : 0) ^ (PrimaryExchange != null ? PrimaryExchange.GetHashCode() : 0)); } }
/// <summary> /// Writes this row to csv format /// </summary> public string ToCsv() { var encodedExchange = string.Empty; if (PrimaryExchange == Exchange.UNKNOWN) { if (DataMappingMode != null) { // be lazy, only add a comma if we have a mapping mode after encodedExchange = ","; } } else { encodedExchange = $",{PrimaryExchange.Code}"; } var mappingMode = DataMappingMode != null ? $",{(int)DataMappingMode}" : string.Empty; return($"{Date.ToStringInvariant(DateFormat.EightCharacter)},{MappedSymbol.ToLowerInvariant()}{encodedExchange}{mappingMode}"); }
/// <summary> /// Writes this row to csv format /// </summary> public string ToCsv() { var encodedExchange = PrimaryExchange == PrimaryExchange.UNKNOWN? string.Empty : $",{Convert.ToChar((byte) PrimaryExchange)}"; return($"{Date.ToStringInvariant(DateFormat.EightCharacter)},{MappedSymbol.ToLowerInvariant()}{encodedExchange}"); }