Example #1
0
 StockAnalysisCollection AnalyzeData(StockDataCollection data)
 {
     if (cts.Token.IsCancellationRequested)
     {
         return(null);
     }
     return(MarketAnalyzer.Run(data));
 }
        public async Task <IList <MarketAnalyzerEntry> > AnalyzeAsync(MapRegion region, StaStation station, IEnumerable <InvType> invTypes, int days)
        {
            var items       = invTypes.Select(type => type.TypeId).ToList();
            var priceResult = await _eveMarketService.GetItemPricesAsync(region.RegionId, station.StationId, items).ConfigureAwait(false);

            var historyResult = await _eveMarketService.GetItemHistoryAsync(region.RegionId, items, days).ConfigureAwait(false);

            var analyzer = new MarketAnalyzer(invTypes, priceResult.Prices.Where(o => o.OrderType == OrderType.Sell),
                                              priceResult.Prices.Where(o => o.OrderType == OrderType.Buy), historyResult);

            analyzer.Analyze();
            foreach (var entry in analyzer.Result)
            {
                entry.Order = entry.InvType.Orders.SingleOrDefault(order => order.ApiKeyEntity_Id == ApplicationHelper.ActiveEntity.Id && order.StationId == station.StationId);
            }
            return(analyzer.Result);
        }