Exemple #1
0
        public ActionResult GetSalesSecion(FiltersToken token)
        {
            var tokenList = _dashboardServices.GetSales(token, token.UserId);

            tokenList.Filters = token;
            return(PartialView("~/Areas/AuthorAdmin/Views/Shared/Dashboard/_dbYourSales.cshtml", tokenList));
        }
Exemple #2
0
        public ActionResult GetPeriods(FiltersToken token)
        {
            var periodKind = token.PeriodTypeId.ToPeriodSelectionKind();
            var result     = new PeriodsToken
            {
                Period        = _dashboardServices.PeriodKindToDateRange(periodKind, false),
                ComparePeriod = token.IsCompareMode ? _dashboardServices.PeriodKindToDateRange(periodKind, true) : null
            };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Exemple #3
0
        public ActionResult GetSubscriptionCancellation([DataSourceRequest] DataSourceRequest request, DashboardEnums.eSaleBoxType saleBoxType, short CurrencyId, int?StoreId, DateTime from, DateTime to, int userId)
        {
            var filter = new FiltersToken
            {
                CurrencyId = CurrencyId,
                DateRange  = new DateRangeToken {
                    from = from, to = to
                },
                StoreId = StoreId
            };
            var list = _dashboardServices.GetSubscriptionCancelRows(userId, filter);

            return(Json(list.ToDataSourceResult(request), JsonRequestBehavior.AllowGet));
        }
Exemple #4
0
        public ActionResult GetSalesDetailsWindow(FiltersToken filter, DashboardEnums.eSaleBoxType type, bool compareBox)
        {
            var periodKind = filter.PeriodTypeId.ToPeriodSelectionKind();

            filter.DateRange = _dashboardServices.PeriodKindToDateRange(periodKind, compareBox);

            var token = new SalesDetailsWindowToken
            {
                Title          = String.Format("{0} for {1}-{2}", Utils.GetEnumDescription(type), filter.DateRange.from.ToString("MMMM dd, yyyy"), filter.DateRange.to.ToString("MMMM dd, yyyy"))
                , Filter       = filter
                , Type         = type
                , IsCompareBox = compareBox
            };

            return(PartialView("Dashboard/_SalesDetailWindow", token));
        }
Exemple #5
0
        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);
            }
        }
Exemple #6
0
        public List <DbRefundDetailToken> GetRefundRows(int userId, FiltersToken filter)
        {
            try
            {
                using (var context = new lfeAuthorEntities())
                {
                    var result = context.tvf_DB_GetUserRefundDetails(filter.DateRange.from, filter.DateRange.to, userId, filter.CurrencyId, filter.StoreId, null, null).ToList();
                    var lines  = result.Select(x => x.DbRefundEntity2BaseOrderLineDto()).OrderByDescending(x => x.OrderNumber).ToList();

                    return(lines);
                }
            }
            catch (Exception ex)
            {
                Logger.Error("GetRefundRows", ex, CommonEnums.LoggerObjectTypes.Dashboard);

                return(new List <DbRefundDetailToken>());
            }
        }
