public static void Main() { IDisplayMessage console = new Console(); console.Display(ProductNotFoundMessage.For(SomeUnknownBarcode)); console.Display(new EmptyBarCodeMessage()); console.Display(PriceMessage.For(Price.InCents(255))); System.Console.ReadKey(); }
public void SendToQueue(MarketDto market) { var request = new PriceMessage() { Market = market.Name }; _producer.PublishMessage(request, "PriceRequestQueue"); _logger.LogInformation($"Published to PriceRequestQueue: {request}"); }
private void SendToQueue(MarketDto market) { var request = new PriceMessage() { Id = Guid.NewGuid().ToString(), Market = market.Name }; _producer.PublishMessage(request, "PriceRequestQueue", "5000"); _batchLog.Update(_logId, $"Published to PriceRequestQueue"); }
private OrderBook Convert(PriceMessage priceMessage) { var assetPair = _withWithoutSuffixMapping[priceMessage.Instrument]; var bids = GetOrderBookItems(priceMessage.Levels.Sell); var asks = GetOrderBookItems(priceMessage.Levels.Buy); var result = new OrderBook(Source, assetPair, priceMessage.Timestamp, asks, bids); return(result); }
private static PriceMessage MockPriceResponse() { var priceResponse = new PriceMessage() { Prices = new List <PriceDto>() { new PriceDto() { Market = "TestGBPUSD" } } }; return(priceResponse); }
private async Task HandleAsync(PriceMessage message) { var orderBook = Convert(message); var instrument = _withWithoutSuffixMapping[message.Instrument]; if (_orderBooksCache.TryGetValue(instrument, out var existedOrderBook)) { if (orderBook.Timestamp > existedOrderBook.Timestamp) { _orderBooksCache[instrument] = orderBook; await PublishOrderBookAndTickPrice(orderBook); } } else { _orderBooksCache[instrument] = orderBook; } }
private bool Process(PriceMessage priceMessage) { return true; }
private void HandlePrice(PriceMessage message) { Console.WriteLine("Total price: {0}", OrderDetails.Sum(x => x.Price)); }
private void OnPrice(PriceMessage price) { Console.WriteLine("RECEIVED: {0} = {1}", price.Ticker, price.Price); }