public async Task BlogSearch(IDialogContext context, LuisResult result) { string tag = string.Empty; string replyText = string.Empty; List <Post> posts = new List <Post>(); try { if (result.Entities.Count > 0) { tag = result.Entities.FirstOrDefault(e => e.Type == "Tag").Entity; } if (!string.IsNullOrWhiteSpace(tag)) { var bs = new BlogSearch(); posts = bs.GetPostsWithTag(tag); } replyText = GenerateResponseForBlogSearch(posts, tag); await context.PostAsync(replyText); } catch (Exception) { await context.PostAsync("Something really bad happened. You can try again later meanwhile I'll check what went wrong."); } finally { context.Wait(MessageReceived); } }