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)); }
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); }