コード例 #1
0
        public void TestAddUpdateRemove()
        {
            AlbumPlayedDatabase albumPlayedDatabase = new AlbumPlayedDatabase(_settingsLookup[ConnectionKey]);

            GetTestAlbumPlayed(out var name, out AlbumPlayed albumPlayed);

            // Test album played is not there
            Assert.IsNotNull(albumPlayedDatabase.LoadedItems);
            int           numberInitialItems = albumPlayedDatabase.LoadedItems.Count;
            List <string> userNames          = albumPlayedDatabase.LoadedItems.ToList().Select(x => x.Album).ToList();

            Assert.IsFalse(userNames.Contains(name));

            // Add new album played
            albumPlayedDatabase.AddNewItemToDatabase(albumPlayed);
            albumPlayedDatabase.ConnectToDatabase();
            Assert.AreNotEqual(numberInitialItems, albumPlayedDatabase.LoadedItems.Count);
            Assert.AreEqual(1, albumPlayedDatabase.LoadedItems.Count - numberInitialItems);
            List <string> userNames2 = albumPlayedDatabase.LoadedItems.ToList().Select(x => x.Album).ToList();

            Assert.IsTrue(userNames2.Contains(name));

            // Update the album played to have different album name
            albumPlayed.Album = UpdatedAlbumName;
            albumPlayedDatabase.UpdateDatabaseItem(albumPlayed);
            albumPlayedDatabase.ConnectToDatabase();
            List <string> userNames3 = albumPlayedDatabase.LoadedItems.ToList().Select(x => x.Album).ToList();

            Assert.IsTrue(userNames3.Contains(UpdatedAlbumName));

            // Remove the new album played
            albumPlayedDatabase.RemoveItemFromDatabase(albumPlayed);
            albumPlayedDatabase.ConnectToDatabase();

            Assert.AreEqual(albumPlayedDatabase.LoadedItems.Count, numberInitialItems);
            List <string> userNames4 = albumPlayedDatabase.LoadedItems.ToList().Select(x => x.Album).ToList();

            Assert.IsFalse(userNames4.Contains(UpdatedAlbumName));
        }
コード例 #2
0
        public IActionResult UpdateAlbum([FromBody] DisplayAlbum existingAlbum)
        {
            // set up the successful response
            AlbumPlayedAddResponse response = new AlbumPlayedAddResponse
            {
                ErrorCode  = (int)UserResponseCode.Success,
                Album      = new DisplayAlbum(existingAlbum),
                FailReason = "",
                UserId     = ""
            };

            // Find the item
            lock (Lock)
            {
                var itemToUpdate =
                    _albumPlayedDatabase.LoadedItems.FirstOrDefault(x => x.Id.ToString() == existingAlbum.Id);

                if (itemToUpdate == null)
                {
                    response.ErrorCode  = (int)UserResponseCode.UnknownItem;
                    response.FailReason = "Could not find item";
                }
                else
                {
                    itemToUpdate.Date       = existingAlbum.Date;
                    itemToUpdate.Location   = existingAlbum.Location;
                    itemToUpdate.Artist     = existingAlbum.Artist;
                    itemToUpdate.Album      = existingAlbum.Album;
                    itemToUpdate.ImagePath  = existingAlbum.ImagePath;
                    itemToUpdate.PlayerLink = existingAlbum.PlayerLink;

                    _albumPlayedDatabase.UpdateDatabaseItem(itemToUpdate);
                }
            }

            return(Ok(response));
        }