private void OnRequestQuoteEvent(OrderScreen model) { Log.DebugFormat("Beginning RFQ"); _quoteId = Guid.NewGuid(); _status = QuoteStatus.Requesting; _inFlightRfqQuoteDetails = new InFlightRfqQuoteDetails { QuoteId = _quoteId, CurrencyPair = model.Inputs.CurrencyPair.Value, Notional = model.Inputs.Notional.Value.Value }; _orderDisposable.Disposable = _rfqGateway.BegingGetQuote( _inFlightRfqQuoteDetails.QuoteId, _inFlightRfqQuoteDetails.CurrencyPair, _inFlightRfqQuoteDetails.Notional ); }
private void OnOrderResponseReceivedEvent(OrderResponseReceivedEvent e) { if (e.QuoteId != _quoteId) { return; } Log.DebugFormat("RFQ response received"); if (e.HasException) { // todo } else { _rate = e.Rate; _status = e.Status; } if (_status.IsEndState()) { _inFlightRfqQuoteDetails = null; _quoteId = Guid.Empty; } }