Beispiel #1
0
 public override void DoRecord(IEventSource session, object owner, string message)
 {
     BaseAuditListener.LoadData(session, () =>
                                session.Save(new AuditRecord(message, owner)
     {
         MessageType = LogMessageType.System,
         IsHtml      = true
     }));
 }
Beispiel #2
0
        public void OnPostUpdate(PostUpdateEvent @event)
        {
            //Если значение OldState не установлено, то не производим обработку
            if (@event.OldState == null)
            {
                return;
            }

            foreach (var dirty in GetDirty(@event))
            {
                var attr = dirty.Item1.GetCustomAttributes(typeof(TriggerQueryAttribute), true)
                           .OfType <TriggerQueryAttribute>()
                           .FirstOrDefault();
                if (attr == null)
                {
                    continue;
                }

                //что бы избежать рекурсивного flush
                BaseAuditListener.LoadData(@event.Session, () => {
                    attr.Trigger(@event.Session, @event.Entity, dirty.Item3);
                });
            }
        }