Exemple #1
0
        public void GetArtistDetailsViewModelTest()
        {
            var artistDto       = CreateArtist();
            var artistViewModel = ModelsMapper.GetArtistDetailsViewModel(artistDto);

            Assert.IsNotNull(artistViewModel);

            Assert.IsTrue(artistViewModel.Id == artistDto.Id);
            Assert.IsTrue(artistViewModel.Name.Equals(artistDto.Name, StringComparison.OrdinalIgnoreCase));
            Assert.IsTrue(artistViewModel.Biography.Equals(artistDto.Biography, StringComparison.OrdinalIgnoreCase));
            Assert.IsTrue(artistViewModel.Birthday == artistDto.Birthday);
        }
        /// <summary>
        /// Returns the artist details.
        /// </summary>
        /// <param name="id">The artist id.</param>
        /// <returns>
        /// The information about artist with the specified <paramref name="id"/> or <b>null</b> if artist doesn't exist.
        /// </returns>
        public ArtistDetailsViewModel GetArtistDetails(int id)
        {
            Artist artist;

            using (var repository = Factory.GetArtistRepository())
            {
                artist = repository.GetById(id);
            }

            var artistDetails = ModelsMapper.GetArtistDetailsViewModel(artist);

            using (var repository = Factory.GetTrackRepository())
            {
                artistDetails.TracksCount = repository.Count(t => t.ArtistId == artist.Id);
            }

            using (var repository = Factory.GetAlbumRepository())
            {
                artistDetails.AlbumsCount = repository.Count(a => a.ArtistId != null && a.ArtistId == artist.Id);
            }

            return(artistDetails);
        }