Example #1
0
        // GET: RSSReader
        public ActionResult Index(string url, string sort)
        {
            RSSReaderViewModel model = new RSSReaderViewModel();

            if (string.IsNullOrWhiteSpace(url))
            {
                ModelState.AddModelError("ns", "No URL found");
                return(View(model));
            }

            //get feeds from service
            var rssItems = readerSevice.Load(url);

            //map to viewmodel
            var feeds = rssItems.Select(e => new FeedItemViewModel(e));

            //sort
            model.PubDateSortOrder = sort == "pubDate" ? "pubDate_desc" : "pubDate";
            model.TitleSortOrder   = sort == "title" ? "title_desc" : "title";
            switch (sort)
            {
            case "title":
                feeds = feeds.OrderBy(s => s.Title);
                break;

            case "title_desc":
                feeds = feeds.OrderByDescending(s => s.Title);
                break;

            case "pubDate":
                feeds = feeds.OrderBy(s => s.PublicationDate);
                break;

            case "pubDate_desc":
            default:
                feeds = feeds.OrderByDescending(s => s.PublicationDate);
                break;
            }

            model.Feeds = feeds;
            model.URL   = url;

            return(View(model));
        }
Example #2
0
 public static void SetContainer(WindsorContainer container)
 {
     Container          = container;
     RssReaderViewModel = new RSSReaderViewModel();
 }