FormFlow: отменить форму через несколько раз
Я хотел бы остановить поток форм, когда пользователь не отвечает через определенное время.
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();
}
}
Я попытался вернуть ноль, но потом не могу ничего сделать после выхода из формы.
Вернуть new FormBuilder<PatientForm>().Build()
пропустите только 1 вопрос, форма потока продолжает идти.
Есть ли способ, которым я могу вызвать FormCommand.Quit, как может сделать пользователь?
Второй вопрос, я видел пример, где BuildForm() является статическим, есть ли причина для этого?
1 ответ
Вы должны попробовать это:
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();
}
}