public override void EndElement(string endElement) { if (!(this.ElementName == endElement)) { return; } string[] strArray = this.Content.Split(OrderBookEventHandler.PipeDelimiter); long instrumentId = OrderBookEventHandler.ParseLong(strArray[0]); long timestap = OrderBookEventHandler.ParseTimestap(strArray[1]); Decimal output1; bool hasValuationBidPrice = OrderBookEventHandler.TryParseDecimal(strArray[7], out output1); Decimal output2; bool hasValuationAskPrice = OrderBookEventHandler.TryParseDecimal(strArray[8], out output2); Decimal output3; bool hasLastTradedPrice = OrderBookEventHandler.TryParseDecimal(strArray[9], out output3); Decimal output4; bool hasDailyHighestTradedPrice = OrderBookEventHandler.TryParseDecimal(strArray[5], out output4); Decimal output5; bool hasDailyLowestTradedPrice = OrderBookEventHandler.TryParseDecimal(strArray[6], out output5); List <PricePoint> prices1 = OrderBookEventHandler.ParsePrices(strArray[2]); List <PricePoint> prices2 = OrderBookEventHandler.ParsePrices(strArray[3]); Decimal marketClosePrice; long marketClosePriceTimestamp; bool marketClose = OrderBookEventHandler.TryParseMarketClose(strArray[4], out marketClosePrice, out marketClosePriceTimestamp); this.MarketDataChanged(new OrderBookEvent(instrumentId, hasValuationBidPrice, hasValuationAskPrice, output1, output2, prices1, prices2, marketClose, marketClosePrice, marketClosePriceTimestamp, hasLastTradedPrice, output3, hasDailyHighestTradedPrice, output4, hasDailyLowestTradedPrice, output5, timestap)); }
private static bool TryParseMarketClose(string payload, out Decimal marketClosePrice, out long marketClosePriceTimestamp) { if (payload.Length == 0) { marketClosePrice = new Decimal(0); marketClosePriceTimestamp = 0L; return(false); } string[] strArray = payload.Split(OrderBookEventHandler.SemicolonDelimiter); if (strArray[0].Length == 0) { marketClosePrice = new Decimal(0); marketClosePriceTimestamp = 0L; return(false); } marketClosePrice = Decimal.Parse(strArray[0], (IFormatProvider)DefaultHandler.NumberFormat); marketClosePriceTimestamp = OrderBookEventHandler.ParseTimestap(strArray[1]); return(true); }