Example #1
0
        public ActionResult GetCourseContentsPartial(int id, string trackingId)
        {
            var infoToken = WidgetServices.GetItemInfoToken(id, BillingEnums.ePurchaseItemTypes.COURSE);

            return(PartialView("Item/Course/_CourseContent",
                               !infoToken.IsValid
                    ? new ItemProductPageToken {
                IsValid = false, Message = infoToken.Message
            }
                    : WidgetServices.ItemInfoToken2ItemProductPageToken(infoToken, new ItemAccessStateToken(),
                                                                        trackingId)));
        }
Example #2
0
        //[CacheFilter(Duration = 60)]
        public ActionResult Index(BillingEnums.ePurchaseItemTypes type, string author, string itemName, string trackingId, string mode = null, int?width = null, int?height = null)
        {
            var item = WidgetServices.FindItemByUrlName(author, itemName, type);

            if (!item.IsValid)
            {
                return(View("ItemNotFound", item));
            }

            #region ViewBag settings

            try
            {
                ViewBag.BackgroundColor = "#FFFFFF";
                if (MainLayoutViewModel != null)
                {
                    if (MainLayoutViewModel.WebStore != null && !string.IsNullOrEmpty(MainLayoutViewModel.WebStore.BackgroundColor))
                    {
                        ViewBag.BackgroundColor = MainLayoutViewModel.WebStore.BackgroundColor;
                    }

                    if (!string.IsNullOrEmpty(Request.QueryString["_escaped_fragment_"]))
                    {
                        ViewBag.TabName = Request.QueryString["_escaped_fragment_"];
                    }

                    if (width != null)
                    {
                        MainLayoutViewModel.Width = width;
                    }
                    if (height != null)
                    {
                        MainLayoutViewModel.Height = height;
                    }
                }
                else
                {
                    MainLayoutViewModel = new BaseModelViewToken
                    {
                        WebStore              = null
                        , CategoriesList      = new List <WidgetCategoryDTO>()
                        , IsValid             = true
                        , IsSingleCourseStore = true
                        , TrackingId          = trackingId
                    };

                    ViewData["MainLayoutViewModel"] = MainLayoutViewModel;
                    TempData["MainLayoutViewModel"] = MainLayoutViewModel;
                }
            }
            catch (Exception ex)
            {
                Logger.Error("Item page ViewBag::" + itemName + "::" + author + "::" + trackingId, ex, CommonEnums.LoggerObjectTypes.Widget);
            }

            #endregion


            var itemState = WidgetServices.GetItemAccessState4User(CurrentUserId, item.ItemId, item.ItemType);

            itemState.IsPreview = (!String.IsNullOrEmpty(mode) && mode == Constants.QS_COURSE_PREVIEW_PREFIX);

            var loadViewer = !itemState.IsPreview && (itemState.IsOwnedByUser || (itemState.IsAccessAllowed && itemState.IsPublished) || (mode == Constants.QS_COURSE_ADMIN_PREVIEW_PREFIX && this.IsCurrentUserAdmin()));

            var token = WidgetServices.ItemInfoToken2ItemViewerPageToken(item, itemState, trackingId);

            if (loadViewer)
            {
                return(View("ItemViewer", token));
            }

            return(itemState.IsPublished || (itemState.IsPreview && itemState.IsOwnedByUser) ? View("ProductPage", WidgetServices.ItemInfoToken2ItemProductPageToken(item, itemState, trackingId)) : View("ItemNotPublished"));

            // var url = Url.ActionString("ItemNotPublished","Item",new RouteValueDictionary{{"area","Widget"}});

            //return Redirect(url);
        }