public ActionResult Index() { var feeds = _context.Feed.Where(f => f.IsActive == true).ToList(); //feeds = _feedRepository.GetTopFeedsOfCertainPeriod(7).ToList(); var currentUserId = User.Identity.GetUserId(); var userPrefs = _userPreferenceRepository.Find(up => up.UserId == currentUserId).FirstOrDefault(); feeds = SortFeeds(userPrefs); var feedFilterSortVM = new FeedFilterSortOptionsVM { Feeds = feeds, UserPreferences = userPrefs }; return(View(feedFilterSortVM)); }
public ActionResult SortFilterFeeds(int filterNum, int sortNum) { var feeds = new List <Feed>(); var filterOption = (FilterOptions)filterNum; var sortOption = (SortOptions)sortNum; switch (filterOption) { case FilterOptions.Today: feeds = _feedRepository.GetTopFeedsOfCertainPeriod(1).ToList(); break; case FilterOptions.LastWeek: feeds = _feedRepository.GetTopFeedsOfCertainPeriod(7).ToList(); break; case FilterOptions.LastMonth: feeds = _feedRepository.GetTopFeedsOfCertainPeriod(30).ToList(); break; } switch (sortOption) { case SortOptions.New: feeds = _feedRepository.SortFeedsByNewestFirst(feeds).ToList(); break; case SortOptions.Best: feeds = _feedRepository.SortFeedsByRating(SortOptions.Best.ToString(), feeds).ToList(); break; case SortOptions.Hot: feeds = _feedRepository.SortFeedsByRating(SortOptions.Hot.ToString(), feeds).ToList(); break; } var feedFilterSortVM = new FeedFilterSortOptionsVM { Feeds = feeds, FilterOptions = filterOption, SortOptions = sortOption }; return(View("Index", feedFilterSortVM)); }