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();
            }
        }
Другие вопросы по тегам