Exemplo n.º 1
0
        public SpotTilePricingViewModel(ICurrencyPair currencyPair, SpotTileSubscriptionMode spotTileSubscriptionMode, ISpotTileViewModel parent,
                                        Func <Direction, ISpotTilePricingViewModel, IOneWayPriceViewModel> oneWayPriceFactory,
                                        IReactiveTrader reactiveTrader,
                                        IConcurrencyService concurrencyService,
                                        IConstantRatePump constantRatePump,
                                        ILoggerFactory loggerFactory)
        {
            _currencyPair         = currencyPair;
            _subscriptionMode     = spotTileSubscriptionMode;
            _parent               = parent;
            _priceLatencyRecorder = reactiveTrader.PriceLatencyRecorder;
            _concurrencyService   = concurrencyService;
            _constantRatePump     = constantRatePump;
            _log = loggerFactory.Create(typeof(SpotTilePricingViewModel));

            _priceSubscription = new SerialDisposable();
            Bid           = oneWayPriceFactory(Direction.SELL, this);
            Ask           = oneWayPriceFactory(Direction.BUY, this);
            Notional      = "1000000";
            DealtCurrency = currencyPair.BaseCurrency;
            SpotDate      = "SP";
            IsSubscribing = true;

            SubscribeForPrices();
        }
        public SpotTilePricingViewModel(ICurrencyPair currencyPair, SpotTileSubscriptionMode spotTileSubscriptionMode, ISpotTileViewModel parent,
            Func<Direction, ISpotTilePricingViewModel, IOneWayPriceViewModel> oneWayPriceFactory,
            IReactiveTrader reactiveTrader,
            IConcurrencyService concurrencyService,
            IConstantRatePump constantRatePump,
            ILoggerFactory loggerFactory)
        {
            _currencyPair = currencyPair;
            _subscriptionMode = spotTileSubscriptionMode;
            _parent = parent;
            _priceLatencyRecorder = reactiveTrader.PriceLatencyRecorder;
            _concurrencyService = concurrencyService;
            _constantRatePump = constantRatePump;
            _log = loggerFactory.Create(typeof(SpotTilePricingViewModel));

            _priceSubscription = new SerialDisposable();
            Bid = oneWayPriceFactory(Direction.SELL, this);
            Ask = oneWayPriceFactory(Direction.BUY, this);
            Notional = "1000000";
            DealtCurrency = currencyPair.BaseCurrency;
            SpotDate = "SP";
            IsSubscribing = true;

            SubscribeForPrices();
        }
Exemplo n.º 3
0
        public SpotTileViewModel(ICurrencyPair currencyPair,
            SpotTileSubscriptionMode spotTileSubscriptionMode,
            Func<ICurrencyPair, SpotTileSubscriptionMode, ISpotTileViewModel, ISpotTilePricingViewModel> pricingFactory,
            Func<ITrade, ISpotTileViewModel, ISpotTileAffirmationViewModel> affirmationFactory,
            Func<string, ISpotTileViewModel, ISpotTileErrorViewModel> errorFactory,
            Func<ISpotTileConfigViewModel> configFactory)
        {
            _affirmationFactory = affirmationFactory;
            _errorFactory = errorFactory;
            _configFactory = configFactory;

            if (currencyPair != null)
            {
                Pricing = pricingFactory(currencyPair, spotTileSubscriptionMode, this);
                CurrencyPair = currencyPair.Symbol;
            }
        }
        public SpotTileViewModel(ICurrencyPair currencyPair,
                                 SpotTileSubscriptionMode spotTileSubscriptionMode,
                                 Func <ICurrencyPair, SpotTileSubscriptionMode, ISpotTileViewModel, ISpotTilePricingViewModel> pricingFactory,
                                 Func <ITrade, ISpotTileViewModel, ISpotTileAffirmationViewModel> affirmationFactory,
                                 Func <string, ISpotTileViewModel, ISpotTileErrorViewModel> errorFactory,
                                 Func <ISpotTileConfigViewModel> configFactory)
        {
            _affirmationFactory = affirmationFactory;
            _errorFactory       = errorFactory;
            _configFactory      = configFactory;

            if (currencyPair != null)
            {
                Pricing      = pricingFactory(currencyPair, spotTileSubscriptionMode, this);
                CurrencyPair = currencyPair.Symbol;
            }
        }
Exemplo n.º 5
0
 private bool CanExecute(SpotTileSubscriptionMode spotTileSubscriptionMode)
 {
     return(SubscriptionMode != spotTileSubscriptionMode);
 }
Exemplo n.º 6
0
 private void Execute(SpotTileSubscriptionMode spotTileSubscriptionMode)
 {
     SubscriptionMode = spotTileSubscriptionMode;
     RaiseCanExecuteChanged();
 }
Exemplo n.º 7
0
 private DelegateCommand CreateSubscriptionModeCommand(SpotTileSubscriptionMode spotTileSubscriptionMode)
 {
     return(new DelegateCommand(() => Execute(spotTileSubscriptionMode), () => CanExecute(spotTileSubscriptionMode)));
 }
 private bool CanExecute(SpotTileSubscriptionMode spotTileSubscriptionMode)
 {
     return SubscriptionMode != spotTileSubscriptionMode;
 }
 private void Execute(SpotTileSubscriptionMode spotTileSubscriptionMode)
 {
     SubscriptionMode = spotTileSubscriptionMode;
     RaiseCanExecuteChanged();
 }
 private DelegateCommand CreateSubscriptionModeCommand(SpotTileSubscriptionMode spotTileSubscriptionMode)
 {
     return new DelegateCommand(() => Execute(spotTileSubscriptionMode), () => CanExecute(spotTileSubscriptionMode));
 }