public async Task <IHttpActionResult> ProjectsLastSixMonths()
        {
            var totalProjectsPerMonth = 0;
            var model = new LineChartResponseModel();

            (await this.statisticsService
             .ProjectsLastSixMonths()
             .Select(CountByDateModel.FromProjectGrouping)
             .ToListAsync())
            .ForEach(r =>
            {
                totalProjectsPerMonth += r.Count;
                model.Values.Add(totalProjectsPerMonth);
                model.Labels.Add(r.Date.Month.ToMonthName());
            });

            return(this.Data(model));
        }
        public async Task <LineChartResponseModel> ProjectsLastSixMonths()
        {
            return(await this.Get <LineChartResponseModel>(
                       ProjectsLastSixMonthsCacheKey,
                       async() =>
            {
                var totalProjectsPerMonth = 0;
                var model = new LineChartResponseModel();

                (await this.statisticsService
                 .ProjectsLastSixMonths()
                 .Select(CountByDateModel.FromProjectGrouping)
                 .ToListAsync())
                .ForEach(r =>
                {
                    totalProjectsPerMonth += r.Count;
                    model.Values.Add(totalProjectsPerMonth);
                    model.Labels.Add(r.Date.Month.ToMonthName());
                });

                return model;
            },
                       this.DefaultAbsoluteExpiration));
        }