public List <TransEntity> GetStockTranHistory(ShowStockHistoryReq req) { var startTime = req.DateRange.StartDate; var endTime = req.DateRange.EndDate; var data = _db.Trans.Where(x => x.TranTime >= startTime && x.TranTime <= endTime && x.StockId == req.StockId); return(data.ToList()); }
public async Task ShowStockHistoryAsync(ShowStockHistoryReq req) { var tranHistory = _stockRepo.GetStockTranHistory(req); await EnsuredStockHistory(req.DateRange, req.StockId); var stockHistoryReq = new GetStockHistoryReq() { StartTime = req.DateRange.StartDate.StartOfMonth(), EndTime = req.DateRange.EndDate, StockId = req.StockId }; var stockHistory = _stockRepo.GetStockHistory(stockHistoryReq); foreach (var month in req.DateRange.GetRangeByMonth()) { var closingDays = stockHistory .Count(x => x.TranDate.EqualYearMonth(month)); var closingSumPrice = stockHistory .Where(x => x.TranDate.EqualYearMonth(month)) .Sum(x => x.ClosingPrice); var closingPrice = 0m; if (closingDays != 0) { closingPrice = closingSumPrice / closingDays; } var valueStr = GetValueStr(closingPrice); Console.Write($"{month.ToString("yy-MM")}-"); Console.BackgroundColor = ConsoleColor.Gray; Console.Write($"{valueStr}"); Console.BackgroundColor = ConsoleColor.Black; Console.WriteLine($" {closingPrice.ToNumberString(6)}"); } }