예제 #1
0
        public async Task <AlbumDto> GetByIdAsync(Guid id)
        {
            var album = AlbumConverter.Convert(await _context.Albums.FindAsync(id));

            album.ArtistName = _artistRepo.GetByIdAsync(id).Result.Name;
            return(album);
        }
예제 #2
0
        public async Task <AlbumDto> CreateAsync(AlbumDto item)
        {
            var result = _context.Albums.Add(AlbumConverter.Convert(item));
            await _context.SaveChangesAsync();

            return(AlbumConverter.Convert(result.Entity));
        }
예제 #3
0
        public async Task <AlbumViewModel> GetAlbumByIdAsync(int id, CancellationToken ct = default(CancellationToken))
        {
            var albumViewModel = AlbumConverter.Convert(await _albumRepository.GetByIdAsync(id, ct));

            albumViewModel.ArtistName = _artistRepository.GetByIdAsync(albumViewModel.ArtistId, ct).Result.Name;
            return(albumViewModel);
        }
예제 #4
0
        public async Task <bool> UpdateAsync(AlbumDto item)
        {
            if (item == null)
            {
                return(false);
            }
            _context.Albums.Update(AlbumConverter.Convert(item));
            await _context.SaveChangesAsync();

            return(true);
        }
        public async Task <IActionResult> Get(int id)
        {
            try
            {
                var album = await _context.Album
                            .Where(a => a.AlbumId == id)
                            .Include(a => a.Artist)
                            .Include(a => a.Tracks)
                            .FirstOrDefaultAsync();

                if (album == null)
                {
                    return(NotFound());
                }

                return(Ok(AlbumConverter.Convert(album)));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
                return(StatusCode(500, ex));
            }
        }
예제 #6
0
 public async Task <List <AlbumDto> > GetAllAsync()
 {
     return(AlbumConverter.Convert(
                await _context.Albums.ToListAsync()));
 }
예제 #7
0
 public async Task <AlbumDto> GetById(Guid id)
 {
     return(AlbumConverter.Convert(await _context.Albums.FindAsync(id)));
 }
예제 #8
0
        public async Task <List <TrackDto> > GetTracksByAlbum(Guid id)    //Поиск трэков по альбому
        {
            var album = AlbumConverter.Convert(await _context.Albums.FindAsync(id));

            return(album.Tracks);
        }
예제 #9
0
        public async Task <AlbumDto> GetBySearch(string artistname)
        {
            var albums = AlbumConverter.Convert(await _context.Albums.FindAsync(artistname));

            return(albums);
        }