/// <inheritdoc /> public override Task <GetOneResponse> GetOne(GetOneRequest request, ServerCallContext context) { var response = new GetOneResponse(); var getIds = GetEventHandlerId(request.ScopeId, request.EventHandlerId, out var eventHandler); if (!getIds.Success) { response.Failure = _exceptionToFailureConverter.ToFailure(getIds.Exception); return(Task.FromResult(response)); } Log.GetOne(_logger, eventHandler.EventHandler, eventHandler.Scope); var info = _eventHandlers.All.FirstOrDefault(_ => _.Id == eventHandler); if (info == default) { Log.EventHandlerNotRegistered(_logger, eventHandler.EventHandler, eventHandler.Scope); response.Failure = _exceptionToFailureConverter.ToFailure(new EventHandlerNotRegistered(eventHandler)); return(Task.FromResult(response)); } response.EventHandlers = CreateStatusFromInfo(info, request.TenantId?.ToGuid()); return(Task.FromResult(response)); }
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); }