Exemplo n.º 1
0
        public ActionResult Index(string sortOrder)
        {
            //
            // instantiate a repo
            //
            MusicAlbumRepository musicAlbumRepository = new MusicAlbumRepository();

            //
            // create a distinct list of cities for the artist filter
            //
            ViewBag.Artist = ListOfArtists();

            //
            // return the data context as an enumerable
            //
            IEnumerable <MusicAlbum> musicAlbums;

            using (musicAlbumRepository)
            {
                musicAlbums = musicAlbumRepository.SelectAll() as IList <MusicAlbum>;
            }

            //
            // sort by name unless posted as a new sort
            //
            switch (sortOrder)
            {
            case "Song":
                musicAlbums = musicAlbums.OrderBy(musicAlbum => musicAlbum.Song);
                break;

            case "Artist":
                musicAlbums = musicAlbums.OrderBy(musicAlbum => musicAlbum.Artist);
                break;

            default:
                musicAlbums = musicAlbums.OrderBy(musicAlbum => musicAlbum.Song);
                break;
            }

            return(View(musicAlbums));
        }
Exemplo n.º 2
0
        public ActionResult Index(string searchCriteria, string artistFilter)
        {
            //
            // instantiate a repository
            //
            MusicAlbumRepository musicAlbumRepository = new MusicAlbumRepository();

            //
            // create a distinct list of artists for the artist filter
            //
            //IEnumerable<string> artists = ListOfArtists();
            ViewBag.Artists = ListOfArtists();

            //
            // return the data context as an enumerable
            //
            IEnumerable <MusicAlbum> musicAlbums;

            using (musicAlbumRepository)
            {
                musicAlbums = musicAlbumRepository.SelectAll() as IList <MusicAlbum>;
            }

            //
            // if posted with a search on music album name
            //
            if (searchCriteria != null)
            {
                musicAlbums = musicAlbums.Where(musicAlbum => musicAlbum.Song.ToUpper().Contains(searchCriteria.ToUpper()));
            }

            //
            // if posted with a filter by city
            //
            if (artistFilter != "" || artistFilter == null)
            {
                musicAlbums = musicAlbums.Where(musicAlbum => musicAlbum.Artist == artistFilter);
            }

            return(View(musicAlbums));
        }
Exemplo n.º 3
0
        private IEnumerable <string> ListOfArtists()
        {
            //
            // instantiate a repository
            //
            MusicAlbumRepository musicAlbumRepository = new MusicAlbumRepository();

            //
            // return the data context as an enumerable
            //
            IEnumerable <MusicAlbum> musicAlbums;

            using (musicAlbumRepository)
            {
                musicAlbums = musicAlbumRepository.SelectAll() as IList <MusicAlbum>;
            }

            //
            // get a distinct list of cities
            //
            var artist = musicAlbums.Select(musicAlbum => musicAlbum.Artist).Distinct().OrderBy(x => x);

            return(artist);
        }