Example #1
0
        public async Task <IActionResult> AddNewAlbum(AlbumForCreatingDto dto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(dto));
                }

                var currentUserId = userManager.GetUserId(User);
                dto.OwenerId = currentUserId;

                await unitOfWork.Albums.AddAsync(dto);

                if (!await unitOfWork.SaveAsync())
                {
                    // ToDo: Implement error page
                    return(View("ErrorSaving"));
                }

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                logger.LogError(ex, "An error occurred while deleting song.");
            }
            // ToDo: Implement error page
            return(View("ErrorSaving"));
        }
Example #2
0
        public async Task <IActionResult> CreateAlbum([FromBody] AlbumForCreatingDto dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            try
            {
                // Set the owner of this song to the current signedIn user
                var currentUserId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
                dto.OwenerId = currentUserId;

                var albumEntity = await unitOfWork.Albums.AddAsync(dto);

                if (!await unitOfWork.SaveAsync())
                {
                    throw new Exception("Creating Album failed on save.");
                }

                var album = mapper.Map <Album>(albumEntity);
                return(StatusCode(201, album));
            }
            catch (Exception ex)
            {
                logger.LogError(ex, "An error occurred while creating album.", dto);
                return(StatusCode(500));
            }
        }
Example #3
0
        public async Task <AlbumEntity> AddAsync(AlbumForCreatingDto dto)
        {
            var albumEntity = mapper.Map <AlbumEntity>(dto);

            await context.Albums.AddAsync(albumEntity);

            return(albumEntity);
        }
Example #4
0
        public ActionResult <AlbumDto> CreateAlbumForBand(Guid bandId, [FromBody] AlbumForCreatingDto album)
        {
            var albumEntity = _mapper.Map <Entities.Album>(album);

            _bandAlbumRepository.AddAlbum(bandId, albumEntity);
            _bandAlbumRepository.Save();

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

            return(CreatedAtRoute("GetAlbumForBand", new { bandId = bandId, albumId = albumToReturn.Id }, albumToReturn));
        }
        public ActionResult <AlbumDto> CreateForAlbumForBand(Guid bandId, [FromBody] AlbumForCreatingDto _album)
        {
            if (!_bandAlbumRepository.BandExists(bandId))
            {
                return(NotFound());
            }
            var AlbumEntity = _mapper.Map <Album>(_album);

            _bandAlbumRepository.AddAlbum(bandId, AlbumEntity);
            _bandAlbumRepository.Save();
            var AlbumToReturn = _mapper.Map <AlbumDto>(AlbumEntity);

            return(CreatedAtRoute("GetAlbumForBand", new { bandId = AlbumToReturn.BandId, albumId = AlbumToReturn.Id }, AlbumToReturn));
        }
        public ActionResult<AlbumDto> CreateAlbumForBand(Guid bandId, [FromBody] AlbumForCreatingDto album)
        {
            if (!_bandAlbumRepository.BandExists(bandId))
            {
                return NotFound();
            }

            Album albumEntity = _mapper.Map<Album>(album);
            _bandAlbumRepository.AddAlbum(bandId, albumEntity);
            _bandAlbumRepository.Save();

            AlbumDto albumToReturn = _mapper.Map<AlbumDto>(albumEntity);

            return CreatedAtRoute("GetAlbumForBand", new { bandId = bandId, albumId = albumToReturn.Id }, albumToReturn);
        }
Example #7
0
        public ActionResult <AlbumDto> CreateAlbumForBand(Guid bandID, [FromBody] AlbumForCreatingDto album)
        {
            if (!_bandAlbumRepository.BandExists(bandID))
            {
                return(NotFound());
            }

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

            _bandAlbumRepository.AddAlbum(bandID, albumEntity);
            _bandAlbumRepository.Save();

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

            return(CreatedAtRoute("GetAlbumsForBand", new { bandID = bandID, albumID = returnAlbum.ID }, returnAlbum));
        }
Example #8
0
        public ActionResult <AlbumsDto> CreateAlbumForBand(Guid bandId, [FromBody] AlbumForCreatingDto album)
        {
            if (!_bandAlbumRepository.BandExists(bandId))
            {
                return(NotFound());
            }

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

            _bandAlbumRepository.AddAlbum(bandId, albumEntity);
            _bandAlbumRepository.Save();

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

            return(CreatedAtRoute(nameof(GetAlbumForBand), new { bandId = bandId, albumId = albumToReturn.Id }, albumToReturn));
        }
        public ActionResult <AlbumsDto> CreateAlbumForBand(Guid bandId, [FromBody] AlbumForCreatingDto album)
        {
            if (!_bandAlbumRepository.BandExists(bandId))
            {
                return(NotFound());
            }

            var albumEntity = _mapper.Map <Entities.Album>(album); //map to a object the database understands

            _bandAlbumRepository.AddAlbum(bandId, albumEntity);
            _bandAlbumRepository.Save();

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

            return(CreatedAtRoute("GetAlbumForBand",
                                  new { bandId = bandId, albumId = albumToReturn.Id }, albumToReturn)); //return a location header and 201 created response
        }
        public async Task <ActionResult <AlbumDto> > CreateNewAlbum(Guid bandId, [FromBody] AlbumForCreatingDto album)
        {
            // Checking if the band Exist
            if (!await _bandAlbumRepository.BandExists(bandId))
            {
                return(NotFound());
            }

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

            _bandAlbumRepository.AddAlbum(bandId, albumEntity);
            await _bandAlbumRepository.Save();

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

            return(CreatedAtRoute(
                       "GetAlbumForBand",
                       new { bandId = bandId, albumId = albumToReturn.Id },
                       albumToReturn
                       ));
        }
Example #11
0
        public async Task Add_Album_Should_Persiste()
        {
            using (var factory = new MusicStoreContextFactory())
            {
                using (var context = factory.CreateMusicStoreContext())
                {
                    var unitOfWork = new UnitOfWork(context, _mapper);

                    var album = new AlbumForCreatingDto
                    {
                        Name = "First Album"
                    };

                    await unitOfWork.Albums.AddAsync(album);

                    await unitOfWork.SaveAsync();
                }
                using (var context = factory.CreateMusicStoreContext())
                {
                    Assert.NotNull(context.Albums.First());
                }
            }
        }