EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

审核对象更改

重点

审计跟踪模块不被支持实体框架ORM在XAF的当前版本。如果您使用的是EF,请跳过本课程,然后转到下一课。

在本课程中,您将学习如何在运行应用程序时审核和分析对业务对象所做的更改。为此,审核跟踪模块将添加到应用程序中。对Contact对象所做的更改将被审核。将使用两种技术来分析它们。

注意

在继续之前,请花一点时间回顾“从业务类库类(XPO)继承”课程。

审核联系人对象

添加跟踪线索模块安装到您MySolution.Module项目。为此,请在“解决方案资源管理器”中显示的MySolution.Module项目中找到Module.csModule.vb)文件。双击该文件以调用模块设计器。在“工具箱”中,展开DX。19.2:“ XAF模块”选项卡。将AuditTrailModule项目拖到设计器的“必需的模块”部分。

Tutorial_EM_Lesson4_0

现在,将审核在应用程序中创建的所有对象。该审计跟踪系统登录的变化类型的信息(对象的创建,更改,等等),谁做这种改变,对象改变了,以前和新的属性值,等当一个对象被保存到数据库中,将记录两个连续事件之间的任何更改。

在应用程序中分析审核日志

使用以下方法直接在应用程序中查看对象更改。

  • 将集合属性添加到Contact类。集合的项目将提供从数据库中检索到的日志信息。

    using DevExpress.ExpressApp;
    // ...
    [DefaultClassOptions]
    public class Contact : Person {
       //...
       private XPCollection<AuditDataItemPersistent> changeHistory;
       [CollectionOperationSet(AllowAdd = false, AllowRemove = false)]
       public XPCollection<AuditDataItemPersistent> ChangeHistory {
           get {
               if(changeHistory == null) {
                   changeHistory = AuditedObjectWeakReference.GetAuditTrail(Session, this);
               }
               return changeHistory;
           }
       }
    }
    
  • 运行WinForms或ASP.NET应用程序,然后调用“联系人详细信息视图”。修改Contact对象以测试审核功能,保存更改,然后单击Refreshbtn_refresh)。在更改历史记录集合将包含在以前的信息联系对象的变化。

    Tutorial_EM_Lesson4_1

注意

您可能还记得,Office属性是在Department类而不是Contact类中声明的。因此,使用“联系人详细信息视图”对Office属性所做的更改不会显示在“联系人”的“更改历史记录”中。相反,这些变化出现在相应的部门对象的更改历史记录(如果对所做的更改处对象是审计)。您可以使用对数据库的SQL查询来远程获取审核日志。请参阅分析审核日志主题。

您可以在XAF随附的Main Demo的Contact.csContact.vb)文件中查看此处演示的代码。该MainDemo应用程序安装在%PUBLIC%\文件\ DevExpress的演示19.2 \组件\ eXpressApp框架\ MainDemo默认。可从http://demos.devexpress.com/XAF/MainDemo/在线获得ASP.NET版本。

下一课: 高亮显示列表视图对象

相关文章

转载保留此链接,注明出处