Exemplo n.º 1
0
 public static async ValueTask <Event> SerializeAsync(
     this IEventSerializer serializer,
     Guid aggregateId,
     IEvent @event,
     CancellationToken cancellationToken = default)
 {
     return((Event)await serializer.SerializeAsync(aggregateId, @event, cancellationToken));
 }
Exemplo n.º 2
0
 // TODO: Ensure this doesn't cause ambiguity errors
 public static ValueTask <Event <TAggregateId> > SerializeAsync <TAggregateId, T>(
     this IEventSerializer serializer,
     TAggregateId aggregateId,
     T @event,
     CancellationToken cancellationToken = default)
     where T : IEvent
 {
     return(serializer.SerializeAsync(aggregateId, @event, cancellationToken));
 }
Exemplo n.º 3
0
        public async Task AddAsync <TAggregateId>(
            TAggregateId aggregateId,
            IEvent @event,
            CancellationToken cancellationToken = default)
        {
            _logger.LogTrace("Serializing event {Event}", @event);
            var serialized = await _serializer.SerializeAsync(aggregateId, @event, cancellationToken);

            _logger.LogTrace("Serialized event {Event}", @event);

            _logger.LogTrace("Adding event {Event}", @event);
            await _context.AddAsync(serialized, cancellationToken);

            _logger.LogTrace("Added event {Event}", @event);

            _logger.LogTrace("Saving changes asynchronously");
            await _context.SaveChangesAsync(cancellationToken);

            _logger.LogTrace("Saved changes asynchronously");
        }