public async Task <ActionResult <ResultContainer> > GetResultsAsync([Required] string contextId, [Required] string lineItemId, [FromQuery(Name = "userId")] string userId = null, [FromQuery] int?limit = null) { try { _logger.LogDebug($"Entering {nameof(GetResultsAsync)}."); try { var request = new GetResultsRequest(contextId, lineItemId, userId, limit); return(await OnGetResultsAsync(request).ConfigureAwait(false)); } catch (Exception ex) { _logger.LogError(ex, $"An unexpected error occurred in {nameof(GetResultsAsync)}."); return(StatusCode(StatusCodes.Status500InternalServerError, new ProblemDetails { Title = "An unexpected error occurred", Status = StatusCodes.Status500InternalServerError, Detail = _env.IsDevelopment() ? ex.Message + ex.StackTrace : ex.Message })); } } finally { _logger.LogDebug($"Exiting {nameof(GetResultsAsync)}."); } }
/// <summary> /// Returns the results for a line item. /// </summary> /// <param name="request">The request parameters.</param> /// <returns>The results.</returns> protected abstract Task <ActionResult <ResultContainer> > OnGetResultsAsync(GetResultsRequest request);