public IActionResult DeleteTheseAlbumsFromTheCollection(AlbumsToDelete albumsToDelete) { if (_repo.DeleteTheseAlbumsFromTheCollection(albumsToDelete)) { return(Ok()); } else { return(BadRequest()); } }
/// <summary> /// Deletes the selected subcollection /// </summary> /// <param name="id">Subcollection Unique Id</param> /// <returns>True if no errors thrown</returns> public bool DeleteThisSubcollection(Guid id) { using (var db = new SqlConnection(_connectionString)) { var albums = AlbumIdsForSubcollection(id); var deleteThese = new AlbumsToDelete(); deleteThese.CollectionId = id; deleteThese.DeleteTheseAlbums = albums.ToList(); DeleteTheseAlbumsFromTheCollection(deleteThese); var sql = @"DELETE FROM [Collection] WHERE [Id] = @id"; var parameters = new { id }; return(db.Execute(sql, parameters) >= 1); } }
/// <summary> /// Deletes selected albums from a selected collection /// </summary> /// <param name="albumsToDelete">Onhect</param> /// <returns>True if no errors</returns> public bool DeleteTheseAlbumsFromTheCollection(AlbumsToDelete albumsToDelete) { using (var db = new SqlConnection(_connectionString)) { var userId = GetUserIdFromCollectionId(albumsToDelete.CollectionId); if (albumsToDelete.CollectionId == GetUsersMainCollectionId(userId)) { var SubIds = GetSubCollectionIdsByUserId(userId); var sql2 = @"DELETE FROM [CollectionALbum] WHERE [CollectionId] IN @SubIds AND [AlbumId] IN @deleteTheseAlbums"; var deleteTheseAlbums = albumsToDelete.DeleteTheseAlbums; var parameters = new { SubIds, deleteTheseAlbums }; db.Execute(sql2, parameters); } var sql = @"DELETE FROM [CollectionAlbum] WHERE [CollectionId] = @collectionId AND [AlbumId] in @deleteTheseAlbums"; return(db.Execute(sql, albumsToDelete) >= 1); } }