Exemple #7
0
        public List <DashboardKpiChartDTO> GetChartData(FiltersToken filter, int userId, bool isCompareChart)
        {
            try
            {
                var period  = Utils.ParseEnum <ReportEnums.ePeriodSelectionKinds>(filter.PeriodTypeId.ToString());
                var results = new List <DashboardKpiChartDTO>();

                var dates = PeriodKindToDateRange(period, isCompareChart);

                using (var context = new lfeAuthorEntities())
                {
                    var rows = context.tvf_FACT_GetEventsDailyLiveAggregates(dates.from, dates.to, userId, filter.StoreId).ToList();

                    var points = rows.Where(x => x.EventDate != null).GroupBy(x => new { FactDate = DateTime.Parse(x.EventDate.ToString()) }).ToArray();

                    results.AddRange(from point in points
                                     let current = point
                                                   let videoWatch = rows.FirstOrDefault(x => x.EventDate == current.Key.FactDate && x.TypeId == (int)CommonEnums.eUserEvents.VIDEO_PREVIEW_WATCH)
                                                                    let buyEntered = rows.FirstOrDefault(x => x.EventDate == current.Key.FactDate && x.TypeId == (int)CommonEnums.eUserEvents.BUY_PAGE_ENTERED)
                                                                                     let purchaseComplete = rows.FirstOrDefault(x => x.EventDate == current.Key.FactDate && x.TypeId == (int)CommonEnums.eUserEvents.PURCHASE_COMPLETE)
                                                                                                            let itemPreview = rows.FirstOrDefault(x => x.EventDate == current.Key.FactDate && x.TypeId == (int)CommonEnums.eUserEvents.COURSE_PREVIEW_ENTER)
                                                                                                                              let storeViews = rows.FirstOrDefault(x => x.EventDate == current.Key.FactDate && x.TypeId == (int)CommonEnums.eUserEvents.STORE_VIEW)
                                                                                                                                               select new DashboardKpiChartDTO
                    {
                        date = point.Key.FactDate,
                        video_preview_watch = videoWatch != null ? videoWatch.cnt : 0,
                        buy_entered         = buyEntered != null ? buyEntered.cnt : 0,
                        purchase_complete   = purchaseComplete != null ? purchaseComplete.cnt : 0,
                        items  = itemPreview != null ? itemPreview.cnt : 0,
                        stores = storeViews != null ? storeViews.cnt : 0
                    });
                }

                return(results);
            }
            catch (Exception ex)
            {
                Logger.Error("Get Dashboard Chart data", ex, CommonEnums.LoggerObjectTypes.Dashboard);
                return(new List <DashboardKpiChartDTO>());
            }
        }
Exemple #8
0
        public List <BaseOrderLineDTO> GetSalesRows(int userId, DashboardEnums.eSaleBoxType type, FiltersToken filter)
        {
            try
            {
                using (var context = new lfeAuthorEntities())
                {
                    string paymentSource = null;
                    byte?  lineTypeId    = null;


                    switch (type)
                    {
                    case DashboardEnums.eSaleBoxType.ONE_TIME:
                        paymentSource = DashboardEnums.eSaleSources.AS.ToString();
                        lineTypeId    = (byte)BillingEnums.eOrderLineTypes.SALE;
                        break;

                    case DashboardEnums.eSaleBoxType.SUBSCRIPTION:
                        paymentSource = DashboardEnums.eSaleSources.AS.ToString();
                        lineTypeId    = (byte)BillingEnums.eOrderLineTypes.SUBSCRIPTION;
                        break;

                    case DashboardEnums.eSaleBoxType.RENTAL:
                        paymentSource = DashboardEnums.eSaleSources.AS.ToString();
                        lineTypeId    = (byte)BillingEnums.eOrderLineTypes.RENTAL;
                        break;

                    case DashboardEnums.eSaleBoxType.SALES_BY_AFFILIATES:
                        paymentSource = DashboardEnums.eSaleSources.BAFS.ToString();
                        break;

                    case DashboardEnums.eSaleBoxType.AFFILIATE_SALES:
                        paymentSource = DashboardEnums.eSaleSources.AFS.ToString();
                        break;
                    }

                    var result = context.tvf_DB_GetUserSalesDetails(filter.DateRange.from, filter.DateRange.to, userId, filter.CurrencyId, filter.StoreId, paymentSource, lineTypeId).ToList();
                    var lines  = result.Select(x => x.DbSaleEntity2BaseOrderLineDto()).OrderByDescending(x => x.OrderNumber).ToList();

                    return(lines);
                }
            }
            catch (Exception ex)
            {
                Logger.Error("GetSalesRows", ex, CommonEnums.LoggerObjectTypes.Dashboard);

                return(new List <BaseOrderLineDTO>());
            }
        }
Exemple #9
0
 public ActionResult GetCompChartData(FiltersToken token)
 {
     return(GetChartData(true, token));
 }
Exemple #10
0
 public ActionResult GetMainChartData(FiltersToken token)
 {
     return(GetChartData(false, token));
 }
Exemple #11
0
        private ActionResult GetChartData(bool isCompareChart, FiltersToken filter)
        {
            var facts = _dashboardServices.GetChartData(filter, filter.UserId, isCompareChart);

            return(Json(facts, JsonRequestBehavior.AllowGet));
        }