private IEnumerable<SalesSummary> GetSalesSummary(SummaryRangeOption option)
        {
            var summaryRanges = GetSummaryRanges(option);

            var result = new List<SalesSummary>();

            var merchantServicesData = GetMerchantServicesSalesSummaryTotalByMonth(summaryRanges.Last(), summaryRanges.First());

            var prepaidData = GetPrepaidSalesSummaryTotalByMonth(summaryRanges.Last(), summaryRanges.First());

            foreach (var summaryRange in summaryRanges)
            {
                var dateRange = Utils.GetFirst_LastDayRange(summaryRange);
                var prepaidTotal = prepaidData.ContainsKey(dateRange.StartDate.Month)? prepaidData[dateRange.StartDate.Month]: 0;
                var merchantServices = merchantServicesData.ContainsKey(dateRange.StartDate.Month)? merchantServicesData[dateRange.StartDate.Month]: 0;
                var range = GetRangeForSummary(summaryRange);

                var salesSummary = new SalesSummary
                {
                    Month = range,
                    MerchantServicesSalesSummary = merchantServices,
                    PrepaidSalesSummary = prepaidTotal,
                };

               result.Add(salesSummary);
            }

            return result;
        }
        private IEnumerable<SummaryRange> GetSummaryRanges(SummaryRangeOption option)
        {
            var months = (int) option;

            for (var i = 0; i <= months; i++)
            {
                var newDate = DateTime.Now.AddMonths(i*(-1));

               yield return new SummaryRange
               {
                   Month = newDate.Month,
                   Year = newDate.Year
               };
            }
        }