Esempio n. 1
0
        void postShoutWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            Trakt_ShoutPost shout = e.Argument as Trakt_ShoutPost;

            string msg = "";

            try
            {
                JMMServerVM.Instance.clientBinaryHTTP.PostShoutShow(shout.AnimeID, shout.ShoutText, shout.Spoiler, ref msg);
            }
            catch (Exception ex)
            {
                e.Result = ex.Message;
                return;
            }

            e.Result = msg;
        }
Esempio n. 2
0
        void btnSubmitShout_Click(object sender, RoutedEventArgs e)
        {
            AnimeSeriesVM animeSeries = (AnimeSeriesVM)this.DataContext;

            if (animeSeries == null)
            {
                Utils.ShowErrorMessage("Anime series info not found");
                txtShoutNew.Focus();
                return;
            }

            string shoutText = txtShoutNew.Text.Trim();

            if (string.IsNullOrEmpty(shoutText))
            {
                Utils.ShowErrorMessage("Please enter text for your shout");
                txtShoutNew.Focus();
                return;
            }

            if (shoutText.Length > 2000)
            {
                Utils.ShowErrorMessage(string.Format("Shout text must be less than 2000 characters ({0})", shoutText.Length));
                txtShoutNew.Focus();
                return;
            }

            btnRefresh.IsEnabled     = false;
            btnSubmitShout.IsEnabled = false;

            this.Cursor = Cursors.Wait;
            IsLoading   = true;

            Trakt_ShoutPost shout = new Trakt_ShoutPost();

            shout.AnimeID   = animeSeries.AniDB_ID;
            shout.ShoutText = shoutText;
            shout.Spoiler   = chkSpoiler.IsChecked.Value;

            postShoutWorker.RunWorkerAsync(shout);
        }
        void btnSubmitShout_Click(object sender, RoutedEventArgs e)
        {
            AnimeSeriesVM animeSeries = (AnimeSeriesVM)this.DataContext;

            if (animeSeries == null)
            {
                Utils.ShowErrorMessage("Anime series info not found");
                txtShoutNew.Focus();
                return;
            }

            string shoutText = txtShoutNew.Text.Trim();

            if (string.IsNullOrEmpty(shoutText))
            {
                Utils.ShowErrorMessage("Please enter text for your shout");
                txtShoutNew.Focus();
                return;
            }

            if (shoutText.Length > 2000)
            {
                Utils.ShowErrorMessage(string.Format("Shout text must be less than 2000 characters ({0})", shoutText.Length));
                txtShoutNew.Focus();
                return;
            }

            btnRefresh.IsEnabled     = false;
            btnSubmitShout.IsEnabled = false;

            if (animeSeries.AniDB_Anime.traktSummary != null)
            {
                string traktID = string.Empty;

                // check to  see if this series is linked to more than one Trakt series
                if (animeSeries.AniDB_Anime.traktSummary.traktDetails == null ||
                    animeSeries.AniDB_Anime.traktSummary.traktDetails.Count == 0)
                {
                    Utils.ShowErrorMessage(string.Format("Cannot shout where a series does not have a Trakt show linked"));
                    txtShoutNew.Focus();
                    return;
                }

                // check to  see if this series is linked to more than one Trakt series
                if (animeSeries.AniDB_Anime.traktSummary.traktDetails != null &&
                    animeSeries.AniDB_Anime.traktSummary.traktDetails.Count > 1)
                {
                    Utils.ShowErrorMessage(string.Format("Cannot shout where a series has more than one Trakt show linked"));
                    txtShoutNew.Focus();
                    return;
                }

                if (animeSeries.AniDB_Anime.traktSummary.traktDetails != null &&
                    animeSeries.AniDB_Anime.traktSummary.traktDetails.Count == 1)
                {
                    this.Cursor = Cursors.Wait;
                    IsLoading   = true;

                    foreach (KeyValuePair <string, TraktDetails> kvp in animeSeries.AniDB_Anime.traktSummary.traktDetails)
                    {
                        traktID = kvp.Key;
                    }

                    Trakt_ShoutPost shout = new Trakt_ShoutPost();
                    shout.TraktID   = traktID;
                    shout.AnimeID   = animeSeries.AniDB_ID;
                    shout.ShoutText = shoutText;
                    shout.Spoiler   = chkSpoiler.IsChecked.Value;

                    postShoutWorker.RunWorkerAsync(shout);
                }
            }
            else
            {
                Utils.ShowErrorMessage(string.Format("Cannot shout where a series does not have a Trakt show linked"));
                txtShoutNew.Focus();
            }
        }