public async Task <IActionResult> GetAll([FromQuery] DelegationQuery query) { query.PartyId = GetPartyId(); var delegations = await _delegationService.GetAll(query); return(Ok(new PagedResult <DelegationOverviewViewModel> { Data = delegations.Data.Select(d => d.MapToOverviewViewModel()), Count = delegations.Count })); }
public async Task <PagedResult <Delegation> > GetAll(DelegationQuery query) { var delegations = _db.Delegations .Where(d => !d.Deleted && (query.PartyId == null || d.PolicyIssuer == query.PartyId)); int count = await delegations.CountAsync().ConfigureAwait(false); delegations = delegations .OrderByDescending(d => d.CreatedDate) .GetPage(query); return(await delegations.ToPagedResult(count).ConfigureAwait(false)); }
public async Task <PagedResult <Delegation> > GetAll(DelegationQuery query) { var delegations = _db.Delegations .Where(d => !d.Deleted && (query.PartyId == Constants.SchemeOwnerPartyId || d.PolicyIssuer == query.PartyId)); if (!string.IsNullOrEmpty(query.Filter)) { delegations = delegations.Where(d => d.AuthorizationRegistryId.Contains(query.Filter) || d.PolicyIssuer.Contains(query.Filter) || d.AccessSubject.Contains(query.Filter)); } var count = await delegations.CountAsync(); delegations = Sort(query, delegations).GetPage(query); return(await delegations.ToPagedResult(count)); }
private static IQueryable <Delegation> Sort(DelegationQuery query, IQueryable <Delegation> data) { var result = data; switch (query.SortBy) { case "policyIssuer": result = result.OrderBy(c => c.PolicyIssuer, query.SortOrder); break; case "accessSubject": result = result.OrderBy(c => c.AccessSubject, query.SortOrder); break; default: result = result.OrderBy(c => c.AuthorizationRegistryId, query.SortOrder); break; } return(result); }
public async Task <PagedResult <Delegation> > GetAll(DelegationQuery query) { return(await _delegationsRepository.GetAll(query)); }