2017-03-15 4 views
0

一定の時間が経過してもユーザーが応答しない場合、フォームフローを停止したいと考えています。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(); 
      } 
     } 

nullを返そうとしましたが、フォームフローを終了しても管理できません。

返信new FormBuilder<PatientForm>().Build() 1つの質問をスキップすると、フォームフローが続行されます。

私はFormCommand.Quitを呼び出す方法はありますか?ユーザーが行うことができますか?

2番目の質問では、BuildForm()が静的な例を見ましたが、何か理由がありますか?

答えて

0

あなたはこの試してみてください:私は `それはインターフェースだIForm`のインスタンスを作成することはできません

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(); 
      } 
     } 
+0

を。 私の主な問題は、私がフォームフローを終了し、私が使用できる何かを返す必要があるということです。 – Deviss

+0

空のIFormが必要な場合は、それを返します。 –

+0

私はできません、それはインターフェイスです。 – Deviss

関連する問題