コード例 #1
0
 /// <summary>
 /// Gets the pending events.
 /// </summary>
 /// <param name="aggregate">The aggregate.</param>
 /// <returns></returns>
 internal static IList <IDomainEvent> GetPendingEvents(this Aggregate aggregate)
 {
     return(aggregate.PendingEvents);
 }
コード例 #2
0
 /// <summary>
 /// Determines whether [is event duplicate] [the specified event identifier].
 /// </summary>
 /// <param name="aggregate">The aggregate.</param>
 /// <param name="eventId">The event identifier.</param>
 /// <returns>
 ///   <c>true</c> if [is event duplicate] [the specified event identifier]; otherwise, <c>false</c>.
 /// </returns>
 internal static Boolean IsEventDuplicate(this Aggregate aggregate,
                                          Guid eventId)
 {
     return(aggregate.EventHistory.ContainsKey(eventId) || aggregate.PendingEvents.Any(x => x.EventId == eventId));
 }
コード例 #3
0
 /// <summary>
 /// Gets the historical events.
 /// </summary>
 /// <param name="aggregate">The aggregate.</param>
 /// <returns></returns>
 internal static IList <IDomainEvent> GetHistoricalEvents(this Aggregate aggregate)
 {
     return(aggregate.EventHistory.Select(x => x.Value).ToList());
 }