private void CommandBinding_EditMALLink(object sender, ExecutedRoutedEventArgs e) { object obj = e.Parameter; if (obj == null) { return; } try { AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM; if (anime == null) { return; } if (obj.GetType() == typeof(CrossRef_AniDB_MALVM)) { this.Cursor = Cursors.Wait; CrossRef_AniDB_MALVM malLink = obj as CrossRef_AniDB_MALVM; // prompt to select details Window wdw = Window.GetWindow(this); SelectMALStartForm frm = new SelectMALStartForm(); frm.Owner = wdw; frm.Init(malLink.AnimeID, anime.FormattedTitle, malLink.MALTitle, malLink.MALID, malLink.StartEpisodeType, malLink.StartEpisodeNumber); bool?result = frm.ShowDialog(); if (result.Value) { // update info RefreshData(); } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { this.Cursor = Cursors.Arrow; } }
private void CommandBinding_EditMALLink(object sender, ExecutedRoutedEventArgs e) { object obj = e.Parameter; if (obj == null) { return; } try { if (!(DataContext is VM_AniDB_Anime anime)) { return; } if (obj is CrossRef_AniDB_MAL) { Cursor = Cursors.Wait; VM_CrossRef_AniDB_MAL malLink = obj as VM_CrossRef_AniDB_MAL; // prompt to select details Window wdw = Window.GetWindow(this); SelectMALStartForm frm = new SelectMALStartForm(); frm.Owner = wdw; frm.Init(malLink.AnimeID, anime.FormattedTitle, malLink.MALTitle, malLink.MALID, malLink.StartEpisodeType, malLink.StartEpisodeNumber); bool?result = frm.ShowDialog(); if (result != null && result.Value) { RefreshData(); } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { Cursor = Cursors.Arrow; } }