示例#1
0
        public ActionResult <TrackDto> Put()
        {
            var artistId = new Guid(Request.Query.FirstOrDefault(r => r.Key == "ArtistId").Value.ToString());
            var trackId  = new Guid(Request.Query.FirstOrDefault(r => r.Key == "TrackId").Value.ToString());

            try
            {
                var target = _artistBll.GetById(artistId);
                var track  = _trackBll.GetById(trackId);
                return(Ok(new TrackDto().MapFromModel(_trackBll.Copy(track, target))));
            }
            catch (ArgumentOutOfRangeException exception)
            {
                Console.WriteLine(exception);
                return(NotFound());
            }
        }
示例#2
0
        public void MergeArtists(ICollection <Artist> artists, Artist newArtist)
        {
            var set           = new HashSet <Artist>();
            var hasDuplicates = artists.Any(a => !set.Add(a));

            if (hasDuplicates)
            {
                throw new ArgumentException($"Set of merged artists should be unique.");
            }
            foreach (var artist in artists)
            {
                foreach (var track in artist.TrackList)
                {
                    _trackBll.Copy(track, newArtist);
                }
            }

            _repository.Save(newArtist);
        }