0

我正在构建一个 C# 桌面应用程序,用于管理 HR 决策(例如,终止合同、批准请假……)。这些决定将产生若干 Office 文件(例如,合同、清单……)。

最终用户必须能够:

  • 定义新的决策类型,
  • 定义相应文档的内容(我的意思是,定义样板文本,以及需要插入字段数据的位置),
  • 更改给定 DecisionType 的文档内容。

我想到的设计

类Decision 有一个字段decisionType。DecisionType 类有一个属性FieldsList,它列出了 DecisionType 拥有的所有字段的名称及其数据类型。

当最终用户单击按钮输入新决定时,应用程序会生成一个用户表单(我认为 WPF 更适合于此,然后 WinForms 是,尽管我从未使用过它),允许创建所选的新决定决策类型。此表单仅包含该类型决策使用的字段所需的控件。应用程序添加所有必需的数据绑定。

最终用户管理每个 DecisionType的文档内容:

  • 样板文本,
  • 需要插入持久数据的位置。

这被保存为字符串,其中需要插入来自字段的数据的位置由代码指示(例如,字段 BeginDate 的“/[bd]”)。

数据库对所有决策使用单个表(尽管大多数决策类型不会使用所有字段)。

但是...也许你们知道更好的方法?

4

1 回答 1

0

好吧,似乎只有一张桌子无济于事。我的意思是,除了 Decision 类之外,您还必须创建一个 Person 类。每个人可能有一个或多个决策,并且决策应该可以由其他人编辑。

让我们举个例子:

  1. 约翰做出决定并将其另存为Decision A
  2. 保罗同意,Decision A但想对此提出一些其他意见。

我想你可以看到这是怎么回事。
关于技术,我肯定会使用 WPF——虽然它的学习曲线更陡峭,但一旦你掌握了它,你几乎可以做任何事情。WPF 还建议使用 MVVM 方法,这将大大缩短您使用数据绑定的时间。
至于数据库,我推荐 Entityframework。它的 Code First 方案很容易理解,你会发现很多信息。

一些有用的链接:
www.wpftutorial.net - 非常基本的介绍性 WPF 信息,非常适合初学者

CodeProject - 初学者的 MVVM 示例

Julie Lerman 的 Entity Framework 网站 - 她是其中的佼佼者!

不要放弃,祝你好运。

于 2013-10-02T23:49:55.543 回答