public async Task ValidateAsync(IAlbumContainer albumContainer) { if (albumContainer == null) { throw new ArgumentNullException(nameof(albumContainer)); } var album = await this.GetBy(albumContainer); if (albumContainer.AlbumId.HasValue && album == null) { throw new InvalidOperationException($"Album not found by id {albumContainer.AlbumId}"); } }
public async Task ValidateAsync(IAlbumContainer albumContainer) { if (albumContainer == null) { throw new ArgumentNullException(nameof(albumContainer)); } var album = await GetAsync(albumContainer); if (album == null) { throw new InvalidOperationException($"Album with id {albumContainer.AlbumId} not found"); } }
public async Task <Album> GetByAsync(IAlbumContainer album) { var result = Mapper.Map <Album>(await Context.Album .Select(x => new Album { Id = x.Id, Name = x.Name, ImageUrl = x.ImageUrl, Artist = new Artist { Id = x.Artist.Id, Name = x.Artist.Name, ImageUrl = x.Artist.ImageUrl }, Song = x.Song.Select(song => new Song { Id = song.Id, Name = song.Name, Duration = song.Duration }) }) .FirstOrDefaultAsync(x => x.Id == album.AlbumId)); result.Artist.Album = null; return(result); }
private Task <Album> GetBy(IAlbumContainer albumContainer) { return(this.AlbumDataAccess.GetByAsync(albumContainer)); }
public async Task <Album> GetByAsync(IAlbumContainer album) { return(album.AlbumId.HasValue ? this.Mapper.Map <Album>(await this.Context.Album.FirstOrDefaultAsync(x => x.Id == album.AlbumId)) : null); }
public async Task <Album> GetAsync(IAlbumContainer albumContainer) { return(await AlbumDataAccess.GetByAsync(albumContainer)); }