public override void DoRecord(IEventSource session, object owner, string message) { BaseAuditListener.LoadData(session, () => session.Save(new AuditRecord(message, owner) { MessageType = LogMessageType.System, IsHtml = true })); }
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); }); } }