Exemple #1
0
 public MathDialog()
 {
     _manager    = new QuestionManager();
     Questions   = _manager.GenerateRandomQuestions(NumbersOfQuestions);
     n           = Questions.Count();
     UserStories = new List <string>();
     BotStories  = new List <string>();
 }
Exemple #2
0
        public async Task StartAsync(IDialogContext context)
        {
            await context.PostAsync("Xin chào. Tôi đang sẵn sàng đợi lệnh Tính toán của bạn.!");

            IsContinue = true;
            Questions  = _manager.GenerateRandomQuestions(NumbersOfQuestions);
            n          = Questions.Count();
            context.Wait(this.MessageReceivedAsync);
            //var hotelsFormDialog = FormDialog.FromForm(this.BuildMathsForm, FormOptions.PromptInStart);
            //context.Call(hotelsFormDialog, this.ResumeAfterMathsFormDialog);
        }
Exemple #3
0
        public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> result)
        {
            var message = await result;

            _manager  = new QuestionManager();
            Questions = new List <Question>();
            Questions = _manager.GenerateRandomQuestions(NumbersOfQuestions);

            if (message.Text.EndsWith("?"))
            {
                await BotAnswer(context, message.Text);
            }
            else if (message.Text.IsNumeric())
            {
                var _lastQuestion = Questions[i].Content;
                var _expr         = mathEngine.Calc(_lastQuestion);
                var _answer       = _expr;

                if (_answer.ToLower() == message.Text.ToLower())
                {
                    await context.PostAsync($"Đúng");
                }
                else
                {
                    await context.PostAsync($"Sai");
                }
                i = i + 1;
                await BotAsk(context, i);
            }
            else if (message.Text.Contains("test"))
            {
                await BotAsk(context, i);
            }
            else
            {
                await new RootDialog().MessageReceivedAsync(context, result);
            }
        }