Beispiel #1
0
        public async Task GetDividendCalendarWithPrices2(DividendCalendarRequest request)
        {
            await _stocksRepository.DeleteAllDividendCalendarEntities2();

            await _stocksRepository.DeleteStockPriceEntities();

            var result = await _dividendCalendarService.GetDividendCalendar2(request);

            var stocksToInsert = _mapper.Map <List <DividendCalendarEntity2> >(result);
            await _stocksRepository.SaveDividendCalendarEntities2(stocksToInsert);

            var stockSplits = ListExtensions.Split(result, 10);

            foreach (var stockSplit in stockSplits)
            {
                var stockSymbols = StringExtensions.GetSymbolsString(stockSplit.Select(x => x.Symbol).ToArray());
                var prices       = await _stockPriceService.GetStockPrices(stockSymbols);

                var dbPriceEntities = _mapper.Map <List <StockPriceEntity> >(prices);
                await _stocksRepository.SaveStockPriceEntities(dbPriceEntities);
            }
        }