WorkflowsAndQueuesInitializerService というオブジェクトがあり、ワークフロー内のキューを定義し、指定された呼び出し結果が与えられると、次のステップもルーティングされます。パラメーターとして from ステップ インスタンスと次のステップのタイムスパンを取る CalculateDueDate と呼ばれるインターフェイス クラスから継承されたメソッドがあります。私が抱えている問題は、通常、入力テキスト フィールドからの入力が与えられた期日を、複数のクラス メソッド間で往復することなくオーバーライドできることです。私は NextStep と呼ばれるマップされたクラスを持っています。これには、期日のタイムスパンも取るコンストラクターがあります。私が達成したいのは、私のクラスフォームインスタンスで、入力テキストボックスから値を渡し、手間をかけずに期日を再計算したいということです。与えられた情報でこれを達成する簡単な方法はありますか?
public override void CollectFormValues(IFormValuesCollection values)
{
this.CalculatedShipDate = TypeConverter.ToNullableDateTime(values["CalculatedShipDate"]);
}
上記は、HTTP POST からフォーム値を取得するメソッドです。
これは一時的なフォーム インスタンスです。つまり、アプリケーションはフォームの値をデータベースに自動的にコミットしません。通常、CollectFormValues()
値をオブジェクトに保存するだけで、データベースには何もコミットしません。ただし、これは一時的な形式であるため、このメソッドは値をデータベースに保存する役割も果たします。
また、次の StepInstance の期日を計算するために使用するクラスのインスタンスを取得するクラスがあります。
public static IDueDateCalculator GetDueDateCalculator( string className )
{
if ( String.IsNullOrWhiteSpace( className ) )
return new DefaultDueDateCalculator();
Assembly assembly = typeof( IDueDateCalculator ).Assembly;
Type calcType = assembly.GetType( className );
return (IDueDateCalculator) Activator.CreateInstance( calcType );
}
私の最善の解決策が何であるかがわからないため、フィードバックや支援のためにここに来る理由. 前もって感謝します!