Ejemplo n.º 1
0
        public void TestAddRemove()
        {
            AlbumPlayedDatabase albumPlayedDatabase = new AlbumPlayedDatabase(_settingsLookup[ConnectionKey]);

            GetTestAlbumPlayed(out var name, out AlbumPlayed albumPlayed);

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

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

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

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

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

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

            Assert.IsFalse(albumNames3.Contains(name));
        }
Ejemplo n.º 2
0
        private void RemoveExistingItemsForUser(string userName)
        {
            lock (Lock)
            {
                if (_albumPlayedDatabase.LoadedItems.Any(x => x.UserName == userName))
                {
                    List <AlbumPlayed> itemsToRemove =
                        _albumPlayedDatabase.LoadedItems.Where(x => x.UserName == userName).ToList();

                    if (itemsToRemove.Any())
                    {
                        foreach (AlbumPlayed item in itemsToRemove)
                        {
                            _albumPlayedDatabase.RemoveItemFromDatabase(item);
                        }
                    }
                }
            }
        }