Exemplo n.º 1
0
        public async Task <ActionResult <IEnumerable <ItemStats> > > GetMarketPricesAndStats()
        {
            IEnumerable <ItemFromDb> itemsFromDatabase = JsonSerializer.Deserialize <IEnumerable <ItemFromDb> >(
                TempData["itemsFromDatabase"].ToString()
                );

            IEnumerable <MarketPrices> marketPrices = await _ebayAPIProvider.RetrieveMarketPrices(
                itemsFromDatabase.Select(item => item.Name)
                );

            IEnumerable <StatsInput> statsInputs = itemsFromDatabase.Select(itemFromDb => new StatsInput()
            {
                ItemName      = itemFromDb.Name,
                PurchasePrice = itemFromDb.Price,
                MarketPrices  = marketPrices.FirstOrDefault(itemFromAPI => itemFromAPI.Name == itemFromDb.Name).Prices
            });

            IEnumerable <ItemStats> itemStats = _statsService.CalculateMarketPriceAndGainLoss(statsInputs);

            return(Ok(itemStats));
        }