コード例 #1
0
        public async Task <IActionResult> UpdateMusic(int id, MusicDtoW musicDto)
        {
            var oldMusic = await _musicService.GetMusicById(id);

            if (oldMusic is null)
            {
                return(NotFound());
            }

            var music        = _mapper.Map <Music>(musicDto);
            var updatedMusic = await _musicService.UpdateMusic(oldMusic, music);

            var updatedMusicDto = _mapper.Map <MusicDtoR>(updatedMusic);

            BuildLinksForObject(updatedMusicDto, updatedMusic.Id);

            return(Ok(updatedMusic));
        }
コード例 #2
0
        public async Task <ActionResult <MusicDtoR> > AddMusic(MusicDtoW musicDto)
        {
            var validator = new MusicDtoW.Validator().Validate(musicDto);

            if (!validator.IsValid)
            {
                return(BadRequest(validator.Errors));
            }
            var musicEntity  = _mapper.Map <Music>(musicDto);
            var musicCraeted = await _musicService.CreateMusic(musicEntity, true);


            var musicReadDto = _mapper.Map <MusicDtoR>(musicCraeted);

            BuildLinksForObject(musicReadDto, musicReadDto.Id);

            // Publish event for audit
            _userEventService.EmitUserEvent(HttpContext.User, UserActionType.ArtistAdded);



            HttpContext.Response.StatusCode = 201;
            return(musicReadDto);
        }