private async Task <IEnumerable <StockExchangeData> > GetStockTranListAsync(GetStockReq req, string date) { var url = $"{_baseUrl}/exchangeReport/STOCK_DAY?response=json&date={date}&stockNo={req.StockId}"; var jsonData = await _webApi.GetAsync( url, new Dictionary <string, string>()); var options = new JsonSerializerOptions { ReadCommentHandling = JsonCommentHandling.Skip, AllowTrailingCommas = true, PropertyNamingPolicy = JsonNamingPolicy.CamelCase, }; try { var rawData = JsonSerializer.Deserialize <StockExchangeRawData>(jsonData, options); if (rawData == null) { return(Enumerable.Empty <StockExchangeData>()); } return(rawData.GetStockList(req.StockId)); } catch { //Console.WriteLine($"{jsonData}"); return(Enumerable.Empty <StockExchangeData>()); } }
public async IAsyncEnumerable <StockExchangeData> GetStockHistoryListAsync(GetStockReq req) { foreach (var month in req.DateRange.GetRangeByMonth()) { var monthStr = month.ToString("yyyyMMdd"); var result = await GetStockTranListAsync(req, monthStr); foreach (var data in result) { yield return(data); } } }