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()); } }
private void AdjustTopSellers(TopSellersToken token) { if (token.Top_EUR.Count < 5) { var currency = ActiveCurrencies.FirstOrDefault(x => x.CurrencyId == EUR_CURRENCY_ID); var toAdd = 5 - token.Top_EUR.Count; for (var i = 0; i < toAdd; i++) { token.Top_EUR.Add(new AuthorPayoutToken { Currency = currency }); } } if (token.Top_USD.Count < 5) { var currency = ActiveCurrencies.FirstOrDefault(x => x.CurrencyId == USD_CURRENCY_ID); var toAdd = 5 - token.Top_USD.Count; for (var i = 0; i < toAdd; i++) { token.Top_USD.Add(new AuthorPayoutToken { Currency = currency }); } } }
public List <DashboardPayoutToken> GetNextPayout(int userId) { try { var now = DateTime.Now; var previous = now.AddMonths(-1); using (var context = new lfeAuthorEntities()) { var currentPayout = context.sp_PO_GetMonthlyPayoutReport(now.Year, now.Month, LFE_COMMISSION_PERCENT, userId, null).Select(x => x.Entity2DashboardPayoutToken()).ToList(); if (currentPayout.Count.Equals(0)) { return new List <DashboardPayoutToken> { new DashboardPayoutToken { Sales = 0 , Fees = 0 , Mbg = 0 // ,TotalPayout = 0 , Currency = ActiveCurrencies.FirstOrDefault(x => x.CurrencyId == DEFAULT_CURRENCY_ID) } } } ; var previousPayout = context.sp_PO_GetMonthlyPayoutReport(previous.Year, previous.Month, LFE_COMMISSION_PERCENT, userId, null).Select(x => x.Entity2DashboardPayoutToken()).ToList(); foreach (var token in currentPayout) { var t = token; var previousToken = previousPayout.FirstOrDefault(x => x.Currency.CurrencyId == t.Currency.CurrencyId); token.IsUp = previousToken == null || previousToken.TotalPayout <= t.TotalPayout; } return(currentPayout); } } catch (Exception ex) { Logger.Error("GetNextPayout", ex, CommonEnums.LoggerObjectTypes.Dashboard); return(new List <DashboardPayoutToken>()); } }
public DashboardSaleBoxTokenLists GetSales(FiltersToken filter, int userId) { var token = new DashboardSaleBoxTokenLists { Currency = ActiveCurrencies.FirstOrDefault(x => x.CurrencyId == filter.CurrencyId), CompareToList = new List <DashboardSaleBoxToken>(), Filters = filter }; try { var period = Utils.ParseEnum <ReportEnums.ePeriodSelectionKinds>(filter.PeriodTypeId.ToString()); var dates = PeriodKindToDateRange(period, false); var mainList = getDashboardSaleStats(dates, userId, filter.CurrencyId, filter.StoreId); var secondDates = PeriodKindToDateRange(period, true); var secondList = getDashboardSaleStats(secondDates, userId, filter.CurrencyId, filter.StoreId); setSalesBoxesComparsion(mainList, secondList); token.List = mainList; if (!filter.IsCompareMode) { return(token); } var thirdDates = PreviousRangeFromRange(secondDates); var thirdList = getDashboardSaleStats(thirdDates, userId, filter.CurrencyId, filter.StoreId); setSalesBoxesComparsion(secondList, thirdList); token.CompareToList = secondList; return(token); } catch (Exception ex) { Logger.Error("get sales statistic for dashboard", CurrentUserId, ex, CommonEnums.LoggerObjectTypes.Dashboard); return(token); } }
public List <SalesTotalsBoxToken> GetSalesTotals(AdminDashboardFiltersToken filter) { try { var reportPeriod = PeriodSelection2DateRange(filter.period); var previousPeriod = Period2Previous(filter.period); using (var context = new lfeAuthorEntities()) { var totals = context.tvf_FACT_DASH_GetPeriodSalesTotals(filter.currencyId, reportPeriod.from, reportPeriod.to).FirstOrDefault(); if (totals == null) { return(new List <SalesTotalsBoxToken>()); } var rows = context.tvf_FACT_DASH_GetPeriodSalesStats(filter.currencyId, reportPeriod.from, reportPeriod.to).FirstOrDefault(); var previousRows = context.tvf_FACT_DASH_GetPeriodSalesStats(filter.currencyId, previousPeriod.from, previousPeriod.to).FirstOrDefault(); var currency = ActiveCurrencies.FirstOrDefault(x => x.CurrencyId == filter.currencyId); var list = new List <SalesTotalsBoxToken> { ReportEnums.eStatsTypes.OneTimeSales.Type2SalesTotalsBoxToken(currency, 1, totals.total_onetime_sales, rows != null ? rows.total_onetime_qty : 0, previousRows != null ? previousRows.total_onetime_qty : 0), ReportEnums.eStatsTypes.Subscription.Type2SalesTotalsBoxToken(currency, 2, totals.total_subscription_sales, rows != null ? rows.total_subscription_qty : 0, previousRows != null ? previousRows.total_subscription_qty : 0), ReportEnums.eStatsTypes.Rental.Type2SalesTotalsBoxToken(currency, 3, totals.total_rental_sales, rows != null ? rows.total_rental_qty : 0, previousRows != null ? previousRows.total_rental_qty : 0), ReportEnums.eStatsTypes.Free.Type2SalesTotalsBoxToken(currency, 4, 0, rows != null ? rows.total_free_qty : 0, previousRows != null ? previousRows.total_free_qty : 0), ReportEnums.eStatsTypes.MBG.Type2SalesTotalsBoxToken(currency, 5, 0, rows != null ? rows.total_mbg_qty : 0, previousRows != null ? previousRows.total_mbg_qty : 0) }; return(list); } } catch (Exception ex) { Logger.Error("Get sales totals stats for admin dashboard", ex, CommonEnums.LoggerObjectTypes.Reports); return(new List <SalesTotalsBoxToken>()); } }