一部のデバイスから収集されたイベントデータからレポートを生成するソフトウェアを開発しています。データはデータベースに保存されます。ソフトウェアによって生成されたレポートの出力ファイル名をユーザーがテンプレート化できるようにしたいと思います。したがって、ユーザーがレポートを生成することを決定すると、ユーザーが構成した出力ファイル名テンプレートがデータベースから取得されたデータに適用されます。
たとえば、各レポートに次のデータテンプレート要素が関連付けられているとします。
<Name>
<Timestamp>
<Location>
<EventType>
したがって、ユーザーはこれらのテンプレートアイテムのいずれかを任意の順序で選択して、出力ファイル名の形式を決定できます。彼らがこのようなものを選んだ場合:
<Name> <EventType> <Location> <Timestamp>.pdf
そして、これがデータベース内の現在のレポートのデータであるとしましょう。
Name = "MyReport"
EventType = "Error"
Location = "Park Ave"
Timestamp = 1-30-2013 11.00.00 AM
実際のレポートが生成されると、レポートのファイル名は次のようになります。
"MyReport Error Park Ave 1-30-2013 11.00.00 AM.pdf"
<Name>, <Location>
などのようなカスタムフォーマット要素を提供し、データベースまたは場合によってはエンティティオブジェクトのデータから文字列を構築するエレガントな方法を考え出すのに苦労しています。ICustomFormatterとIFormatProviderを見てきましたが、これらが私が行っていることに完全に適しているかどうかはわかりません。
私はWPF4.5を使用しており、データはEntityFrameworkによって駆動されます。
任意のアイデアをいただければ幸いです!