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
            }));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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));
 }