void saveNewCastsToDb(Feed feed, RssHelper rssFeed) { int newCasts = 0; foreach (var rss in rssFeed.RssDnldInfos) { //Application.Current.Dispatcher.BeginInvoke(new Action(() => { // new Func<bool>(() => //tu: new Action(() => DnLd dl; if (SaveToDnldRow_IsDnldRequired(feed, rss, out dl)) { Application.Current.Dispatcher.BeginInvoke(new Action(() => { if (!CurrentDnLds.Contains(dl)) { CurrentDnLds.Add(dl); } })); newCasts++; //? better wait for all feeds check to finish and then move on to dnlding: if (IsAutoNextStep) Dh.StartDownload(db, dl, dgD); //Dh.LaunchIfDownloadRequiredMvvm(dl, ((DataGrid)dgD)); } //})); } feed.CastQntNew = newCasts; feed.CastQntTtl = rssFeed.RssDnldInfos.Count; feed.StatusInfo = $"{newCasts} / {rssFeed.RssDnldInfos.Count}"; //update feed with counts of new casts feed.LastCheckedAt = _now; }
void onDnldOne(object dgD) { Bpr.BeepOk(); SelectedDnLd.ReDownload = true; //Application.Current.Dispatcher.BeginInvoke(new Action(() => { if (!CurrentDnLds.Contains(SelectedDnLd)) { CurrentDnLds.Add(SelectedDnLd); } //})); onStartDnlds(dgD); // StartDownload(SelectedDnLd, ((DataGrid)dgD)); }
void onLoadExistingAudioFiles(object notUsed) { if (!Directory.Exists(MiscHelper.DirPlyr)) { Directory.CreateDirectory(MiscHelper.DirPlyr); } foreach (var file in Directory.GetFiles(MiscHelper.DirPlyr)) { if (!".m4a.mp3.wma.wav".Contains(Path.GetExtension(file).ToLower())) { continue; } Debug.WriteLine(file, "Load FS exist-g"); if (CurrentDnLds.FirstOrDefault(r => file.Contains(r.CastFilenameExt)) != null) { continue; // already there } var t = Db.DnLds.FirstOrDefault(r => file.Contains(r.CastFilenameExt)); if (t == null) { Db.DnLds.Where(r => file.Contains(r.CastFilenameExt)).OrderByDescending(r => r.PublishedAt).Load(); t = Db.DnLds.FirstOrDefault(r => file.Contains(r.CastFilenameExt)); if (t == null) { t = Db.DnLds.FirstOrDefault(r => file.Contains(r.CastFilenameExt)); } if (t == null) { Debug.WriteLine(" not in _db yet; strange."); } } if (t != null) { CurrentDnLds.Add(t); } } Bpr.BeepOk(); }