Ejemplo n.º 1
0
        public async Task <ReportDTO> GetSummary(int year, int month)
        {
            var result       = new ReportDTO("Sales Report Summary", "");
            var previousYear = (year - 1).ToString();
            var yearStr      = year.ToString();
            var monthStr     = month.ToString().PadLeft(2, '0');

            var target = await targetRepository
                         .GetAsync(w => (w.Year == yearStr || w.Year == previousYear) && w.Month == monthStr);

            var actual = await transactionRepository
                         .GetAsync(w => (w.yearv == yearStr || w.yearv == previousYear) && w.monthv == monthStr);

            //var products = await productRepository.GetAsync();

            var qResult = from t in target
                          join a in actual on new { t.Year, t.Month } equals new { Year = a.yearv, Month = a.monthv } into at
                select new { t.Year, t.Month, Sum = at.Sum(s => s.Amount) };

            result.Data = qResult;

            return(result);
        }