コード例 #1
0
ファイル: AlbumRepository.cs プロジェクト: letyagolia/First
        public async Task <AlbumDto> CreateAsync(AlbumDto item)
        {
            var result = _context.Albums.Add(AlbumConverter.Convert(item));
            await _context.SaveChangesAsync();

            return(AlbumConverter.Convert(result.Entity));
        }
コード例 #2
0
        public async Task <List <AlbumViewModel> > GetAlbumByArtistIdAsync(int id,
                                                                           CancellationToken ct = default(CancellationToken))
        {
            var albums = AlbumConverter.ConvertList(await _albumRepository.GetByArtistIdAsync(id, ct));

            return(albums);
        }
コード例 #3
0
ファイル: AlbumRepository.cs プロジェクト: letyagolia/First
        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);
        }
コード例 #4
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);
        }
コード例 #5
0
        public async Task <bool> UpdateAsync(AlbumDto item)
        {
            if (item == null)
            {
                return(false);
            }
            _context.Albums.Update(AlbumConverter.Convert(item));
            await _context.SaveChangesAsync();

            return(true);
        }
コード例 #6
0
 public async Task <IActionResult> Get()
 {
     try
     {
         return(Ok(
                    AlbumConverter.ConvertList(
                        await _context.Album
                        .Include(a => a.Artist)
                        .ToListAsync()
                        )
                    ));
     }
     catch (Exception ex)
     {
         _logger.LogError(ex, ex.Message);
         return(StatusCode(500, ex.Message));
     }
 }
コード例 #7
0
        public async Task <IActionResult> GetByArtistId(int id)
        {
            try
            {
                var albums = await _context.Album.Where(a => a.ArtistId == id).ToListAsync();

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

                return(Ok(AlbumConverter.ConvertList(albums)));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
                return(StatusCode(500, ex));
            }
        }
コード例 #8
0
        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));
            }
        }
コード例 #9
0
 public async Task <List <AlbumDto> > GetAllAsync()
 {
     return(AlbumConverter.Convert(
                await _context.Albums.ToListAsync()));
 }
コード例 #10
0
 public async Task <AlbumDto> GetById(Guid id)
 {
     return(AlbumConverter.Convert(await _context.Albums.FindAsync(id)));
 }
コード例 #11
0
ファイル: TrackRepository.cs プロジェクト: letyagolia/First
        public async Task <List <TrackDto> > GetTracksByAlbum(Guid id)    //Поиск трэков по альбому
        {
            var album = AlbumConverter.Convert(await _context.Albums.FindAsync(id));

            return(album.Tracks);
        }
コード例 #12
0
ファイル: AlbumRepository.cs プロジェクト: Agionesty/Tut
        public async Task <AlbumDto> GetBySearch(string artistname)
        {
            var albums = AlbumConverter.Convert(await _context.Albums.FindAsync(artistname));

            return(albums);
        }