private void SyncViewWithModel() { AddDisposable(_router.GetModelObservable().Observe(model => { using (_entryMonitor.Enter()) { Log.DebugFormat("Model update received. Version: {0}", model.Version); QuoteId = model.Rfq.QuoteId; OrderSummary = model.Inputs.OrderSummary; RfqSummary = model.Rfq.RfqSummary; Notional.Sync(model.Inputs.Notional); CurrencyPair.Sync(model.Inputs.CurrencyPair); Status = model.Rfq.Status; Rate = model.Rfq.Rate; RequestQuote.RaiseCanExecuteChanged(); AcceptQuoteCommand.RaiseCanExecuteChanged(); RejectQuoteCommand.RaiseCanExecuteChanged(); IsRequestQuoteButtonVisible = !model.Rfq.Status.RfqInFlight(); QuotingButtonsVisible = model.Rfq.Status == QuoteStatus.Quoting; } })); }