Exemplo n.º 1
0
 private void SetPagingValues(ref PagedBlogPostCMSViewModel pager)
 {
     pager.StartPage = pager.CurrentPage - 5;
     pager.EndPage   = pager.CurrentPage + 4;
     if (pager.StartPage <= 0)
     {
         pager.EndPage  -= (pager.StartPage - 1);
         pager.StartPage = 1;
     }
     if (pager.EndPage > pager.TotalPages)
     {
         pager.EndPage = pager.TotalPages;
         if (pager.EndPage > 10)
         {
             pager.StartPage = pager.EndPage - 9;
         }
     }
 }
Exemplo n.º 2
0
        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);
            }
        }