Esempio n. 1
0
        public async Task Handle(NoteCreated e, CancellationToken cancellationToken)
        {
            var n = await _storage.GetNote(e.UserId, e.AggregateId);

            if (n == null)
            {
                return;
            }

            var age = System.DateTimeOffset.UtcNow.Subtract(e.When).TotalDays;

            if (age > 2)
            {
                return;
            }

            var d = await _stocks.GetAdvancedStats(n.State.RelatedToTicker);

            var p = await _stocks.GetPrice(n.State.RelatedToTicker);

            if (d.IsOk && p.IsOk)
            {
                n.Enrich(p.Success, d.Success);
                await _storage.Save(n, n.State.UserId);
            }
        }
Esempio n. 2
0
            public override async Task <object> Handle(Command cmd, CancellationToken cancellationToken)
            {
                var c = await _stocksService.GetCompanyProfile(cmd.Ticker);

                var a = await _stocksService.GetAdvancedStats(cmd.Ticker);

                var q = await _stocksService.Quote(cmd.Ticker);

                return(new RegisterPreview(c.Success, a.Success, q.Success));
            }
Esempio n. 3
0
            public async Task <object> Handle(Query request, CancellationToken cancellationToken)
            {
                var profile  = _stocksService2.GetCompanyProfile(request.Ticker);
                var advanced = _stocksService2.GetAdvancedStats(request.Ticker);
                var price    = _stocksService2.GetPrice(request.Ticker);

                await Task.WhenAll(profile, advanced, price);

                return(new StockDetailsView
                {
                    Ticker = request.Ticker,
                    Price = price.Result.Success.Amount,
                    Profile = profile.Result.Success,
                    Stats = advanced.Result.Success
                });
            }
Esempio n. 4
0
            public async Task <object> Handle(Query request, CancellationToken cancellationToken)
            {
                var profile  = _stocksService2.GetCompanyProfile(request.Ticker);
                var advanced = _stocksService2.GetAdvancedStats(request.Ticker);
                var price    = _stocksService2.GetPrice(request.Ticker);
                var data     = _stocksService.GetHistoricalDataAsync(request.Ticker);
                var metrics  = _stocksService.GetKeyMetrics(request.Ticker);

                await Task.WhenAll(profile, advanced, price, data, metrics);

                return(Mapper.MapStockDetail(
                           request.Ticker,
                           price.Result.Amount,
                           profile.Result,
                           advanced.Result,
                           data.Result,
                           metrics.Result));
            }