public async Task <IEnumerable <IPrice> > GetPrices(bool cache = true)
        {
            if (cache)
            {
                return(await _priceService.GetAllPrices());
            }

            return(await _priceService.GetPricesNoCache());
        }
        public async Task Start()
        {
            _priceHistory = new List <IPrice>(await _priceService.GetAllPrices());

            _priceGenerator = Observable
                              .Interval(TimeSpan.FromMilliseconds(250))
                              .Delay(TimeSpan.FromMilliseconds(50))
                              .Subscribe(async _ =>
            {
                var asset = TradeServiceReferential.Assets.Random();
                var price = CreatePrice(asset);
                await _priceService.CreatePrice(price);

                _priceHistory.Add(price);
                await _priceHub.RaiseChange(price);
            });

            _dispose.Add(_priceGenerator);
        }
Exemple #3
0
        public Task StartAsync(CancellationToken token)
        {
            var priceGenerator = Observable
                                 .Interval(TimeSpan.FromMilliseconds(250))
                                 .Delay(TimeSpan.FromMilliseconds(50))
                                 .Subscribe(async _ =>
            {
                _priceHistory = await _priceService.GetAllPrices();

                var asset   = TradeServiceReferential.Assets.Random();
                var request = CreatePriceRequest(asset);
                var price   = await _priceService.CreatePrice(request);

                await _priceHubService.Current.Proxy.RaiseChange(price);
            });

            _cleanUp.Add(priceGenerator);

            return(Task.CompletedTask);
        }