Exemple #1
0
        public void Check()
        {
            var songs = repository.LoadByStatus(Song.SongStatus.Idle);

            foreach (var song in songs)
            {
                // Update status before adding
                song.Status = Song.SongStatus.WaitCheck;
                repository.Update(song);

                // Add song to Download Queue
                checker.GetSongQueue().Enqueue(song);
            }

            if (isTaskActive(checkerTask))
            {
                // already running
                return;
            }

            checkerTask = new Task(() => checker.StartCheck());
            checkerTask.Start();
        }