Example #1
0
        public async void Run(IBackgroundTaskInstance taskInstance)
        {
            var deferral = taskInstance.GetDeferral();
            var posts    = await SQLOperator.Current().GetPodcastListBriefAsync();

            var tasks = new List <Task>();

            foreach (var item in posts)
            {
                tasks.Add(Task.Run(async() =>
                {
                    var p = new Podcast(item);
                    try
                    {
                        if (await p.FindUpdated() && Settings.Current.IsPodcastToast)
                        {
                            Toast.SendPodcast(p);
                            Tile.UpdatePodcast($"podcast{p.ID}", p);
                        }
                    }
                    catch (Exception)
                    {
                    }
                }));
            }
            await Task.WhenAll(tasks);

            deferral.Complete();
        }