Esempio n. 1
0
 public ICollection <Artist> GetArtistsByGenre(string genre)
 {
     using (var context = new SoundCloudLiteContext())
     {
         return(GetArtistsByGenre(genre, context));
     }
 }
Esempio n. 2
0
 public Track GetTrackById(Guid id)
 {
     using (var context = new SoundCloudLiteContext())
     {
         return(GetTrackById(id, context));
     }
 }
Esempio n. 3
0
 public Artist GetArtistById(Guid id)
 {
     using (var context = new SoundCloudLiteContext())
     {
         return(GetArtistById(id, context));
     }
 }
Esempio n. 4
0
 public ICollection <Track> GetTracksByTitle(string title)
 {
     using (var context = new SoundCloudLiteContext())
     {
         return(GetTracksByTitle(title, context));
     }
 }
Esempio n. 5
0
 public ICollection <Track> GetTracksByAlbum(string album)
 {
     using (var context = new SoundCloudLiteContext())
     {
         return(GetTracksByAlbum(album, context));
     }
 }
Esempio n. 6
0
 public ICollection <Track> GetTracksByArtist(Artist artist)
 {
     using (var context = new SoundCloudLiteContext())
     {
         return(GetTracksByArtist(artist, context));
     }
 }
Esempio n. 7
0
 public ICollection <Artist> GetArtistsByCountry(string country)
 {
     using (var context = new SoundCloudLiteContext())
     {
         return(GetArtistsByCountry(country, context));
     }
 }
Esempio n. 8
0
 public ICollection <Artist> GetAllArtists()
 {
     using (var context = new SoundCloudLiteContext())
     {
         return(context.Artists.Include(nameof(Artist.TrackList)).ToArray().Select(
                    x => x.MapToModel()).ToArray());
     }
 }
Esempio n. 9
0
 public ICollection <Track> Save(params Track[] tracks)
 {
     using (var context = new SoundCloudLiteContext())
     {
         var result = SaveTracks(tracks, context);
         context.SaveChanges();
         return(result);
     }
 }
Esempio n. 10
0
 public Track Save(Track employee)
 {
     using (var context = new SoundCloudLiteContext())
     {
         var result = SaveTrack(employee, context);
         context.SaveChanges();
         return(result);
     }
 }
Esempio n. 11
0
 public ICollection <Artist> Save(params Artist[] artists)
 {
     using (var context = new SoundCloudLiteContext())
     {
         var result = SaveArtists(artists, context);
         context.SaveChanges();
         return(result);
     }
 }
Esempio n. 12
0
 public Artist Save(Artist artist)
 {
     using (var context = new SoundCloudLiteContext())
     {
         var result = SaveArtist(artist, context);
         context.SaveChanges();
         return(result);
     }
 }
Esempio n. 13
0
        private Artist GetArtistById(Guid id, SoundCloudLiteContext context)
        {
            var result = GetArtistEntityById(id, context);

            if (result == null)
            {
                throw new ArgumentOutOfRangeException(nameof(id));
            }

            return(result.MapToModel());
        }
Esempio n. 14
0
        private Track GetTrackById(Guid id, SoundCloudLiteContext context)
        {
            var result = context.Tracks.FirstOrDefault(track => track.Id == id);

            if (result == null)
            {
                throw new ArgumentOutOfRangeException(nameof(id));
            }

            return(result.MapToModel(GetArtistById(result.ArtistId)));
        }
Esempio n. 15
0
        private ICollection <Track> GetTracksByAlbum(string album, SoundCloudLiteContext context)
        {
            var tracks = (from track in context.Tracks
                          where track.Album.Equals(album)
                          select track.MapToModel(track.Artist.MapToModel())).ToList();

            if (tracks.Count == 0)
            {
                throw new ArgumentOutOfRangeException(nameof(album));
            }

            return(tracks);
        }
Esempio n. 16
0
        private ICollection <Artist> GetArtistsByCountry(string country, SoundCloudLiteContext context)
        {
            var artists = (context.Artists.Where(artist => artist.Country.Equals(country))
                           .Include(nameof(Artist.TrackList)).ToArray()
                           .Select(artist => artist.MapToModel())).ToList();

            if (artists.Count == 0)
            {
                throw new ArgumentOutOfRangeException(nameof(country));
            }

            return(artists);
        }
Esempio n. 17
0
        private ICollection <Track> GetTracksByArtist(Artist artist, SoundCloudLiteContext context)
        {
            var tracks = (from track in context.Tracks
                          where track.Artist.Name.Equals(artist.Name) &&
                          track.Artist.Country.Equals(artist.Country) &&
                          track.Artist.Genre.Equals(artist.Genre)
                          select track.MapToModel(track.Artist.MapToModel())).ToList();

            if (tracks.Count == 0)
            {
                throw new ArgumentOutOfRangeException(nameof(artist));
            }

            return(tracks);
        }
Esempio n. 18
0
        private Artist SaveArtist(Artist artist, SoundCloudLiteContext context)
        {
            ArtistEntity result;

            if (artist.Id != Guid.Empty)
            {
                result = context.Artists.First(x => x.Id == artist.Id).MapToEntity(artist);
            }
            else
            {
                result    = new ArtistEntity().MapToEntity(artist);
                result.Id = Guid.NewGuid();
                context.Artists.Add(result);
            }

            return(result.MapToModel());
        }
Esempio n. 19
0
        private Track SaveTrack(Track track, SoundCloudLiteContext context)
        {
            TrackEntity changingEntity;

            var artist = GetArtistEntityById(track.Artist.Id, context);

            if (track.Id != Guid.Empty)
            {
                changingEntity = context.Tracks.First(
                    x => x.Id == track.Id).MapToEntity(track, artist);
            }
            else
            {
                changingEntity    = new TrackEntity().MapToEntity(track, artist);
                changingEntity.Id = Guid.NewGuid();
                context.Tracks.Add(changingEntity);
            }

            var model = changingEntity.MapToModel(artist.MapToModel());

            return(model);
        }
Esempio n. 20
0
 private ICollection <Track> SaveTracks(ICollection <Track> tracks,
                                        SoundCloudLiteContext context)
 {
     return(tracks.Select(track => SaveTrack(track, context)).ToList());
 }
Esempio n. 21
0
 private ArtistEntity GetArtistEntityById(Guid id, SoundCloudLiteContext context)
 {
     return(context.Artists.Include(nameof(Artist.TrackList)).FirstOrDefault(
                x => x.Id == id));
 }
Esempio n. 22
0
 private ICollection <Artist> SaveArtists(ICollection <Artist> artists,
                                          SoundCloudLiteContext context)
 {
     return(artists.Select(artist => SaveArtist(artist, context)).ToList());
 }