/// <summary> /// Gets the view model. /// </summary> /// <returns></returns> public GuideStepViewModel BuildModel() { var model = new GuideStepViewModel() { GuideUrl = new Uri(_content.Parent.Url, UriKind.RelativeOrAbsolute), GuideTitle = _content.Parent.Name, StepContent = new HtmlString(_mediaUrlTransformer.ParseAndTransformMediaUrlsInHtml(_content.GetPropertyValue <string>("content_Content"))) }; model.Metadata.IsPartOfUrl = _content.Parent.UrlAbsolute(); var relatedLinksGroups = new RelatedLinksModelBuilder().OrganiseAsHeadingsAndSections(_relatedLinksService.BuildRelatedLinksViewModelFromUmbracoContent(_content, "relatedLinks_Content")); foreach (var linkGroup in relatedLinksGroups) { model.RelatedLinksGroups.Add(linkGroup); } model.Steps = new List <GuideNavigationLink>(_content.Siblings <IPublishedContent>() .Where(sibling => sibling.ContentType == _content.ContentType) .Select(sibling => new GuideNavigationLink() { Text = sibling.Name, Url = new Uri(sibling.Url, UriKind.Relative), IsCurrentPage = (sibling.Id == _content.Id) })); var partnerImages = _content.GetPropertyValue <IEnumerable <IPublishedContent> >("partnerImages_Content"); foreach (var imageData in partnerImages) { var image = new Image() { AlternativeText = imageData.Name, ImageUrl = new Uri(imageData.Url, UriKind.Relative), Width = imageData.GetPropertyValue <int>("umbracoWidth"), Height = imageData.GetPropertyValue <int>("umbracoHeight") }; model.PartnerImages.Add(image); } return(model); }
/// <summary> /// Builds the model. /// </summary> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> public TaskViewModel BuildModel() { var model = new TaskViewModel { LeadingText = new HtmlString(_mediaUrlTransformer.ParseAndTransformMediaUrlsInHtml(_umbracoContent.GetPropertyValue <string>("leadingText_Content"))), StartPageUrl = _elibraryLinkConverter.RewriteElibraryUrl(_mediaUrlTransformer.TransformMediaUrl(new Uri(_umbracoContent.GetPropertyValue <string>("startPageUrl_Content"), UriKind.RelativeOrAbsolute))), StartButtonText = _umbracoContent.GetPropertyValue <string>("startButtonText_Content"), Subheading1 = _umbracoContent.GetPropertyValue <string>("subheading1_Content"), Content1 = new HtmlString(_mediaUrlTransformer.ParseAndTransformMediaUrlsInHtml(_umbracoContent.GetPropertyValue <string>("content1_Content"))), Subheading2 = _umbracoContent.GetPropertyValue <string>("subheading2_Content"), Content2 = new HtmlString(_mediaUrlTransformer.ParseAndTransformMediaUrlsInHtml(_umbracoContent.GetPropertyValue <string>("content2_Content"))), Subheading3 = _umbracoContent.GetPropertyValue <string>("subheading3_Content"), Content3 = new HtmlString(_mediaUrlTransformer.ParseAndTransformMediaUrlsInHtml(_umbracoContent.GetPropertyValue <string>("content3_Content"))), Subheading4 = _umbracoContent.GetPropertyValue <string>("subheading4_Content"), Content4 = new HtmlString(_mediaUrlTransformer.ParseAndTransformMediaUrlsInHtml(_umbracoContent.GetPropertyValue <string>("content4_Content"))) }; var relatedLinksGroups = new RelatedLinksModelBuilder().OrganiseAsHeadingsAndSections(_relatedLinksService.BuildRelatedLinksViewModelFromUmbracoContent(_umbracoContent, "relatedLinks_Content")); foreach (var linkGroup in relatedLinksGroups) { model.RelatedLinksGroups.Add(linkGroup); } var partnerImages = _umbracoContent.GetPropertyValue <IEnumerable <IPublishedContent> >("partnerImages_Content"); foreach (var imageData in partnerImages) { var image = new Image() { AlternativeText = imageData.Name, ImageUrl = _mediaUrlTransformer.TransformMediaUrl(new Uri(imageData.Url, UriKind.Relative)), Width = imageData.GetPropertyValue <int>("umbracoWidth"), Height = imageData.GetPropertyValue <int>("umbracoHeight") }; model.PartnerImages.Add(image); } return(model); }