コード例 #1
0
        public async Task <ActionResult <BookDTO> > UpdateMusic(int id, [FromBody] SaveBookDTo saveMusicResource)
        {
            var validator        = new SaveBookResourceValidator();
            var validationResult = await validator.ValidateAsync(saveMusicResource);

            var requestIsInvalid = id == 0 || !validationResult.IsValid;

            if (requestIsInvalid)
            {
                return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok
            }
            var musicToBeUpdate = await _musicService.GetMusicById(id);

            if (musicToBeUpdate == null)
            {
                return(NotFound());
            }

            var music = _mapper.Map <SaveBookDTo, Music>(saveMusicResource);

            await _musicService.UpdateMusic(musicToBeUpdate, music);

            var updatedMusic = await _musicService.GetMusicById(id);

            var updatedMusicResource = _mapper.Map <Music, BookDTO>(updatedMusic);

            return(Ok(updatedMusicResource));
        }
コード例 #2
0
        public async Task <ActionResult <BookDTO> > CreateMusic([FromBody] SaveBookDTo saveMusicResource)
        {
            var validator        = new SaveBookResourceValidator();
            var validationResult = await validator.ValidateAsync(saveMusicResource);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok
            }
            var musicToCreate = _mapper.Map <SaveBookDTo, Music>(saveMusicResource);

            var newMusic = await _musicService.CreateMusic(musicToCreate);

            var music = await _musicService.GetMusicById(newMusic.Id);

            var musicResource = _mapper.Map <Music, BookDTO>(music);

            return(Ok(musicResource));
        }