public LearnerPeriodStatsBoxToken GetLearnerPeriodCouponStats(AdminDashboardFiltersToken filter)
        {
            try
            {
                var reportPeriod   = PeriodSelection2DateRange(filter.period);
                var previousPeriod = Period2Previous(filter.period);

                using (var context = new lfeAuthorEntities())
                {
                    var totals   = context.tvf_FACT_DASH_GetLearnerPeriodCouponStats(filter.currencyId, reportPeriod.from, reportPeriod.to).FirstOrDefault();
                    var currency = ActiveCurrencies.FirstOrDefault(x => x.CurrencyId == filter.currencyId);

                    if (totals == null || currency == null)
                    {
                        return(new LearnerPeriodStatsBoxToken());
                    }

                    var previousTotals = context.tvf_FACT_DASH_GetLearnerPeriodCouponStats(filter.currencyId, previousPeriod.from, previousPeriod.to).FirstOrDefault();

                    var couponValue = ReportEnums.eStatsTypes.LearnerCouponsClaimedValue.Type2LearnerPeriodStatsBoxToken(1, totals.TotalDiscount.FormatDecimal(2), previousTotals != null ? previousTotals.TotalDiscount.FormatDecimal(2) : 0);

                    couponValue.DisplayedValue = String.Format("{0}{1}", currency.Symbol, totals.TotalDiscount.FormatDecimal(2));

                    var box = ReportEnums.eStatsTypes.LearnerCouponsClaimed.Type2LearnerPeriodStatsBoxToken(1, totals.TotalCouponsClaimed, previousTotals != null ? previousTotals.TotalCouponsClaimed : 0, couponValue);

                    return(box);
                }
            }
            catch (Exception ex)
            {
                Logger.Error("Get Admin Dashboard learner period coupon stats", ex, CommonEnums.LoggerObjectTypes.Reports);
                return(new LearnerPeriodStatsBoxToken());
            }
        }