public DiscogsSelectReleaseWindow(string initialData = null) { this.discogs = new Discogs3(); InitializeComponent(); int releaseId = 0; if (releaseId == 0 && initialData != null) { releaseId = DiscogsUtility.GetReleaseId(initialData); } if (releaseId == 0 && Clipboard.ContainsText()) { releaseId = DiscogsUtility.GetReleaseId(Clipboard.GetText()); } if (releaseId != 0) { textReleaseId.Text = Clipboard.GetText(); DownloadRelease(releaseId); } else { HideRelease(StatusNoRelease); } }
private void Worker() { Discogs3 discogs = new Discogs3(); Release[] releases = this.CollectionManager.Releases.Where(r => r.DiscogsReleaseId != 0 && r.DiscogsMasterId == 0).ToArray(); this.Dispatcher.BeginInvokeAction(delegate { this.progressBar.Maximum = releases.Length; this.textBox.Text += releases.Length + " releases to process." + Environment.NewLine; this.textBox.ScrollToEnd(); }); int processed = 0; foreach (var release in releases) { string releaseMessage; try { this.Dispatcher.BeginInvokeAction(delegate { this.textBox.Text += (processed + 1) + "/" + releases.Length + ": Requesting " + release.DiscogsReleaseId + Environment.NewLine; this.textBox.ScrollToEnd(); }); DiscogsNet.Model.Release discogsRelease = discogs.GetRelease(release.DiscogsReleaseId); //using (var transaction = this.CollectionManager.BeginTransaction()) //{ release.DiscogsMasterId = discogsRelease.MasterId; this.CollectionManager.Save(release); //transaction.Commit(); //} releaseMessage = (processed + 1) + "/" + releases.Length + ": Successful update"; } catch (Exception e) { releaseMessage = (processed + 1) + "/" + releases.Length + ": Error - " + e; } ++processed; this.Dispatcher.BeginInvokeAction(delegate { this.textBox.Text += releaseMessage + Environment.NewLine; this.textBox.ScrollToEnd(); this.progressBar.Value = processed; }); if (this.shouldCancel) { break; } } }
public MainWindow() { InitializeComponent(); this.discogs = new Discogs3(); int releaseId = -1; if (Clipboard.ContainsText() && Clipboard.GetText().StartsWith("http://www.discogs.com/")) { releaseId = this.GetReleaseId(Clipboard.GetText()); } if (releaseId != -1) { this.textReleaseId.Text = Clipboard.GetText(); this.DownloadRelease(releaseId); } else { this.HideRelease(StatusNoRelease); } }
public Discogs(string artist, string title, WaitHandle mEventStopSiteSearches, int timeLimit) : base(artist, title, mEventStopSiteSearches, timeLimit) { _discogs = new Discogs3("MPTagThat/3.2 +http://www.team-mediaportal.com"); }