Exemplo n.º 1
0
        public async Task Add(EventualConsistentEvent eventualConsistent)
        {
            // TODO: don't call GetType() and get name from some cached context?
            var @event           = eventualConsistent.Event;
            var eventHandlerName = eventualConsistent.EventHandlerName;
            var eventName        = @event.GetType().FullName;
            var customConverter  = CreateConverter(eventName);
            var payload          = customConverter == null
                ? _jsonConverter.Serialize(@event)
                : customConverter.Convert(@event);

            await UnitOfWork.ExecuteAsync(
                "INSERT INTO events VALUES (DEFAULT, @eventName, @eventHandlerName, 0, 0, @payload)",
                new { eventName, eventHandlerName, payload });
        }
Exemplo n.º 2
0
 public async Task Update(EventualConsistentEvent eventualConsistent)
 {
     await UnitOfWork.ExecuteAsync(
         "UPDATE  events " +
         "SET     state = @state, " +
         "        processAttempts = @processAttempts," +
         "        errorMessage = @errorMessage " +
         "WHERE   id = @id ",
         new
     {
         id              = eventualConsistent.Event.Id,
         state           = eventualConsistent.State,
         processAttempts = eventualConsistent.ProcessAttempts,
         errorMessage    = eventualConsistent.ErrorMessage
     });
 }