Ejemplo n.º 1
0
        public async Task <LazyRoleViewModel> LazyRolesByUser(int userId, int take, int skip, string nameFilter = null)
        {
            var query = _identityContext.UserRoles.Where(w => w.UserId == userId)
                        .Join(_identityContext.Roles, ur => ur.RoleId, r => r.Id, (ur, r) => new { ur, r })
                        .Select(s => s.r).Distinct()
                        .Where(x => x.Name.Contains(!string.IsNullOrEmpty(nameFilter) ? nameFilter : string.Empty));

            var count = await query.CountAsync();

            var roles = query
                        .Select(s => new RoleViewModel
            {
                Id   = s.Id,
                Name = s.Name
            })
                        .OrderBy(o => o.Name)
                        .Skip(skip)
                        .Take(take)
                        .ToListAsync();

            var lazyRoleViewModel = new LazyRoleViewModel
            {
                Roles = await roles,
                Count = count
            };

            return(lazyRoleViewModel);
        }
Ejemplo n.º 2
0
        public async Task <LazyRoleViewModel> LazyRoles(int take, int skip, string nameFilter = null)
        {
            var query = _identityContext.Roles
                        .Where(x => x.Name.Contains(!string.IsNullOrEmpty(nameFilter) ? nameFilter : string.Empty));

            var count = await query.CountAsync();

            var roles = query
                        .Select(s => new RoleViewModel
            {
                Id   = s.Id,
                Name = s.Name
            })
                        .OrderBy(o => o.Name)
                        .Skip(skip)
                        .Take(take)
                        .ToListAsync();

            var lazyRoleViewModel = new LazyRoleViewModel
            {
                Roles = await roles,
                Count = count
            };

            return(lazyRoleViewModel);
        }