コード例 #1
0
        public void SeedLibrarySongs()
        {
            //if (!_context.LibrarySong.Any())
            //{
            var random = new Random();

            var libraries    = _context.Libraries.ToList();
            var librarySongs = new List <LibrarySong>();

            foreach (var library in libraries)
            {
                if (!_context.LibrarySong.Where(l => l.Id == library.Id).Any())
                {
                    var songs        = _context.Songs.ToList();
                    var addedSongIds = new List <Guid>();

                    for (var i = 0; i < SONGS_PER_LIBRARY_NR; i++)
                    {
                        var librarySong = new LibrarySong()
                        {
                            Id        = Guid.NewGuid(),
                            LibraryId = library.Id,
                            SongId    = songs.Where(s => !addedSongIds.Contains(s.Id)).ElementAt(random.Next(0, songs.Count - addedSongIds.Count)).Id
                        };

                        addedSongIds.Add(librarySong.Id);

                        librarySongs.Add(librarySong);
                    }

                    _context.LibrarySong.AddRange(librarySongs);
                }
            }
            _context.SaveChanges();
        }
コード例 #2
0
        public void AddSongToLibrary(Guid libraryId, Guid songId)
        {
            var libSong = new LibrarySong()
            {
                Id        = Guid.NewGuid(),
                LibraryId = libraryId,
                SongId    = songId
            };

            _context.LibrarySong.Add(libSong);
            _context.SaveChanges();
        }