public async Task <Tuple <int, int, int> > QueryTotalItemsThisMonth() { var lastMonthDate = DateTime.Today.Day < 26 ? DateTime.Today.AddMonths(-1) : DateTime.Today; var begin = new DateTime(lastMonthDate.Year, lastMonthDate.Month, 26); var end = begin.AddMonths(1); var items = await _repository.GetAllKpiListAsync(begin, end); return(new Tuple <int, int, int>(items.Count, items.Count(x => x.FinishTime != null), items.Count(x => (x.Deadline < DateTime.Today && x.FinishTime == null) || (x.FinishTime != null && x.FinishTime > x.Deadline)))); }