예제 #1
0
 /// <inheritdoc />
 public Task <CommitEventsResponse> CommitEvents(CommitEventsRequest request, CancellationToken cancellationToken)
 {
     //_logger.EventsReceivedForCommitting(false, events.Count);
     //Log.EventsSuccessfullyCommitted(_logger))
     //Log.ErrorCommittingEvents(_logger, exception));
     return(_getEventStoreClient(GetTenantFrom(request.CallContext))
            .Commit(request, _rootContext, cancellationToken));
 }
예제 #2
0
    public async Task <CommitResponse> Commit(CommitEventsRequest request)
    {
        var result = await _eventStore.CommitEvents(request, HttpContext.RequestAborted).ConfigureAwait(false);

        if (result.Failure is not null)
        {
            Response.StatusCode = StatusCodes.Status500InternalServerError;
        }

        return(result);
    }
예제 #3
0
    public static async Task <CommitEventsResponse> Commit(this IEventStore eventStore, UncommittedEvents events, Dolittle.Runtime.Execution.ExecutionContext executionContext)
    {
        var request = new CommitEventsRequest {
            CallContext = new CallRequestContext {
                ExecutionContext = executionContext.ToProtobuf()
            }
        };

        request.Events.AddRange(events.Select(_ => new UncommittedEventContract
        {
            Content       = _.Content,
            Public        = _.Public,
            EventType     = _.Type.ToProtobuf(),
            EventSourceId = _.EventSource
        }));
        var response = await eventStore.CommitEvents(request, CancellationToken.None).ConfigureAwait(false);

        return(response);
    }
예제 #4
0
 /// <inheritdoc/>
 public override Task <CommitEventsResponse> Commit(CommitEventsRequest request, ServerCallContext context)
 => _eventStore.CommitEvents(request, context.CancellationToken);