Esempio n. 1
0
        //
        // GET: /Blog/

        public ActionResult Index(string page)
        {
            BlogPostClient  bpc       = new BlogPostClient();
            List <BlogPost> postsList = new List <BlogPost>(bpc.GetAllPublicAndNotRemoved());

            postsList.Sort((a, b) => DateTime.Compare(b.Date, a.Date));
            int pages             = Convert.ToInt32(Math.Ceiling((double)postsList.Count / 10));
            int currentPageNumber = 1;
            int skip = 0;

            if (page != null)
            {
                if (!Regex.IsMatch(page, @"^\d+$"))
                {
                    return(RedirectToAction("Index"));
                }
                currentPageNumber = Convert.ToInt32(page);
                skip = (currentPageNumber - 1) * 10;
            }
            ViewBag.Pages       = pages;
            ViewBag.CurrentPage = currentPageNumber;
            List <BlogPost> currentPage = postsList.Skip(skip).Take(10).ToList();

            if (currentPage.Count == 0)
            {
                return(RedirectToAction("Index"));
            }
            ViewBag.Articles = currentPage;
            return(View());
        }