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);
            }
        }
        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;
                }
            }
        }
        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;
                }
            }
        }
예제 #5
0
        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);
            }
        }
예제 #6
0
 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");
 }