public List <AuthorPeriodStatsBoxToken> GetAuthorPeriodStats(ReportEnums.ePeriodSelectionKinds period)
        {
            try
            {
                var reportPeriod   = PeriodSelection2DateRange(period);
                var previousPeriod = Period2Previous(period);

                using (var context = new lfeAuthorEntities())
                {
                    var totals         = context.tvf_FACT_DASH_GetAuthorPeriodStats(reportPeriod.from, reportPeriod.to).FirstOrDefault();
                    var previousTotals = context.tvf_FACT_DASH_GetAuthorPeriodStats(previousPeriod.from, previousPeriod.to).FirstOrDefault();

                    if (totals == null)
                    {
                        return(new List <AuthorPeriodStatsBoxToken>());
                    }

                    var list = new List <AuthorPeriodStatsBoxToken>
                    {
                        ReportEnums.eStatsTypes.ActiveAuthors.Type2AuthorPeriodStatsBoxToken(1, totals.ActiveAuthors, previousTotals != null ? previousTotals.ActiveAuthors : 0),
                        ReportEnums.eStatsTypes.AvgAuthorLogins.Type2AuthorPeriodStatsBoxToken(2, totals.AvgAuthorLogins.FormatDecimal(2), previousTotals != null ? previousTotals.AvgAuthorLogins.FormatDecimal(2) : 0),
                        ReportEnums.eStatsTypes.DashboardViews.Type2AuthorPeriodStatsBoxToken(3, totals.DashboardViews, previousTotals != null ? previousTotals.DashboardViews : 0),
                        ReportEnums.eStatsTypes.CouponsCreated.Type2AuthorPeriodStatsBoxToken(4, totals.TotalCouponsCreated, previousTotals != null ? previousTotals.TotalCouponsCreated : 0)
                    };

                    return(list);
                }
            }
            catch (Exception ex)
            {
                Logger.Error("Get Admin Dashboard author period stats", ex, CommonEnums.LoggerObjectTypes.Reports);
                return(new List <AuthorPeriodStatsBoxToken>());
            }
        }