0

当用户在一定时间后没有回答时,我想停止我的表单流。

public IForm<PatientForm> BuildForm()
        {
            if (dateFirstAnswer.AddSeconds(30) < DateTime.Now)
                return null;
            else
            {
                return new FormBuilder<PatientForm>()
                        .Message(ResourceStringExtentionsPatientForm.IntroForm.Spintax())
                        .OnCompletion(async (context, profileForm) =>
                        {
                            string message = ResourceStringExtentionsPatientForm.OutroForm.Spintax();
                            await context.PostAsync(message);
                        })
                        .Build();
            }
        }

我试图返回 null 但离开表单流后我无法管理任何东西。

返回new FormBuilder<PatientForm>().Build()只跳过1个问题,formflow继续。

有没有办法像用户一样调用 FormCommand.Quit ?

第二个问题,我看到了一些 BuildForm() 是静态的例子,有什么理由这样做吗?

4

1 回答 1

0

你应该试试这个:

IForm<PatientForm> newForm;

public void BuildForm()
        {
            if (dateFirstAnswer.AddSeconds(30) > DateTime.Now)
            {
                newForm = new FormBuilder<PatientForm>()
                        .Message(ResourceStringExtentionsPatientForm.IntroForm.Spintax())
                        .OnCompletion(async (context, profileForm) =>
                        {
                            string message = ResourceStringExtentionsPatientForm.OutroForm.Spintax();
                            await context.PostAsync(message);
                        })
                        .Build();
            }
        }
于 2017-03-15T12:31:54.187 回答