public int Compare(StreamTrade other) { int ret = 0; ret = Id.CompareTo(other.Id); if (ret != 0) { return(ret); } ret = PortfolioId.CompareTo(other.PortfolioId); if (ret != 0) { return(ret); } ret = InstrumentId.CompareTo(other.InstrumentId); if (ret != 0) { return(ret); } ret = (Bid != other.Bid ? Bid ? 1 : -1 : 0); if (ret != 0) { return(ret); } ret = (Price != other.Price ? Price > other.Price ? 1 : -1 : 0); if (ret != 0) { return(ret); } ret = (Volume != other.Volume ? Volume > other.Volume ? 1 : -1 : 0); if (ret != 0) { return(ret); } ret = Buyer.CompareTo(other.Buyer); if (ret != 0) { return(ret); } ret = Seller.CompareTo(other.Seller); return(ret); }