Exemplo n.º 1
0
        public async Task <SearchResult <Permission> > Handle(GetRolePermissions request, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();

            var roleUid = request?.RoleUid ?? throw new ArgumentNullException(nameof(request));

            using (var db = _dbContextFactory.Create())
            {
                var query =
                    from roleClaim in db.GetTable <DbRoleClaim>()
                    where roleClaim.RoleId == roleUid && roleClaim.ClaimType == Permission.ClaimType
                    select roleClaim;

                var data = await query.Apply(request, x => x.ClaimValue)
                           .Select(x => new Permission(x.ClaimValue))
                           .ToListAsync(cancellationToken);

                return(new SearchResult <Permission>
                {
                    TotalCount = query.GetTotalCount(request),
                    Rows = data
                });
            }
        }
Exemplo n.º 2
0
 public async Task <SearchResult <Permission> > List(GetRolePermissions request)
 {
     return(await _mediator.Send(request));
 }