public virtual bool Equals(EntityBase other) { if (null != other && other.GetType() == GetType()) { return other.Identity.Equals(Identity); } return false; }
public bool EventIsOwnedByEntity(IDomainEvent e, EntityBase entity) { if (entity.GetType() != entityType) return false; if (e.GetType() != eventType) return false; if (entityIdentityProperty == null) { object identity = aggregateIdentityProperty.GetValue(e); return entity.Identity.Equals(identity); } else { object identity = entityIdentityProperty.GetValue(e); return entity.Identity.Equals(identity); } }
public static IReadOnlyCollection<EventHandlerProperties> ScanEntity(EntityBase entityBase) { var entityType = entityBase.GetType(); try { readerWriterLock.EnterReadLock(); if (eventHandlers.ContainsKey(entityType)) { return eventHandlers[entityType]; } } finally { readerWriterLock.ExitReadLock(); } ScanTypeForHandlers(entityType); return eventHandlers[entityType]; }
private static string GetErrorMessage(EntityBase entity, IAggregateEvent @event) { return String.Format("Unable to locate an event handler for {0} on {1}", @event.GetType().FullName, entity.GetType().FullName); }
private static string GetErrorMessage(EntityBase entity, IDomainEvent @event) { return String.Format("An error occured while invoking event handler {0} on {1}", @event.GetType().FullName, entity.GetType().FullName); }