public MovingAverageFlotResultContainer GetSalesByDay()
        {
            MovingAverageFlotResultContainer salesByDay;

            object cachedObject = HttpRuntime.Cache.Get(c_getSalesByDayReportCacheKey);

            if (cachedObject != null)
            {
                salesByDay = (MovingAverageFlotResultContainer)cachedObject;
            }
            else
            {
                DateTime endDate   = DateTime.UtcNow.Date.AddDays(-1);
                DateTime beginDate = endDate.AddDays(-179);
                DateTime beginDateMovingAverage = beginDate.AddDays(-(c_daysMovingAverage - 1));

                List <DataPoint> dataPoints = m_amazonMwSdbService.GetSalesByDay(beginDateMovingAverage, endDate).FillMissingDates(beginDateMovingAverage, endDate);

                salesByDay = DateUtility.CalculateMovingAverage(dataPoints, c_daysMovingAverage, beginDate, endDate).MovingAverageDataPointContainer.ConvertSeriesData();

                HttpRuntime.Cache.Add(c_getSalesByDayReportCacheKey, salesByDay, null, Cache.NoAbsoluteExpiration, new TimeSpan(4, 0, 0), CacheItemPriority.High, null);
            }

            return(salesByDay);
        }
        public MovingAverageFlotResultContainer GetProductInventoryByDay([FromUri] string asin)
        {
            DateTime endDate   = DateTime.UtcNow.Date.AddDays(-1);
            DateTime beginDate = endDate.AddDays(-364);
            DateTime beginDateMovingAverage = beginDate.AddDays(-(c_daysMovingAverage - 1));

            List <DataPoint> dataPoints = m_amazonMwSdbService.GetInventoryHistoryByDay(asin, beginDateMovingAverage, endDate)
                                          .FillMissingDates(beginDateMovingAverage, endDate);

            MovingAverageFlotResultContainer salesByDay = DateUtility.CalculateMovingAverage(dataPoints, c_daysMovingAverage, beginDate, endDate)
                                                          .MovingAverageDataPointContainer
                                                          .ConvertSeriesData();

            return(salesByDay);
        }