BaconographyPortable.ViewModel.RedditViewModel.OnSubredditChanged C# (CSharp) Method

OnSubredditChanged() private method

private OnSubredditChanged ( SelectSubredditMessage message ) : void
message BaconographyPortable.Messages.SelectSubredditMessage
return void
        private async void OnSubredditChanged(SelectSubredditMessage message)
        {
            if (_selectedSubreddit == null && message == null)
                return;
            if (message != null)
            {
                if (message.Subreddit == _selectedSubreddit)
                {
                    return;
                }

                _selectedSubreddit = message.Subreddit;
                SelectedLink = null;
				if (!message.DontRefresh)
				{
					_links = null;
					RefreshLinks();
				}

				Heading = _selectedSubreddit.Data.DisplayName;

                RaisePropertyChanged("DisplayingSubreddit");
                var currentUser = await _userService.GetUser();
                if (currentUser != null && currentUser.Me != null)
                {
                    _subscribed = (await _redditService.GetSubscribedSubreddits()).Contains(_selectedSubreddit.Data.Name);
                    RaisePropertyChanged("NotSubscribed");
                    RaisePropertyChanged("Subscribed");
                }
            }
            else
            {
                //set us back to default state
                _selectedSubreddit = null;
                SelectedLink = null;
                _links = null;
                Heading = null;
                RaisePropertyChanged("DisplayingSubreddit");
                _subscribed = false;
                RaisePropertyChanged("NotSubscribed");
                RaisePropertyChanged("Subscribed");

            }
        }