Ejemplo n.º 1
0
        public string GetAssessmentRoute(int courseId)
        {
            IPublishedContent courseContent  = _coursesContentService.GetCoursePublishedContentById(courseId);
            string            validationPath = GetRouteByName("Assessment", new { courseNiceUrl = courseContent.UrlName });
            string            absoluteUrl    = GetHttpsAbsoluteUrl(validationPath);

            return(absoluteUrl);
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            ProfileViewModel profileViewModel = new ProfileViewModel();

            List <CourseProgressViewModel> progressViewModels = new List <CourseProgressViewModel>();
            IEnumerable <CourseProgress>   courseProgresses   = _subscriptions.GetCoursesProgress(User.Identity.Name);
            var payments = _paymentService.GetByUser(User.Identity.Name);

            foreach (CourseProgress courseProgress in courseProgresses)
            {
                CourseProgressViewModel viewModel = new CourseProgressViewModel();
                IPublishedContent       course    = _coursesContentService.GetCoursePublishedContentById(courseProgress.CourseId);
                if (course == null)
                {
                    throw new ArgumentNullException(nameof(courseProgress.CourseId), $"Could not find published content with the specified course Id: {courseProgress.CourseId}");
                }

                viewModel.CourseUrl          = course.Url;
                viewModel.CourseName         = course.Name;
                viewModel.CourseProgress     = courseProgress;
                viewModel.AssessmentUrl      = Url.RouteUrl("Assessment", new { courseNiceUrl = course.UrlName });
                viewModel.AwaitingPaymentUrl = Url.RouteUrl("AwaitingPayment", new { courseNiceUrl = course.UrlName });
                progressViewModels.Add(viewModel);
            }

            profileViewModel.ProgressViewModels = progressViewModels;
            profileViewModel.Certificates       = _certificatesService.GetCertificatesForUser(User.Identity.Name);
            profileViewModel.Orders             = _ordersService.GetByUser(User.Identity.Name).Where(x => x.Status == OrderStatusType.Completed);
            return(View(profileViewModel));
        }
Ejemplo n.º 3
0
        public CertificateGenerationInfo GetByCourseId(int courseId)
        {
            IPublishedContent courseContent = _coursesContentService.GetCoursePublishedContentById(courseId);
            int certificateId = (int)courseContent.GetPropertyValue <Picker>(nameof(Course.Certificate)).SavedValue;
            IPublishedContent         certificateContent        = UmbracoContext.Current.ContentCache.GetById(certificateId);
            CertificateGenerationInfo certificateGenerationInfo = new CertificateGenerationInfo();

            IPublishedContent certificateTemplate = UmbracoContext.Current.MediaCache.GetById(
                certificateContent.GetPropertyValue <int>(
                    nameof(AcademyPlatform.Web.Models.Umbraco.DocumentTypes.Certificate.CertificateTemplate)));

            _mapper.AddCustomMapping(
                typeof(PlaceholderInfo).FullName,
                UmbracoMapperMappings.MapPlaceholder)
            .Map(certificateContent, certificateGenerationInfo);

            certificateGenerationInfo.TemplateFilePath = HttpContext.Current.Server.MapPath(certificateTemplate.Url);
            certificateGenerationInfo.BaseFilePath     = HttpContext.Current.Server.MapPath("/");

            return(certificateGenerationInfo);
        }