public async Task <ActionResult <MembershipContainer> > GetMembershipAsync([Required] string contextId, int?limit = null, string rlid = null, Role?role = null) { try { _logger.LogDebug($"Entering {nameof(GetMembershipAsync)}."); try { var request = new GetMembershipRequest(contextId, limit, rlid, role); return(await OnGetMembershipAsync(request).ConfigureAwait(false)); } catch (Exception ex) { _logger.LogError(ex, $"An unexpected error occurred in {nameof(GetMembershipAsync)}."); 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(GetMembershipAsync)}."); } }
/// <summary> /// Returns the membership. /// </summary> protected abstract Task <ActionResult <MembershipContainer> > OnGetMembershipAsync(GetMembershipRequest request);