0

私は、HR の決定 (たとえば、契約の終了、要求された休暇の承認など) を管理するための C# デスクトップ アプリケーションを構築しています。これらの決定により、いくつかの Office ドキュメント (契約書、リストなど) が作成されます。

エンド ユーザーは、次のことができる必要があります。

  • 新しいタイプの決定を定義し、
  • 対応するドキュメントのコンテンツを定義します (つまり、ボイラープレート テキストと、フィールドからのデータを挿入する必要がある位置を定義します)。
  • 特定の DecisionType のドキュメントの内容を変更します。

私が考えているデザイン:

クラス Decision には、フィールド decisionType があります。クラス DecisionType にはFieldsListプロパティがあり、DecisionType が持つすべてのフィールドの名前とそれらのデータ型が一覧表示されます。

エンド ユーザーがボタンをクリックして新しい決定を入力すると、アプリケーションはユーザー フォームを生成します(私はそれを使用したことはありませんが、WinForms よりも WPF の方が適していると思います)。決定タイプ。このフォームには、そのタイプの決定で使用されるフィールドに必要なコントロールのみが含まれています。アプリケーションは、必要なすべてのデータバインディングを追加します。

エンド ユーザーは、DecisionType ごとにドキュメントのコンテンツを管理します。

  • ボイラープレートテキスト、
  • 永続化されたデータを挿入する必要がある位置。

これは文字列として保存され、フィールドからのデータを挿入する必要がある位置がコードで示されます (たとえば、フィールド BeginDate の場合は「/[bd]」)。

データベースは、すべての決定に対して1 つのテーブルを使用します(ただし、ほとんどの DecisionTypes はすべてのフィールドを使用しません)。

でも...もっと良い方法を知っているかもしれませんか?

4

1 に答える 1