コード例 #1
0
ファイル: DocumentStore.cs プロジェクト: leomats/epcis
        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);
            });
        }
コード例 #2
0
        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));
        }
コード例 #3
0
            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);
            }