コード例 #1
0
    /// <inheritdoc/>
    public override async Task <GetAllResponse> GetAll(GetAllRequest request, ServerCallContext context)
    {
        var response     = new GetAllResponse();
        var getAllResult = await _projectionsService.TryGetAll(
            request.ProjectionId.ToGuid(),
            request.ScopeId.ToGuid(),
            request.CallContext.ExecutionContext.ToExecutionContext(),
            context.CancellationToken).ConfigureAwait(false);

        if (getAllResult.Success)
        {
            var states = await getAllResult.Result.ToListAsync(context.CancellationToken).ConfigureAwait(false);

            response.States.AddRange(states.ToProtobuf());
            Log.SendingGetAllResult(_logger, request.ProjectionId, request.ScopeId, response.States.Count);
        }
        else
        {
            response.Failure = getAllResult.Exception.ToFailure();
            Log.SendingGetAllFailed(_logger, request.ProjectionId, request.ScopeId, getAllResult.Exception);
        }

        return(response);
    }
コード例 #2
0
    public async Task <IActionResult> GetAll(GetAllRequest request)
    {
        var getAllResult = await _projectionsService.TryGetAll(
            request.Projection,
            request.Scope,
            request.Context.ExecutionContext.ToExecutionContext(),
            System.Threading.CancellationToken.None).ConfigureAwait(false);

        if (getAllResult.Success)
        {
            var states = await getAllResult.Result.ToListAsync();

            return(Ok(GetAllResponse.From(states)));
        }

        Response.StatusCode = StatusCodes.Status500InternalServerError;
        return(new JsonResult(GetAllResponse.From(getAllResult.Exception.ToFailure())));
    }