public string GetAssessmentRoute(int courseId) { IPublishedContent courseContent = _coursesContentService.GetCoursePublishedContentById(courseId); string validationPath = GetRouteByName("Assessment", new { courseNiceUrl = courseContent.UrlName }); string absoluteUrl = GetHttpsAbsoluteUrl(validationPath); return(absoluteUrl); }
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)); }
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); }