public Task <UserManagementResult <QueryResult <RoleSummary> > > QueryRolesAsync(string filter, int start, int count)
        {
            ValidateSupportsGroups();

            if (start < 0)
            {
                start = 0;
            }
            if (count < 0)
            {
                count = Int32.MaxValue;
            }

            int total;
            var groups = _groupQuery.Query(filter, start, count, out total).ToArray();

            var result = new QueryResult <RoleSummary>(
                start,
                count,
                total,
                filter,
                groups.Select(x =>
                              new RoleSummary(
                                  x.ID.ToString("D"),
                                  x.Name,
                                  "A role")
                              ).ToArray());

            return(Task.FromResult(new UserManagementResult <QueryResult <RoleSummary> >(result)));
        }
예제 #2
0
        public ActionResult Index(string filter = null)
        {
            var list = new List <GroupViewModel>();

            foreach (var result in query.Query(groupSvc.DefaultTenant, filter))
            {
                var item = groupSvc.Get(result.ID);
                var kids = new List <GroupViewModel>();
                foreach (var child in item.Children)
                {
                    var childGrp = groupSvc.Get(child.ChildGroupID);
                    kids.Add(new GroupViewModel {
                        ID = child.ChildGroupID, Name = childGrp.Name
                    });
                }
                var descendants = groupSvc.GetDescendants(item).Select(x => x.Name).ToArray();
                var gvm         = new GroupViewModel
                {
                    ID          = item.ID,
                    Name        = item.Name,
                    Children    = kids,
                    Descendants = descendants
                };
                list.Add(gvm);
            }
            var vm = new GroupIndexViewModel {
                Groups = list
            };

            return(View("Index", vm));
        }
        public Task <IdentityManagerResult <QueryResult <RoleSummary> > > QueryRolesAsync(string filter, int start, int count)
        {
            ValidateSupportsGroups();

            if (start < 0)
            {
                start = 0;
            }
            if (count < 0)
            {
                count = Int32.MaxValue;
            }

            int total;
            var groups = groupQuery.Query(filter, start, count, out total).ToArray();

            var result = new QueryResult <RoleSummary>();

            result.Start  = start;
            result.Count  = count;
            result.Total  = total;
            result.Filter = filter;
            result.Items  = groups.Select(x =>
            {
                var role = new RoleSummary
                {
                    Subject = x.ID.ToString("D"),
                    Name    = x.Name,
                    //Description = x.Name
                };

                return(role);
            }).ToArray();

            return(Task.FromResult(new IdentityManagerResult <QueryResult <RoleSummary> >(result)));
        }