Esempio n. 1
0
        public ActionResult UpdateAlbumForBand(Guid bandID, Guid albumID, [FromBody] AlbumForUpdatingDto album)
        {
            if (!_bandAlbumRepository.BandExists(bandID))
            {
                return(NotFound());
            }

            var albumFromRepo = _bandAlbumRepository.GetAlbum(bandID, albumID);

            if (albumFromRepo is null)
            {
                var albumToAdd = _mapper.Map <Entities.Album>(album);
                _bandAlbumRepository.AddAlbum(bandID, albumToAdd);
                _bandAlbumRepository.Save();

                var returnAlbum = _mapper.Map <AlbumDto>(albumToAdd);

                return(CreatedAtRoute("GetAlbumsForBand", new { bandID = bandID, albumID = returnAlbum.ID }, returnAlbum));
            }

            _mapper.Map(album, albumFromRepo);

            _bandAlbumRepository.UpdateAlbum(albumFromRepo);
            _bandAlbumRepository.Save();

            return(NoContent());
        }
Esempio n. 2
0
        public ActionResult UpdateAlbumForBand(Guid bandId, Guid albumId, [FromBody] AlbumForUpdatingDto album)

        {
            if (!_bandAlbumRepository.BandExists(bandId))
            {
                return(NotFound());
            }

            var albumFromRepo = _bandAlbumRepository.GetAlbum(bandId, albumId);

            if (albumFromRepo == null)

            {
                var albumToAdd = _mapper.Map <Entities.Album>(album);
                albumToAdd.Id = albumId;
                _bandAlbumRepository.AddAlbum(bandId, albumToAdd);
                _bandAlbumRepository.Save();

                var albumToReturn = _mapper.Map <AlbumsDto>(albumToAdd);

                return(CreatedAtRoute("GetAlbumForBand", new { bandId = bandId, albumId = albumToReturn.Id }, albumToReturn));
            }

            _mapper.Map(album, albumFromRepo);
            _bandAlbumRepository.UpdateAlbum(albumFromRepo);
            _bandAlbumRepository.Save();


            return(NoContent());
        }
        public async Task <ActionResult <AlbumDto> > UpdateAlbumForBand(Guid bandId, Guid albumId, [FromBody] AlbumForUpdatingDto album)
        {
            if (!await _bandAlbumRepository.BandExists(bandId))
            {
                return(NotFound());
            }

            //if (!await _bandAlbumRepository.AlbumExists(albumId))
            //    return NotFound();


            var albumFromRepo = await _bandAlbumRepository.GetAlbum(bandId, albumId);

            if (albumFromRepo == null)
            {
                var albumToAdd = _mapper.Map <Album>(album);
                albumToAdd.Id = albumId;
                _bandAlbumRepository.AddAlbum(bandId, albumToAdd);

                await _bandAlbumRepository.Save();

                var upsertingAlbumToReturn = _mapper.Map <AlbumDto>(albumToAdd);

                return(CreatedAtRoute(
                           "GetAlbumForBand",
                           new { bandId = bandId, albumId = upsertingAlbumToReturn.Id },
                           upsertingAlbumToReturn
                           ));
            }

            //var albumEntity = _mapper.Map<Album>(album);

            _mapper.Map(album, albumFromRepo); // replace the albumFromRepo by album

            _bandAlbumRepository.UpdateAlbum(albumFromRepo);
            await _bandAlbumRepository.Save();

            var albumToReturn = _mapper.Map <AlbumDto>(albumFromRepo);

            return(CreatedAtRoute(
                       "GetAlbumForBand",
                       new { bandId = bandId, albumId = albumToReturn.Id },
                       albumToReturn
                       ));
        }
Esempio n. 4
0
        public ActionResult UpdateAlbumForBand(Guid bandId, Guid albumId, [FromBody] AlbumForUpdatingDto album)
        {
            if (!_bandAlbumRepository.BandExists(bandId))
            {
                return(NotFound());
            }

            var albumFromRepo = _bandAlbumRepository.GetAlbum(bandId, albumId);

            if (albumFromRepo == null)
            {
                return(NotFound());
            }
            _mapper.Map(album, albumFromRepo);
            _bandAlbumRepository.UpdateAlbum(albumFromRepo);
            _bandAlbumRepository.Save();

            return(NoContent());
        }
Esempio n. 5
0
        public ActionResult UpdateAlbum(UpdateAlbumDto albumDto)
        {
            var albumFromRepo = _repository.GetAlbum(albumDto.Id);

            if (albumFromRepo == null)
            {
                return(NotFound());
            }
            _mapper.Map(albumDto, albumFromRepo);
            _repository.UpdateAlbum(albumFromRepo);
            _repository.Save();
            return(NoContent());
        }
Esempio n. 6
0
        public ActionResult UpdateAlbumForBand(Guid bandId, Guid albumId,
                                               [FromBody] AlbumUpdateDTO album)
        {
            if (!_bandAlbumRepository.BandExists(bandId))
            {
                return(NotFound());
            }
            var albumFromRepository = _bandAlbumRepository.GetAlbum(bandId, albumId);

            if (albumFromRepository == null)
            {
                var albumEntity = _mapper.Map <Album>(album);
                albumEntity.Id = albumId;
                _bandAlbumRepository.AddAlbum(bandId, albumEntity);
                _bandAlbumRepository.Save();
                var albumReturn = _mapper.Map <AlbumDTO>(albumEntity);
                return(CreatedAtRoute("GetAlbum", new { bandId = bandId, albumId = albumReturn.Id }, albumReturn));
            }
            _mapper.Map(album, albumFromRepository);
            _bandAlbumRepository.UpdateAlbum(albumFromRepository);
            _bandAlbumRepository.Save();
            return(NoContent());
        }