public async Task <IActionResult> GetOne(GetOneRequest request) { var getOneResult = await _projectionsService.TryGetOne( request.Projection, request.Scope, request.Key, request.Context.ExecutionContext.ToExecutionContext(), System.Threading.CancellationToken.None).ConfigureAwait(false); if (getOneResult.Success) { return(Ok(GetOneResponse.From(getOneResult.Result))); } Response.StatusCode = StatusCodes.Status500InternalServerError; return(new JsonResult(GetOneResponse.From(getOneResult.Exception.ToFailure()))); }
/// <inheritdoc/> public override async Task <GetOneResponse> GetOne(GetOneRequest request, ServerCallContext context) { var response = new GetOneResponse(); var getOneResult = await _projectionsService.TryGetOne( request.ProjectionId.ToGuid(), request.ScopeId.ToGuid(), request.Key, request.CallContext.ExecutionContext.ToExecutionContext(), context.CancellationToken).ConfigureAwait(false); if (getOneResult.Success) { response.State = getOneResult.Result.ToProtobuf(); Log.SendingGetOneResult(_logger, request.Key, request.ProjectionId, request.ScopeId, getOneResult.Result.Type); } else { response.Failure = getOneResult.Exception.ToFailure(); Log.SendingGetOneFailed(_logger, request.Key, request.ProjectionId, request.ScopeId, getOneResult.Exception); } return(response); }