我正在为Silverlight应用程序寻找一些设计/架构师建议。
这将是一个TimeTicket(TimeSheet)应用程序,员工可以进入并输入他们的每日时间。
我们有一个现有的ASP .Net应用程序和数据库,这个新应用程序将“使用”。现有的应用程序包括工作,报价,发票,员工,客户等等。这是一个完整的工作成本财务应用程序。
我们希望开始允许员工输入自己的TimeTickets。我决定将其作为Silverlight应用程序,原因有几个。 1. - 为员工提供更丰富的界面(他们中的大多数都不使用“工作成本”应用程序或需要访问它)2。 - 将应用程序分开以添加另一层以帮助防止员工访问的可能性“作业成本”应用程序中的敏感信息3. - 我真的只想使用Silverlight并提高我的WPF / WCF技能(并可能实现MVVM)。谁知道,我可能会购买以重写主应用程序的UI作为Silverlight应用程序。 :)
好的,有关此Silverlight应用程序的更多详细信息....
将会有一些基本的“工作流程”,因为管理员必须“批准”(并可能编辑)每个Employees TimeSheets。所有时间都被发布到工作(可能是“开销”工作,如培训,会议等)或出勤(假期,疾病等)。最后,TimeTickets将由会计中的某人“发布”到“工作成本”应用程序(此时,该人必须从“纸质单”中输入每张票!)。
我需要帮助的主要内容(尽管我会就应用程序提出任何建议)是实际的TimeTicket数据输入表。这将是Master / Detail(Header / LineItem)类型的数据输入表单。
我正在严格寻找“添加”表格的指导(Crud的“C”。大声笑)....(虽然,我确信我也会使用相同的表格进行编辑/更新。)
数据输入表将写入两个表:TimeTicket(主表或表头表)和TimeTicketDetails(子表或LineItem表)。
如果是ASP .Net应用程序,我可以使用FormView作为“Master”和ListView for the Child。让我感到有点难过的是我希望表单以“列表”(或网格)中已有的大约8个“行项目”开头。我考虑过继续使用MVVM框架(只是滚动我自己,没有第三方框架或类似的东西)。这将使我分离Model和ViewModel,并且在实例化时,我可以简单地继续添加我想要开始的8行(到ViewModel)。然后,当用户完成表单(并且当然已经验证)时,我只会将实际使用的行添加到数据库中。想法?
我知道我可能会过于复杂!但是,由于某种原因,我无法决定最好的开始方式。我想最大的原因就是我缺乏Silverlight经验。
另一方面,我一直在关注WCF RIA服务的一些演示和文章,我正在考虑使用该技术。这将作为一个非常小的应用程序开始,但它可能会显着增长,所以我希望有一个良好的起点,以便我可以轻松扩展(实际上,我只是想学习一些新技术和框架......)
非常感谢任何建议!
谢恩
答案 0 :(得分:0)
除了这个问题太宽泛(只是开始并提出较小的问题)之外,还有两个指针:
编辑
Silverlight中的主要细节非常简单:
如果将内容控件放在UserControl中,则可以通过以下方式轻松支持向集合添加项目: 1.将空项(或使用默认值)添加到集合中 2.通过在ItemsCollection中选择新项目,使新项目成为当前项目。这样,新元素将可用于编辑。
通过一些调整,可以支持更复杂的场景,但简而言之就是它。