private void PinUnpinButton_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
var button = sender as Button;
var subredditVM = button.DataContext as AboutSubredditViewModel;
if (subredditVM == null && button.DataContext is SubredditSelectorViewModel)
{
var selector = button.DataContext as SubredditSelectorViewModel;
selector.DoGoSubreddit(true);
ServiceLocator.Current.GetInstance<INavigationService>().GoBack();
}
else if (subredditVM != null)
{
var mpvm = this.DataContext as MainPageViewModel;
if (mpvm != null)
{
var match = mpvm.Subreddits.FirstOrDefault<TypedThing<Subreddit>>(thing => thing.Data.DisplayName == subredditVM.Thing.Data.DisplayName);
if (match != null)
{
subredditVM.Pinned = false;
Messenger.Default.Send<CloseSubredditMessage>(new CloseSubredditMessage { Subreddit = subredditVM.Thing });
}
else
{
subredditVM.Pinned = true;
Messenger.Default.Send<SelectSubredditMessage>(new SelectSubredditMessage { Subreddit = subredditVM.Thing, AddOnly = true });
}
}
}
}