コード例 #1
0
        public void RemoveSongFromUser_AddRemoveUserSongViewModel_RemovesSongFromUser()
        {
            var song = new Song {
                Id = Guid.NewGuid(), SongId = Guid.NewGuid(), Album = new Album {
                    Id = Guid.NewGuid()
                }
            };
            var user = new User {
                Id = Guid.NewGuid(), UserId = Guid.NewGuid(), UserSongs = new List <UserSong> {
                    new UserSong {
                        Id = Guid.NewGuid(), SongId = song.SongId
                    }
                }
            };

            _context.Users.Add(user);
            _context.Songs.Add(song);
            _context.SaveChanges();

            var viewModel = new AddRemoveUserSongViewModel
            {
                SongId = song.SongId,
                UserId = user.UserId
            };

            _inventoryController.RemoveSongFromUser(viewModel);

            var       updatedUser = _context.Users.Find(user.Id);
            const int expected    = 0;

            Assert.AreEqual(expected, updatedUser.UserSongs.Count);
        }
        public IHttpActionResult RemoveSongFromUser(AddRemoveUserSongViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid Model State"));
            }

            var userSong = _mapper.Map <UserSong>(viewModel);

            _inventoryService.RemoveSongFromUser(userSong);

            return(Ok());
        }
        public async Task <HttpStatusCode> RemoveSongAsync(AddRemoveUserSongViewModel viewModel)
        {
            const string removeSongUri = "";

            return(await _httpService.UpdateEntityAsync(viewModel, removeSongUri));
        }