using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Music.Model;

namespace Music.StubRepository
{
    public class DataContext
    {
        private List<Artist> _artists;
        private List<Album> _albums;
        private List<Song> _songs;

        public DataContext()
        {
            _artists = new List<Artist>();
            _albums = new List<Album>();
            _songs = new List<Song>();

            Artist artist1 = new Artist();
            artist1.Id = 1;
            artist1.ArtistName = "Foghat";

            Artist artist2 = new Artist();
            artist2.ArtistName = "AC/DC";
            artist2.Id = 2;

            _artists.Add(artist1);
            _artists.Add(artist2);

            Album album1 = new Album();
            album1.Id = 1;
            album1.ArtistName = "Foghat";
            album1.AlbumName = "Foghat";

            Album album2 = new Album();
            album2.Id = 2;
            album2.ArtistName = "Foghat";
            album2.AlbumName = "Fool for the City";

            Album album3 = new Album();
            album3.Id = 3;
            album3.ArtistName = "AC/DC";
            album3.AlbumName = "High Voltage";

            Album album4 = new Album();
            album4.Id = 4;
            album4.ArtistName = "AC/DC";
            album4.AlbumName = "Back in Black";

            _albums.Add(album1);
            _albums.Add(album2);
            _albums.Add(album3);
            _albums.Add(album4);

            Song song1 = new Song();
            song1.Id = 1;
            song1.ArtistName = "Foghat";
            song1.AlbumName = "Foghat";
            song1.Title = "I Just Wanna Make Love To You";
            song1.Genre = "Blues Rock";
            song1.Track = "1";

            Song song2 = new Song();
            song2.Id = 2;
            song2.ArtistName = "Foghat";
            song2.AlbumName = "Foghat";
            song2.Title = "Trouble, Trouble";
            song2.Genre = "Blues Rock";
            song2.Track = "2";

            Song song3 = new Song();
            song3.Id = 3;
            song3.ArtistName = "Foghat";
            song3.AlbumName = "Fool for the City";
            song3.Title = "Fool for the City";
            song3.Genre = "Blues Rock";
            song3.Track = "1";

            Song song4 = new Song();
            song4.Id = 4;
            song4.ArtistName = "Foghat";
            song4.AlbumName = "Fool for the City";
            song4.Title = "My Babe";
            song4.Genre = "Blues Rock";
            song4.Track = "1";

            Song song5 = new Song();
            song5.Id = 5;
            song5.ArtistName = "AC/DC";
            song5.AlbumName = "High Voltage";
            song5.Title = "Baby, Please Don't Go";
            song5.Genre = "Hard Rock";
            song5.Track = "1";

            Song song6 = new Song();
            song6.Id = 6;
            song6.ArtistName = "AC/DC";
            song6.AlbumName = "High Voltage";
            song6.Title = "She's Got Balls";
            song6.Genre = "Hard Rock";
            song6.Track = "2";

            Song song7 = new Song();
            song7.Id = 7;
            song7.ArtistName = "AC/DC";
            song7.AlbumName = "Back in Black";
            song7.Title = "Hells Bells";
            song7.Genre = "Hard Rock";
            song7.Track = "1";

            Song song8 = new Song();
            song8.Id = 8;
            song8.ArtistName = "AC/DC";
            song8.AlbumName = "Back in Black";
            song8.Title = "Shoot to Thrill";
            song8.Genre = "Hard Rock";
            song8.Track = "2";

            _songs.Add(song1);
            _songs.Add(song2);
            _songs.Add(song3);
            _songs.Add(song4);
            _songs.Add(song5);
            _songs.Add(song6);
            _songs.Add(song7);
            _songs.Add(song8);
        }

        public List<Artist> Artists
        {
            get
            {
                return _artists;
            }
        }

        public List<Album> Albums
        {
            get
            {
                return _albums;
            }
        }

        public List<Song> Songs
        {
            get
            {
                return _songs;
            }
        }
    }
}
