zoukankan      html  css  js  c++  java
  • XAF 14.1 DC 实现自定审计日志信息

    由于一个系统的需要,需要在日志中加入自定义的信息,并且需要根据需要过滤显示其中的部分操作记录入修改,删除等,其他的不显示,具体的实现方法如下:

    一、需要继承 AuditDataItemPersistent,具体代码如下:

            public MyAuditDataItemPersistent(DevExpress.Xpo.Session session)
                : base(session)
            {
    
            }
            [XafDisplayName("修改标题")]
            public string PropertyCaption
            {
                get
                {
                    if (AuditedObject != null)
                    {
                        try
                        {
                            var caption = CaptionHelper.GetMemberCaption(AuditedObject.Target.GetType(), PropertyName);
                            return caption;
                        }
                        catch { }
                    }
    
                    return string.Empty;
                }
    
    
            }
        }
    

     二、在WinApplication.cs中设置Audit的存储对象为MyAuditDataItemPersistent

    三、

        [XafDisplayName("修改日志")]
        IList<MyAuditDataItemPersistent>Xt_Order_Review_Detail_Audit { get; }
    
        [DomainLogic(typeof(Xt_Order_Review_Detail_Dc))]
        public class ContactLogic
        {
            private static XPCollection<MyAuditDataItemPersistent> _changeHistory;
            public static IList<MyAuditDataItemPersistent> Get_Xt_Order_Review_Detail_Audit(Xt_Order_Review_Detail_Dc obj, IObjectSpace os)
            {
                
                var source = AuditedObjectWeakReference.GetAuditTrail(((XPObjectSpace)os).Session, obj);
                if (source != null)
                {
                    try
                    {
                        _changeHistory = new XPCollection<MyAuditDataItemPersistent>(((XPObjectSpace)os).Session, source);
                        _changeHistory.Filter = CriteriaOperator.Parse("OperationType='ObjectChanged'");
                    }
                    catch { }
    
                }
                return _changeHistory;
                 //return (MyAuditDataItemPersistent)DevExpress.Persistent.BaseImpl.AuditedObjectWeakReference.GetAuditTrail(((XPObjectSpace)os).Session, obj);
            }
    
  • 相关阅读:
    生命中的另一口井
    sqlldr使用小记
    字节单位介绍
    《Java虚拟机》随笔记01
    Python生成器实现杨辉三角打印
    什么是递归?用十进制转二进制的Python函数示例说明
    Python的filter与map内置函数
    Python内置函数property()使用实例
    Python装饰器的理解
    Python迭代与递归方法实现斐波拉契数列
  • 原文地址:https://www.cnblogs.com/ddlzq/p/4169691.html
Copyright © 2011-2022 走看看