private void PopulateSeasons(VM_CrossRef_AniDB_TvDBV2 xref) { cboSeason.SelectionChanged -= new SelectionChangedEventHandler(cboSeason_SelectionChanged); cboSeason.Items.Clear(); TvDetails = null; if (Anime.TvSummary.TvDetails.ContainsKey(xref.TvDBID)) { TvDetails = Anime.TvSummary.TvDetails[xref.TvDBID]; } if (TvDetails == null) { return; } foreach (int season in TvDetails.DictTvDBSeasons.Keys) { cboSeason.Items.Add(season); } cboSeason.SelectionChanged += new SelectionChangedEventHandler(cboSeason_SelectionChanged); if (cboSeason.Items.Count > 0) { cboSeason.SelectedIndex = 0; } }
private void CommandBinding_ReportTvDBLink(object sender, ExecutedRoutedEventArgs e) { object obj = e.Parameter; if (obj == null) { return; } try { if (obj.GetType() == typeof(VM_CrossRef_AniDB_TvDBV2)) { VM_CrossRef_AniDB_TvDBV2 link = obj as VM_CrossRef_AniDB_TvDBV2; VM_AniDB_Anime anime = DataContext as VM_AniDB_Anime; if (anime == null) { return; } Cursor = Cursors.Wait; } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { Cursor = Cursors.Arrow; } }
private void CommandBinding_DeleteTvDBLink(object sender, ExecutedRoutedEventArgs e) { object obj = e.Parameter; if (obj == null) { return; } try { if (obj.GetType() == typeof(VM_CrossRef_AniDB_TvDBV2)) { VM_CrossRef_AniDB_TvDBV2 link = obj as VM_CrossRef_AniDB_TvDBV2; VM_AniDB_Anime anime = DataContext as VM_AniDB_Anime; if (anime == null) { return; } Cursor = Cursors.Wait; Window wdw = Window.GetWindow(this); string msg = string.Format(Shoko.Commons.Properties.Resources.CommunityLinks_DeleteLink); MessageBoxResult result = MessageBox.Show(msg, Shoko.Commons.Properties.Resources.Confirm, MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { Cursor = Cursors.Wait; string res = VM_ShokoServer.Instance.ShokoServices.RemoveLinkAniDBTvDB(link.AnimeID, link.AniDBStartEpisodeType, link.AniDBStartEpisodeNumber, link.TvDBID, link.TvDBSeasonNumber, link.TvDBStartEpisodeNumber); if (res.Length > 0) { MessageBox.Show(res, Shoko.Commons.Properties.Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error); } else { // update info RefreshData(); } Cursor = Cursors.Arrow; } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { Cursor = Cursors.Arrow; } }
void dgTvDBResults_SelectionChanged(object sender, SelectionChangedEventArgs e) { e.Handled = true; VM_CrossRef_AniDB_TvDBV2 xref = ((DataGrid)sender).SelectedItem as VM_CrossRef_AniDB_TvDBV2; if (xref == null) { return; } ShowAniDBWebPage(xref.GetAniDBURL()); ShowOtherWebPage(xref.GetSeriesURL()); }
private void CommandBinding_Revoke(object sender, ExecutedRoutedEventArgs e) { Window parentWindow = Window.GetWindow(this); object obj = e.Parameter; if (obj == null) { return; } try { if (obj.GetType() == typeof(VM_CrossRef_AniDB_TvDBV2)) { VM_CrossRef_AniDB_TvDBV2 xref = obj as VM_CrossRef_AniDB_TvDBV2; string res = VM_ShokoServer.Instance.ShokoServices.RevokeTVDBCrossRefWebCache(xref.CrossRef_AniDB_TvDBV2ID); if (string.IsNullOrEmpty(res)) { xref.IsAdminApproved = 0; } else { MessageBox.Show(res, Shoko.Commons.Properties.Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error); } } if (obj.GetType() == typeof(VM_CrossRef_AniDB_TraktV2)) { VM_CrossRef_AniDB_TraktV2 xref = obj as VM_CrossRef_AniDB_TraktV2; string res = VM_ShokoServer.Instance.ShokoServices.RevokeTraktCrossRefWebCache(xref.CrossRef_AniDB_TraktV2ID); if (string.IsNullOrEmpty(res)) { xref.IsAdminApproved = 0; } else { MessageBox.Show(res, Shoko.Commons.Properties.Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error); } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
private void CommandBinding_EditTvDBLink(object sender, ExecutedRoutedEventArgs e) { object obj = e.Parameter; if (obj == null) { return; } try { if (obj.GetType() == typeof(VM_CrossRef_AniDB_TvDBV2)) { VM_CrossRef_AniDB_TvDBV2 link = obj as VM_CrossRef_AniDB_TvDBV2; VM_AniDB_Anime anime = DataContext as VM_AniDB_Anime; if (anime == null) { return; } Window wdw = Window.GetWindow(this); Cursor = Cursors.Wait; SelectTvDBSeasonForm frm = new SelectTvDBSeasonForm(); frm.Owner = wdw; //TODO frm.Init(anime.AnimeID, anime.FormattedTitle, (EpisodeType)link.AniDBStartEpisodeType, link.AniDBStartEpisodeNumber, link.TvDBID, link.TvDBSeasonNumber, link.TvDBStartEpisodeNumber, link.TvDBTitle, anime); bool?result = frm.ShowDialog(); if (result.Value) { // update info RefreshData(); } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { Cursor = Cursors.Arrow; } }
void cboSeries_SelectionChanged(object sender, SelectionChangedEventArgs e) { VM_CrossRef_AniDB_TvDBV2 xref = cboSeries.SelectedItem as VM_CrossRef_AniDB_TvDBV2; PopulateSeasons(xref); }