public async Task Capture(CaptureCallbackRequest request, RequestContext context, CancellationToken cancellationToken) { await Commit(async tx => { var headerId = await PersistHeader(request.Header, tx, context, cancellationToken); await SubscriptionCallbackStore.Store(request, headerId, tx, cancellationToken); await EpcisEventStore.StoreEpcisEvents(request.EventList, tx, headerId, cancellationToken); }); }
public static async Task Store(CaptureCallbackRequest callback, int headerId, IDbTransaction transaction, CancellationToken cancellationToken) { var parameters = new { callback.CallbackType, callback.SubscriptionId, RequestId = headerId }; await transaction.Connection.ExecuteAsync(new CommandDefinition(CaptureEpcisCallbackCommands.StoreCallback, parameters, transaction, cancellationToken : cancellationToken)); }
public async Task <IEpcisResponse> Handle(CaptureEpcisExceptionRequest request, CancellationToken cancellationToken) { var captureRequest = new CaptureCallbackRequest { SubscriptionId = request.SubscriptionName, CallbackType = request.CallbackType, Header = request.Header }; await _documentStore.Capture(captureRequest, _context, cancellationToken); return(EmptyResponse.Value); }