当用户在一段时间后没有回答时,我想停止我的表格流程。
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个问题,表单流程继续。
有没有办法可以像用户一样调用FormCommand.Quit?
第二个问题,我看到一些BuildForm()是静态的例子,有没有理由这样做?
答案 0 :(得分: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();
}
}