Exemple #1
0
        public virtual async Task <PagedResultDto <IdentityUserDto> > GetListAsync(GetIdentityUsersInput input)
        {
            var count = await UserRepository.GetCountAsync(input.Filter);

            var list = await UserRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount, input.Filter);

            return(new PagedResultDto <IdentityUserDto>(
                       count,
                       ObjectMapper.Map <List <IdentityUser>, List <IdentityUserDto> >(list)
                       ));
        }
 public virtual Task <PagedResultDto <IdentityUserDto> > GetListAsync(GetIdentityUsersInput input)
 {
     return(UserAppService.GetListAsync(input));
 }
Exemple #3
0
 public Task <PagedResultDto <IdentityUserDto> > GetUsersAsync(Guid?ouId, GetIdentityUsersInput usersInput)
 {
     return(UnitAppService.GetUsersAsync(ouId, usersInput));
 }
        public virtual async Task <PagedResultDto <IdentityUserDto> > GetUsersAsync(Guid?ouId, GetIdentityUsersInput userInput)
        {
            if (!ouId.HasValue)
            {
                return(await UserAppService.GetListAsync(userInput));
            }
            IEnumerable <IdentityUser> list = new List <IdentityUser>();
            var ou = await UnitRepository.GetAsync(ouId.Value);

            var selfAndChildren = await UnitRepository.GetAllChildrenWithParentCodeAsync(ou.Code, ou.Id);

            selfAndChildren.Add(ou);
            //Consider submitting PR to get its own overloading method containing all the members of the child node
            foreach (var child in selfAndChildren)
            {
                // Find child nodes where users have duplicates (users can have multiple organizations)
                //count += await UnitRepository.GetMembersCountAsync(child, usersInput.Filter);
                list = Enumerable.Union(list, await UnitRepository.GetMembersAsync(
                                            child,
                                            userInput.Sorting,
                                            //usersInput.MaxResultCount, // So let's think about looking up all the members of the subset
                                            //usersInput.SkipCount,
                                            filter: userInput.Filter
                                            ));
            }
            return(new PagedResultDto <IdentityUserDto>(
                       list.Count(),
                       ObjectMapper.Map <List <IdentityUser>, List <IdentityUserDto> >(
                           list.Skip(userInput.SkipCount).Take(userInput.MaxResultCount)
                           .ToList()
                           )
                       ));
        }