示例#1
0
        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);
            }
        }