Beispiel #1
0
        /// <summary>
        /// Adds a new album into the users main collection.

        /// </summary>
        /// <param name="albumToCollectionDTO">Object</param>
        /// <returns>True if no errors</returns>
        public bool AddNewAlbumToMainCollection(AlbumToCollectionDTO albumToCollectionDTO)
        {
            using (var db = new SqlConnection(_connectionString))
            {
                var  album = albumToCollectionDTO.NewAlbum;
                Guid albumId;
                // First checks to see if album has already been added into Discdig DB from Discog DB
                var albumCheck = _albumRepo.GetAlbumIdByDiscogId(album.DiscogId);
                if (albumCheck == default)
                {
                    // adds the album id into Discdig DB
                    albumId = _albumRepo.AddNewAlbumToDatabase(album);
                }
                else
                {
                    // sets the album id to what is returned from the check
                    albumId = albumCheck;
                }
                var mainId     = GetUsersMainCollectionId(albumToCollectionDTO.UserId);
                var sql        = @"INSERT INTO [CollectionAlbum]
                        (
                            [CollectionId],
                            [AlbumId]
                        )
                            VALUES
                        (
                            @mainId,
                            @albumId
                        )";
                var parameters = new { albumId, mainId };
                return(db.Execute(sql, parameters) == 1);
            }
        }
 public IActionResult AddNewAlbumToCollection(AlbumToCollectionDTO albumToCollectionDTO)
 {
     if (_repo.AddNewAlbumToMainCollection(albumToCollectionDTO))
     {
         return(Created($"collection/{albumToCollectionDTO.NewAlbum.Title}", albumToCollectionDTO));
     }
     else
     {
         return(BadRequest());
     }
 }