/// <summary> /// Gets the view model. /// </summary> /// <returns></returns> public JobSearchResultsViewModel BuildModel() { var model = new JobSearchResultsViewModel() { JobsLogo = BuildImage("JobsLogo_Content"), HeaderBackgroundImageSmall = BuildImage("HeaderBackgroundImage_Content"), HeaderBackgroundImageMedium = BuildImage("HeaderBackgroundImageMedium_Content"), HeaderBackgroundImageLarge = BuildImage("HeaderBackgroundImageLarge_Content"), JobsHomePage = BuildLinkToPage("JobsHomePage_Content"), JobAdvertPage = BuildLinkToPage("JobDetailPage_Content"), LoginPage = BuildLinkToPage("LoginPage_Content"), LoginUrl = !string.IsNullOrEmpty(UmbracoContent.GetPropertyValue <string>("loginURL")) ? new Uri(UmbracoContent.GetPropertyValue <string>("loginURL"), UriKind.RelativeOrAbsolute) : null, JobsSearchPage = BuildLinkToPage("JobsSearchPage_Content"), JobsPrivacyPage = BuildLinkToPage("JobsPrivacyPage_Content"), JobsSet = ParseJobsSet("PublicOrRedeployment_Content") }; var rss = BuildLinkToPage("JobsRssFeed_Content"); if (rss != null) { model.Metadata.RssFeedTitle = rss.Text; model.Metadata.RssFeedUrl = rss.Url.ToString(); } return(model); }
protected Image BuildImage(string alias) { var imageData = UmbracoContent.GetPropertyValue <IPublishedContent>(alias); if (imageData == null) { return(null); } return(BuildImageFromMediaItem(imageData)); }
protected IList <Image> BuildImages(string alias) { var imagesData = UmbracoContent.GetPropertyValue <IEnumerable <IPublishedContent> >(alias); var images = new List <Image>(); foreach (var imageData in imagesData) { images.Add(BuildImageFromMediaItem(imageData)); } return(images); }
protected JobsSet ParseJobsSet(string fieldAlias) { var index = umbraco.library.GetPreValueAsString(UmbracoContent.GetPropertyValue <int>(fieldAlias)); if (index == "Redeployment jobs") { return(JobsSet.RedeploymentJobs); } else { return(JobsSet.PublicJobs); } }
protected string BuildJobsSearcherName(string fieldAlias) { var index = umbraco.library.GetPreValueAsString(UmbracoContent.GetPropertyValue <int>(fieldAlias)); if (index == "Redeployment jobs") { return("RedeploymentJobsSearcher"); } else { return("PublicJobsSearcher"); } }
/// <summary> /// Gets the view model. /// </summary> /// <returns></returns> public JobsSearchViewModel BuildModel() { _model.JobsLogo = BuildImage("JobsLogo_Content"); _model.HeaderBackgroundImageSmall = BuildImage("HeaderBackgroundImage_Content"); _model.HeaderBackgroundImageMedium = BuildImage("HeaderBackgroundImageMedium_Content"); _model.HeaderBackgroundImageLarge = BuildImage("HeaderBackgroundImageLarge_Content"); _model.JobsHomePage = BuildLinkToPage("JobsHomePage_Content"); _model.LoginUrl = !string.IsNullOrEmpty(UmbracoContent.GetPropertyValue <string>("loginURL")) ? new Uri(UmbracoContent.GetPropertyValue <string>("loginURL"), UriKind.RelativeOrAbsolute) : null; _model.SearchResultsPage = BuildLinkToPage("SearchResultsPage_Content"); _model.JobsSet = ParseJobsSet("PublicOrRedeployment_Content"); return(_model); }
protected HtmlLink BuildLinkToPage(string alias) { var linkedPage = UmbracoContent.GetPropertyValue <IPublishedContent>(alias); if (linkedPage != null) { return(new HtmlLink() { Text = linkedPage.Name, Url = new Uri(linkedPage.UrlAbsolute()) }); } return(null); }
/// <summary> /// Gets the view model. /// </summary> /// <returns></returns> /// <exception cref="System.NotImplementedException"></exception> public JobsComponentViewModel BuildModel() { var model = new JobsComponentViewModel { JobsLogo = BuildImage("JobsLogo_Content"), JobsHomePage = BuildLinkToPage("JobsHomePage_Content"), LoginPage = BuildLinkToPage("LoginPage_Content"), HeaderBackgroundImageSmall = BuildImage("HeaderBackgroundImage_Content"), HeaderBackgroundImageMedium = BuildImage("HeaderBackgroundImageMedium_Content"), HeaderBackgroundImageLarge = BuildImage("HeaderBackgroundImageLarge_Content"), ScriptUrl = new TalentLinkUrl(UmbracoContent.GetPropertyValue <string>("ScriptUrl_Content")), IsForm = UmbracoContent.GetPropertyValue <bool>("IsForm_Content"), ContentBelowComponent = new HtmlString(_mediaUrlTransformer.ParseAndTransformMediaUrlsInHtml(UmbracoContent.GetPropertyValue <string>("ContentBelow_Content"))) }; return(model); }
/// <summary> /// Gets the view model. /// </summary> /// <returns></returns> public JobAdvertViewModel BuildModel() { var model = new JobAdvertViewModel() { JobsLogo = BuildImage("JobsLogo_Content"), HeaderBackgroundImageSmall = BuildImage("HeaderBackgroundImage_Content"), HeaderBackgroundImageMedium = BuildImage("HeaderBackgroundImageMedium_Content"), HeaderBackgroundImageLarge = BuildImage("HeaderBackgroundImageLarge_Content"), JobsHomePage = BuildLinkToPage("JobsHomePage_Content"), LoginPage = BuildLinkToPage("LoginPage_Content"), LoginUrl = !string.IsNullOrEmpty(UmbracoContent.GetPropertyValue <string>("loginURL")) ? new Uri(UmbracoContent.GetPropertyValue <string>("loginURL"), UriKind.RelativeOrAbsolute) : null, SearchResultsPageForClosedJobs = BuildLinkToPage("SearchResultsPage_Content"), JobsSet = ParseJobsSet("PublicOrRedeployment_Content") }; return(model); }
/// <summary> /// Gets the view model. /// </summary> /// <returns></returns> /// <exception cref="System.NotImplementedException"></exception> public JobsHomeViewModel BuildModel() { var model = new JobsHomeViewModel { JobsLogo = BuildImage("JobsLogo_Content"), HeaderBackgroundImageSmall = BuildImage("HeaderBackgroundImage_Content"), HeaderBackgroundImageMedium = BuildImage("HeaderBackgroundImageMedium_Content"), HeaderBackgroundImageLarge = BuildImage("HeaderBackgroundImageLarge_Content"), HeaderBackgroundImageCaption = UmbracoContent.GetPropertyValue <string>("HeaderBackgroundImageCaption_Content"), LoginPage = BuildUri("LoginPage_Content"), LoginUrl = !string.IsNullOrEmpty(UmbracoContent.GetPropertyValue <string>("loginURL")) ? new Uri(UmbracoContent.GetPropertyValue <string>("loginURL"), UriKind.RelativeOrAbsolute) : null, SearchPage = BuildUri("SearchPage_Content"), SearchResultsPageForHeader = BuildUri("SearchResultsPage_Content"), TileNavigation = RelatedLinksService.BuildRelatedLinksViewModelFromUmbracoContent(UmbracoContent, "TileNavigation_Content"), TileImages = BuildImages("TileImages_Content"), CampaignImage = BuildImage("CampaignImage_Content"), CampaignPage = BuildUri("CampaignPage_Content") }; if (model.CampaignPage == null) { var campaignUrl = UmbracoContent.GetPropertyValue <string>("CampaignUrl_Content"); if (!String.IsNullOrEmpty(campaignUrl)) { model.CampaignPage = new HtmlLink() { Url = new Uri(campaignUrl, UriKind.RelativeOrAbsolute) }; } } // Allow a hyphen to indicate that there's no text for the link, just an image foreach (var link in model.TileNavigation) { if (link.Text == "-") { link.Text = String.Empty; } } return(model); }
/// <summary> /// Gets the view model based on Umbraco properties. /// </summary> /// <returns></returns> public RightsOfWayDepositViewModel BuildModel() { var model = new RightsOfWayDepositViewModel(); model.Reference = UmbracoContent.Name; for (var i = 1; i <= 5; i++) { var owner = UmbracoContent.GetPropertyValue <PersonName>($"Owner{i}_Content"); if (owner != null) { model.IndividualOwners.Add(owner); } var org = UmbracoContent.GetPropertyValue <string>($"OrganisationalOwner{i}_Content"); if (!String.IsNullOrEmpty(org)) { model.OrganisationalOwners.Add(org); } var addressInfo = UmbracoContent.GetPropertyValue <AddressInfo>($"Location{((i > 1) ? i.ToString(CultureInfo.InvariantCulture) : String.Empty)}_Content"); if (addressInfo != null && addressInfo.BS7666Address.HasAddress() && addressInfo.BS7666Address.ToString() != addressInfo.BS7666Address.AdministrativeArea) { if (addressInfo.GeoCoordinate.Latitude == 0 && addressInfo.GeoCoordinate.Longitude == 0) { addressInfo.GeoCoordinate = null; } model.Addresses.Add(addressInfo); } } model.OrdnanceSurveyGridReference = UmbracoContent.GetPropertyValue <string>("GridReference_Content"); model.DateDeposited = UmbracoContent.GetPropertyValue <DateTime>("DateDeposited_Content"); model.Metadata.DateIssued = model.DateDeposited; model.DateExpires = UmbracoContent.GetPropertyValue <DateTime>("DateExpires_Content"); var depositDocuments = UmbracoContent.GetPropertyValue <IEnumerable <IPublishedContent> >("DepositDocument_Content"); if (depositDocuments != null) { foreach (var depositDocument in depositDocuments) { model.DepositDocuments.Add(new HtmlLink() { Url = new Uri(depositDocument.Url, UriKind.Relative), Text = depositDocument.Name }); } } var parishes = UmbracoContent.GetPropertyValue <IEnumerable <string> >("Parish_Content"); if (parishes != null) { foreach (var parish in parishes) { model.Parishes.Add(parish); } } model.Description = UmbracoContent.GetPropertyValue <string>("pageDescription_Content"); return(model); }
/// <summary> /// Gets the view model. /// </summary> /// <returns></returns> public HomePageViewModel BuildModel() { var model = new HomePageViewModel() { TopTasksTitle = UmbracoContent.GetPropertyValue <string>("TopTasksTitle_Content"), NewsTitle = UmbracoContent.GetPropertyValue <string>("NewsTitle_Content"), LibrariesTitle = UmbracoContent.GetPropertyValue <string>("LibrariesTitle_Content"), RecyclingTitle = UmbracoContent.GetPropertyValue <string>("RecyclingTitle_Content"), InvolvedTitle = UmbracoContent.GetPropertyValue <string>("InvolvedTitle_Content"), JobsLogo = BuildImage("JobsLogo_Content"), JobSearchResultsPage = BuildLinkToPage("JobSearchResultsPage_Content"), JobsHomePage = BuildLinkToPage("JobsHomePage_Content") }; var involvedRss = UmbracoContent.Children <IPublishedContent>() .FirstOrDefault(child => child.ContentType.Alias == "HomePageItems" && child.Name.ToUpperInvariant().Contains("INVOLVED")); if (involvedRss != null) { model.InvolvedRssUrl = new Uri(involvedRss.UrlWithDomain()); ((List <HomePageItemViewModel>)model.InvolvedItems).AddRange( involvedRss.Children <IPublishedContent>() .Where(child => child.ContentType.Alias == "HomePageItem") .Take(5) .Select(child => new HomePageItemViewModelFromUmbraco(child).BuildModel()) ); } var newsRss = UmbracoContent.Children <IPublishedContent>() .FirstOrDefault(child => child.ContentType.Alias == "HomePageItems" && child.Name.ToUpperInvariant().Contains("NEWS")); if (newsRss != null) { model.NewsRssUrl = new Uri(newsRss.UrlWithDomain()); ((List <HomePageItemViewModel>)model.NewsItems).AddRange( newsRss.Children <IPublishedContent>() .Where(child => child.ContentType.Alias == "HomePageItem" && !String.IsNullOrEmpty(child.GetPropertyValue <string>("Image_Content"))) .Take(2) .Select(child => new HomePageItemViewModelFromUmbraco(child).BuildModel()) ); } var termDates = UmbracoContent.GetPropertyValue <IPublishedContent>("TermDatesData_Content"); if (termDates != null && !String.IsNullOrEmpty(termDates.Url)) { model.TermDatesDataUrl = new Uri(termDates.Url, UriKind.Relative); } ((List <HtmlLink>)model.TopTasksLinks).AddRange(RelatedLinksService.BuildRelatedLinksViewModelFromUmbracoContent(UmbracoContent, "TopTasksContent_Content")); ((List <HtmlLink>)model.ReportLinks).AddRange(RelatedLinksService.BuildRelatedLinksViewModelFromUmbracoContent(UmbracoContent, "ReportTab_Content")); ((List <HtmlLink>)model.ApplyLinks).AddRange(RelatedLinksService.BuildRelatedLinksViewModelFromUmbracoContent(UmbracoContent, "ApplyTab_Content")); ((List <HtmlLink>)model.PayLinks).AddRange(RelatedLinksService.BuildRelatedLinksViewModelFromUmbracoContent(UmbracoContent, "PayTab_Content")); ((List <HtmlLink>)model.SchoolLinks).AddRange(RelatedLinksService.BuildRelatedLinksViewModelFromUmbracoContent(UmbracoContent, "SchoolLinks_Content")); ((List <HtmlLink>)model.LibrariesContent).AddRange(RelatedLinksService.BuildRelatedLinksViewModelFromUmbracoContent(UmbracoContent, "LibrariesContent_Content")); ((List <HtmlLink>)model.InvolvedLinks).AddRange(RelatedLinksService.BuildRelatedLinksViewModelFromUmbracoContent(UmbracoContent, "InvolvedLinks_Content")); return(model); }
/// <summary> /// Gets the view model based on Umbraco properties. /// </summary> /// <returns></returns> public RightsOfWayModificationViewModel BuildModel() { var model = new RightsOfWayModificationViewModel { Reference = UmbracoContent.Name, NearestTownOrVillage = UmbracoContent.GetPropertyValue <string>("nearestTownOrVillage"), DescriptionOfRoute = UmbracoContent.GetPropertyValue <string>("pageDescription"), StatusClaimed = UmbracoContent.GetPropertyValue <string>("statusClaimed"), OrdnanceSurveyGridReference = UmbracoContent.GetPropertyValue <string>("GridReference"), IndividualApplicant = UmbracoContent.GetPropertyValue <PersonName>("nameOfApplicant"), OrganisationalApplicant = UmbracoContent.GetPropertyValue <string>("nameOfApplicantOrganisation"), CouncilOfficerAssigned = UmbracoContent.GetPropertyValue <PersonName>("councilOfficerAssigned"), ApplicationStatus = UmbracoContent.GetPropertyValue <string>("applicationStatus"), Decision = UmbracoContent.GetPropertyValue <string>("decision") }; for (var i = 1; i <= 5; i++) { var org = UmbracoContent.GetPropertyValue <string>($"OrganisationalOwner{i}"); if (!String.IsNullOrEmpty(org)) { model.OrganisationalOwners.Add(org); } var addressInfo = UmbracoContent.GetPropertyValue <AddressInfo>($"Location{i}"); if (addressInfo != null && addressInfo.BS7666Address.HasAddress() && addressInfo.BS7666Address.ToString() != addressInfo.BS7666Address.AdministrativeArea) { if (addressInfo.GeoCoordinate.Latitude == 0 && addressInfo.GeoCoordinate.Longitude == 0) { addressInfo.GeoCoordinate = null; } model.Addresses.Add(addressInfo); } } model.DateReceived = UmbracoContent.GetPropertyValue <DateTime>("DateReceived"); model.Metadata.DateCreated = model.DateReceived; model.DateDetermined = UmbracoContent.GetPropertyValue <DateTime>("DateDetermined"); if (model.DateDetermined == DateTime.MinValue) { model.DateDetermined = null; } model.DateModificationOrderConfirmed = UmbracoContent.GetPropertyValue <DateTime>("orderConfirmedDate"); if (model.DateModificationOrderConfirmed == DateTime.MinValue) { model.DateModificationOrderConfirmed = null; } var documents = UmbracoContent.GetPropertyValue <IEnumerable <IPublishedContent> >("Documents"); if (documents != null) { foreach (var document in documents) { model.ApplicationDocuments.Add(new HtmlLink() { Url = new Uri(document.Url, UriKind.Relative), Text = document.Name }); } } var parishes = UmbracoContent.GetPropertyValue <IEnumerable <string> >("Parish"); if (parishes != null) { foreach (var parish in parishes) { model.Parishes.Add(parish); } } return(model); }