示例#1
0
        public XPCollection <AuditDataItemPersistent> GetAuditInfo(Session session, Type targetType)
        {
            AuditedObjectWeakReference auditObjectWeakReference = session.FindObject <AuditedObjectWeakReference>(
                new BinaryOperator("TargetType", session.GetObjectType(session.GetClassInfo(targetType)))
                );

            if (auditObjectWeakReference != null)
            {
                auditObjectWeakReference.AuditDataItems.BindingBehavior = CollectionBindingBehavior.AllowNone;
                return(auditObjectWeakReference.AuditDataItems);
            }
            return(null);
        }
示例#2
0
        private void UndeleteObject(object obj)
        {
            if (obj == null || RestoredObjects.Contains(obj))
            {
                return;
            }

            ITypeInfo objinfo = XafTypesInfo.Instance.FindTypeInfo(obj.GetType());

            UndeleteObjectCore(obj, objinfo);
            XPCollection <AuditDataItemPersistent> originalcollection = AuditedObjectWeakReference.GetAuditTrail((ObjectSpace as XPObjectSpace).Session, obj);

            if (originalcollection != null)
            {
                XPCollection <AuditDataItemPersistent> oldobjaudit = new XPCollection <AuditDataItemPersistent>(originalcollection, new BinaryOperator("OperationType", "ObjectDeleted"));
                if (oldobjaudit.Count > 0)
                {
                    RestoreObject(oldobjaudit.OrderByDescending(x => x.ModifiedOn).First());
                }
            }
        }
 public AuditTrailDetails(Session session, object audit)
 {
     _name      = String.Format("Audit trail for {0}", CaptionHelper.GetClassCaption(audit.GetType().FullName));
     AuditTrail = AuditedObjectWeakReference.GetAuditTrail(session, audit);
 }
 public AuditTrailDetails(Session session, object audit)
 {
     AuditTrail = AuditedObjectWeakReference.GetAuditTrail(session, audit);
 }