private bool TryGetExistingSubreddit(string subredditName, out SubredditViewModel result) { result = (from sr in this.Subreddits where subredditName.Equals(sr.DisplayName, StringComparison.OrdinalIgnoreCase) select sr).FirstOrDefault(); return result != null; }
private async void QuickNavigateAction() { string subredditName = ParseQuickNav(); string notFoundError = (string)App.Current.Resources["Error_NotFound"]; if (subredditName == null) { Messenger.Default.Send<DialogMessage>(new DialogMessage() { Message = notFoundError }); return; } SubredditViewModel subredditViewModel = null; if (!TryGetExistingSubreddit(subredditName, out subredditViewModel)) { Func<Task<Subreddit>> action = async () => { return await _dataService.GetSubredditByName(ParseQuickNav()); }; Subreddit sr = await Data.Helpers.EnsureCompletion<Subreddit>(action, notFoundError); if (sr != null) { subredditViewModel = new SubredditViewModel(sr); this.Subreddits.Insert(0, subredditViewModel); } } if (subredditViewModel != null) { this.CurrentSubreddit = subredditViewModel; } }