public BlogPostCMSViewModel MapNodeToModel(IPublishedContent node) { RealHomesDataTypesCMSModel cmsDataTypesName = new RealHomesDataTypesCMSModel(); BlogPostCMSViewModel post = new BlogPostCMSViewModel(); post.PostId = node.Id.ToString(); post.PostUrl = node.Url; post.PostTitle = node.GetPropertyValue(post.TITLE_PROPERTY_NAME) == null ? "": node.GetPropertyValue(post.TITLE_PROPERTY_NAME).ToString(); post.Exerpt = node.GetPropertyValue(post.EXERPT_PROPERTY_NAME) == null ? "" : node.GetPropertyValue(post.EXERPT_PROPERTY_NAME).ToString(); post.FullBodyText = node.GetPropertyValue(post.FULLTEXT_PROPERTY_NAME) == null ? "": node.GetPropertyValue(post.FULLTEXT_PROPERTY_NAME).ToString(); post.Labels = node.GetPropertyValue(post.LABEL_PROPERTY_NAME) == null ? null : node.GetPropertyValue <IEnumerable <string> >(post.LABEL_PROPERTY_NAME); //post.Categories= (new PreValueHelper()).GetPreValuesFromAppSettingName(cmsDataTypesName.BLOGCAT_SETTING_NAME); post.Image = node.GetPropertyValue(post.IMAGE_PROPERTY_NAME) == null ? null : node.GetPropertyValue <IPublishedContent>(post.IMAGE_PROPERTY_NAME); post.SEOKeywords = node.GetPropertyValue(post.KEYWORD_PROPERTY_NAME) == null ? "" : node.GetPropertyValue(post.KEYWORD_PROPERTY_NAME).ToString(); post.BlogDescription = node.GetPropertyValue(post.DESC_PROPERTY_NAME) == null ? "" : node.GetPropertyValue(post.DESC_PROPERTY_NAME).ToString(); post.HideInNavigation = node.GetPropertyValue(post.HIDENAV_PROPERTY_NAME) == null ? true : node.GetPropertyValue <bool>(post.HIDENAV_PROPERTY_NAME); return(post); }
public async Task <ActionResult> GetBlogPostList(int iPageno, string sSortName) { int iPageSize = Convert.ToInt32(StringConstants.BLOG_PAGE_SIZE); PagedBlogPostCMSViewModel pagedView = new PagedBlogPostCMSViewModel(); //IEnumerable<IPublishedContent> pagedResults; try { if (Request.IsAjaxRequest()) { RealHomesDataTypesCMSModel settingsName = new RealHomesDataTypesCMSModel(); //Get the All the posts under blog content node var results = Umbraco.TypedContent(WebConfigurationManager.AppSettings[settingsName.BLOGMAINCT_SETTING_NAME]).Children(); if (results.Count() > 0) { pagedView.TotalRecords = results.Count(); } else { pagedView.TotalRecords = 0; } //filtered results for requested page var pagedResults = results.Skip((iPageno - 1) * iPageSize).Take(iPageSize); if (pagedResults.Count() > 0) { //Prepare Property Models to be displayed on the result page List <BlogPostCMSViewModel> BlogPosts = new List <BlogPostCMSViewModel>(); foreach (var result in pagedResults) { BlogPostCMSViewModel Post = new BlogPostCMSViewModel(); //IPublishedContent node = Umbraco.Content(result.Id); Post = MapNodeToModel(result); BlogPosts.Add(Post); } pagedView.BlogPostModels = BlogPosts; } } pagedView.TotalPages = Convert.ToInt32(Math.Ceiling((double)pagedView.TotalRecords / iPageSize)); pagedView.CurrentPage = iPageno; SetPagingValues(ref pagedView); PagedPropertyViews pagedresults = new PagedPropertyViews(); return(PartialView(StringConstants.PARTIAL_VIEW_PATH + PARTIAL_VIEW_LIST, await System.Threading.Tasks.Task.FromResult(pagedView))); } catch (Exception x) { //log the error return(null); } }