public List<ItemViewModel> BuildItemsViewModelList(List<Item> items, bool lazyLoad)
        {
            List<ItemViewModel> models = new List<ItemViewModel>();

            foreach (var i in items)
            {
                var itemViewModel = new ItemViewModel { Item = i };

                if (lazyLoad)
                {
                    Item nextItem = null;
                    bool includeRead = HttpContext.Current.Session["ViewMode"] == null || HttpContext.Current.Session["ViewMode"].ToString() == "Show Unread Items" ? false : true;
                    nextItem = _services.GetNextItem(includeRead, i.ItemID, i.FeedID);

                    if (nextItem != null)
                    {
                        itemViewModel.NextItemID = nextItem.ItemID;
                    }
                    else
                    {
                        itemViewModel.NextItemID = 0;
                    }
                }

                models.Add(itemViewModel);
            }

            return models;
        }
        public ActionResult Item(int id)
        {
            ItemViewModel model = new ItemViewModel();

            if (id > 0)
            {
                model.Item = _repository.Items.FirstOrDefault(x => x.ItemID == id);
                Item nextItem = null;

                bool includeRead = Session["ViewMode"] == null || Session["ViewMode"].ToString() == "Show Unread Items" ? false : true;
                nextItem = _services.GetNextItem(includeRead, id, model.Item.FeedID);

                if (nextItem != null)
                {
                    model.NextItemID = nextItem.ItemID;
                }
                else
                {
                    model.NextItemID = 0;
                }
            }

            return View(model);
        }