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); } }
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)); }
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 }); }
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)); }