public async Task <IEnumerable <NotificationStatistics> > Handle(GetNotificationStatistics request,
                                                                         CancellationToken cancellationToken)
        {
            var notifications = GetQuery();

            var groupedStatistics = notifications
                                    .Where(x => x.CreationDate.Date.AddDays(Days) >= DateTime.UtcNow.Date)
                                    .GroupBy(g =>
                                             new
            {
                g.CreationDate.Year,
                g.CreationDate.Month,
                g.CreationDate.Day
            })
                                    .Select(i => new
            {
                i.Key.Year,
                i.Key.Month,
                i.Key.Day,
                Count = i.Sum(x => x.TimesSent)
            }).ToList();

            var statisticsWithGaps = groupedStatistics
                                     .Select(x => new NotificationStatistics
            {
                DateTime = new DateTime(x.Year, x.Month, x.Day),
                Count    = x.Count
            }).ToList();

            var missingDateTimes = GetMissingDateTimes();

            return(FulfillGaps(statisticsWithGaps, missingDateTimes));
        }
        public async Task <IActionResult> GetStatistics([FromQuery] GetNotificationStatistics query)
        {
            var statistics = await _mediator.Send(query);

            return(Ok(statistics));
        }