我正在构建一个 C# 桌面应用程序,用于管理 HR 决策(例如,终止合同、批准请假……)。这些决定将产生若干 Office 文件(例如,合同、清单……)。
最终用户必须能够:
- 定义新的决策类型,
- 定义相应文档的内容(我的意思是,定义样板文本,以及需要插入字段数据的位置),
- 更改给定 DecisionType 的文档内容。
我想到的设计:
类Decision 有一个字段decisionType。DecisionType 类有一个属性FieldsList,它列出了 DecisionType 拥有的所有字段的名称及其数据类型。
当最终用户单击按钮输入新决定时,应用程序会生成一个用户表单(我认为 WPF 更适合于此,然后 WinForms 是,尽管我从未使用过它),允许创建所选的新决定决策类型。此表单仅包含该类型决策使用的字段所需的控件。应用程序添加所有必需的数据绑定。
最终用户管理每个 DecisionType的文档内容:
- 样板文本,
- 需要插入持久数据的位置。
这被保存为字符串,其中需要插入来自字段的数据的位置由代码指示(例如,字段 BeginDate 的“/[bd]”)。
数据库对所有决策使用单个表(尽管大多数决策类型不会使用所有字段)。
但是...也许你们知道更好的方法?