Beispiel #1
0
        public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> result)
        {
            // List of popular movies
            try
            {
                await context.PostAsync($"I am searching for movies, please be patient :)");

                MoviesSearch search      = new MoviesSearch();
                List <Movie> movieResult = await search.GetPopularMovies();

                if (movieResult.Count != 0)
                {
                    await context.PostAsync($"Here is popular movie list : ");

                    CardUtil.showHeroCardMovies((IMessageActivity)context.Activity, movieResult);
                }
                else
                {
                    await context.PostAsync($"I couldn't find list of movies, you can try again.");
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine($"Error when filtering by popular movies: {e}");
            }
            context.Done(this);
        }
        public async Task PopularMovies(IDialogContext context, LuisResult result_luis)
        {
            QureyController qc = new QureyController();

            qc.PostQuestionOne(result_luis.Query, result_luis.TopScoringIntent.Intent, result_luis.TopScoringIntent.Score.ToString(), "0");

            if (result_luis.TopScoringIntent.Score < 0.4)
            {
                string ans = "";
                ans = qc.GetTrainedAnswer(result_luis.Query);
                qc.PostAnswerOne(ans, result_luis.TopScoringIntent.Intent);
                await context.PostAsync(ans);

                context.Wait(MessageReceived);
            }
            else
            {
                // List of popular movies
                try
                {
                    MoviesSearch search      = new MoviesSearch();
                    List <Movie> movieResult = await search.GetPopularMovies();

                    if (movieResult.Count != 0)
                    {
                        CardUtil.showHeroCardMovies((IMessageActivity)context.Activity, movieResult);
                        qc.PostAnswer(result_luis.Query, movieResult[0].Title, "PopularMovies", "0.75", "0.75");
                    }
                    else
                    {
                        await context.PostAsync($"I couldn't find a movie :0");

                        qc.PostAnswer(result_luis.Query, "I couldn\'t find a movie", "PopularMovies", "0.75", "0.75");
                    }
                }
                catch (Exception e)
                {
                    Debug.WriteLine($"Error when filtering by popular movies: {e}");
                }
                context.Done <object>(null);
            }
        }