コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }