public async Task RefreshPodcasts() { Transaction transaction = null; IEnumerable <Podcast> podcasts = null; IEnumerable <Task <Podcast> > tasks = null; try { transaction = await transactionService.GetNewTransaction(TransactionTypes.RefreshPodcast); podcasts = await dataService.GetList <Podcast>(); tasks = podcasts.Select(podcast => podcastService.RefreshPodcast(podcast)); await Task.WhenAll(tasks); } catch (Exception ex) { await transactionService.UpdateTransactionErrored(transaction, ex); } }