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; }
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(); } }