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); } }