public void OnPostUpdate(PostUpdateEvent @event) { LogHelper.TraceIfEnabled <NhEventListeners>("OnPostUpdate for '{0}' with id '{1}'", () => @event.Entity.GetType().Name, () => @event.Id); AggregateDataInterceptor.CheckNodeVersionId(@event.Entity, EnsureVersionIdsInitialised()); }
/// <summary> /// Return true if the operation should be vetoed /// </summary> /// <param name="event"/> public bool OnPreDelete(PreDeleteEvent @event) { try { AggregateDataInterceptor.OnDeleteCheckAggregate(@event.Entity, @event.Session); return(false); } catch (Exception ex) { throw new InvalidOperationException("Error trying to flush aggregates during pre-delete phase: {0}".InvariantFormat(GetUsefulEntityName(@event.Entity, null, null)), ex); } }
public void OnPostInsert(PostInsertEvent @event) { LogHelper.TraceIfEnabled <NhEventListeners>("OnPostInsert for '{0}' with id '{1}'", () => @event.Entity.GetType().Name, () => @event.Id); AggregateDataInterceptor.CheckNodeVersionId(@event.Entity, EnsureVersionIdsInitialised()); var referenceByGuid = @event.Entity as IReferenceByGuid; if (referenceByGuid == null) { LogHelper.TraceIfEnabled <NhEventListeners>("Not raising event because casting entity to IReferenceByGuid resulted in null value"); return; } //if (NodeIdAvailable != null) NodeIdAvailable(referenceByGuid, (Guid)@event.Id); OnNodeIdAvailable(referenceByGuid, (Guid)@event.Id); }
/// <summary> /// Handle the given flush event. /// </summary> /// <param name="event">The flush event to be handled.</param> public void OnFlush(FlushEvent @event) { try { try { _defaultFlushListener.OnFlush(@event); } finally { AggregateDataInterceptor.UpdateAggregatesPostFlush(EnsureVersionIdsInitialised(), @event.Session); } } catch (Exception ex) { throw new InvalidOperationException("Error trying to flush", ex); } }
public void OnDelete(DeleteEvent @event, ISet transientEntities) { try { try { AggregateDataInterceptor.OnDeleteCheckAggregate(@event.Entity, @event.Session); } finally { _defaultDeleteListener.OnDelete(@event, transientEntities); } } catch (Exception ex) { throw new ApplicationException(string.Format("Error while trying to delete a {0} with id {1}", @event.EntityName, @event.Session.GetIdentifier(@event.Entity)), ex); } }