Esempio n. 1
0
        public ActionResult TopSongs(string sortOrder, string currentFilter, string searchString = "", int page = 1)
        {
            this.ViewBag.CurrentSort          = sortOrder;
            this.ViewBag.NameSortParm         = sortOrder == "Name" ? "Name desc" : "Name";
            this.ViewBag.SongsPlaysSortParam  = sortOrder == "ArtistId" ? "ArtistId desc" : "ArtistId";
            this.ViewBag.SubscribersSortParam = sortOrder == "NumberOfPlays" ? "NumberOfPlays desc" : "NumberOfPlays";

            if (searchString != string.Empty)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            if (sortOrder == null || sortOrder == string.Empty)
            {
                sortOrder = "NumberOfPlays desc";
            }

            if (searchString == null)
            {
                searchString = string.Empty;
            }

            var songs = this.songs
                        .GetSongsCharts(sortOrder, searchString)
                        .To <SongViewModel>()
                        .ToList();

            this.ViewBag.CurrentFilter = searchString;

            int pageSize   = 10;
            var totalPages = songs.Count / pageSize;

            if (totalPages % 10 != 0)
            {
                totalPages += 1;
            }

            var model = new ChartsTopSongsViewModel()
            {
                Songs       = songs.ToPagedList(page, pageSize),
                CurrentPage = page,
                TotalPages  = totalPages
            };

            return(this.View(model));
        }
Esempio n. 2
0
        public ActionResult TopSongs(string sortOrder, string currentFilter, string searchString = "", int page = 1)
        {
            this.ViewBag.CurrentSort = sortOrder;
            this.ViewBag.NameSortParm = sortOrder == "Name" ? "Name desc" : "Name";
            this.ViewBag.SongsPlaysSortParam = sortOrder == "ArtistId" ? "ArtistId desc" : "ArtistId";
            this.ViewBag.SubscribersSortParam = sortOrder == "NumberOfPlays" ? "NumberOfPlays desc" : "NumberOfPlays";

            if (searchString != string.Empty)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            if (sortOrder == null || sortOrder == string.Empty)
            {
                sortOrder = "NumberOfPlays desc";
            }

            if (searchString == null)
            {
                searchString = string.Empty;
            }

            var songs = this.songs
                .GetSongsCharts(sortOrder, searchString)
                .To<SongViewModel>()
                .ToList();

            this.ViewBag.CurrentFilter = searchString;

            int pageSize = 10;
            var totalPages = songs.Count / pageSize;

            if (totalPages % 10 != 0)
            {
                totalPages += 1;
            }

            var model = new ChartsTopSongsViewModel()
            {
                Songs = songs.ToPagedList(page, pageSize),
                CurrentPage = page,
                TotalPages = totalPages
            };

            return this.View(model);
        }