Exemplo n.º 1
0
        public ActionResult BundleViewer(string authorName, string bundleName, string mode = null, string trackingID = null)
        {
            var url = this.GenerateItemPageUrl(authorName.OptimizedUrl(), bundleName.OptimizedUrl(), BillingEnums.ePurchaseItemTypes.BUNDLE, trackingID);

            return(RedirectPermanent(url));

            return(RedirectToAction("Index", "Item", new { area = "Widget", type = BillingEnums.ePurchaseItemTypes.BUNDLE, author = authorName.OptimizedUrl(), itemName = bundleName.OptimizedUrl(), trackingId = trackingID }));

            var pageToken = new BundleViewerPageToken();

            var baseDto = _widgetCourseServices.FindBundleByUrlName(authorName, bundleName);

            if (baseDto == null)
            {
                pageToken.IsValid = false;

                pageToken.Message = "Bundle not found";

                return(View(pageToken));
            }

            pageToken.IsValid = true;
            pageToken.Bundle  = baseDto;

            var itemState = _widgetCourseServices.GetBundleAccessState4User(CurrentUserId, baseDto.BundleId);

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

            pageToken.ItemState = itemState;

            var loadViewer = !itemState.IsPreview && (itemState.IsOwnedByUser || (itemState.IsAccessAllowed && itemState.IsPublished));

            pageToken.Author = _userPortalServices.GetUserProfileDto(baseDto.AuthorId);

            if (loadViewer)
            {
                pageToken.BundleCourses = _widgetCourseServices.GetBundleCoursesList(baseDto.BundleId);
            }

            pageToken.TrackingID = trackingID;

            return(View(pageToken));
        }
Exemplo n.º 2
0
        public UserProfilePageToken GetUserProfileDto(int id, int pageSize)
        {
            try
            {
                var dto = new UserProfilePageToken
                {
                    LearnerCourses = _userPortalServices.GetLearnerCourses(id, CurrentUserId).Select(x => x.SetCoursePageUrl(null)).OrderByDescending(x => x.LearnerCount).ThenBy(x => x.Name).ToList(),
                    AuthorCourses  = _userPortalServices.GetAuthorCourses(id, CurrentUserId).Select(x => x.SetCoursePageUrl(null)).OrderByDescending(x => x.LearnerCount).ThenBy(x => x.Name).ToList(),
                    PageSize       = pageSize
                };



                var token   = _userPortalServices.GetUserProfileDto(id);
                var profile = new UserProfileCartToken
                {
                    Profile      = token
                    , TotalLearn = dto.LearnerCourses.Count
                    , TotalTeach = dto.AuthorCourses.Count
                };

                dto.ProfileCart = profile;

                dto.IsValid = true;

                return(dto);
            }
            catch (Exception ex)
            {
                Logger.Error("Get User profile Dto", ex, id, CommonEnums.LoggerObjectTypes.UserAccount);

                return(new UserProfilePageToken
                {
                    IsValid = false
                    , Message = Utils.FormatError(ex)
                });
            }
        }