Esempio n. 1
0
        private async Task <object> Get(ISongIdentity song)
        {
            if (song == null)
            {
                throw new ArgumentNullException(nameof(song));
            }

            return(await Context.Song
                   .Select(x => new Song
            {
                Id = x.Id, Name = x.Name, Duration = x.Duration,
                Album = new Album
                {
                    Id = x.Album.Id, Name = x.Album.Name, ImageUrl = x.Album.ImageUrl,
                    Artist = new Artist
                    {
                        Id = x.Album.Artist.Id, Name = x.Album.Artist.Name, ImageUrl = x.Album.Artist.ImageUrl
                    }
                }
            })
                   .FirstOrDefaultAsync(x => x.Id == song.Id));

            // return await Context.Song.IgnoreAutoIncludes()
            //     .Include(x => x.Album)
            //     .ThenInclude(x => x.Artist)
            //     .FirstOrDefaultAsync(x => x.Id == song.Id);
        }
Esempio n. 2
0
        public async Task DeleteAsync(ISongIdentity id)
        {
            var song = await Context.Song
                       .Include(x => x.Album)
                       .FirstOrDefaultAsync(x => x.Id == id.Id);

            Context.Song.Remove(song);
            await Context.SaveChangesAsync();
        }
Esempio n. 3
0
 public Task DeleteAsync(ISongIdentity song)
 {
     return(SongDataAccess.DeleteAsync(song));
 }
Esempio n. 4
0
 public Task <Song> GetAsync(ISongIdentity song)
 {
     return(SongDataAccess.GetAsync(song));
 }
Esempio n. 5
0
        public async Task <Song> GetAsync(ISongIdentity id)
        {
            var result = await Get(id);

            return(Mapper.Map <Song>(result));
        }