public async Task <PagedResultDto <NameValueDto> > FindUsers(FindOrganizationUnitUsersInput input)
        {
            var userIdsInOrganizationUnit = _userOrganizationUnitRepository.GetAll()
                                            .Where(uou => uou.OrganizationUnitId == input.OrganizationUnitId)
                                            .Select(uou => uou.UserId);

            var query = UserManager.Users
                        .Where(u => !userIdsInOrganizationUnit.Contains(u.Id))
                        .WhereIf(
                !input.Filter.IsNullOrWhiteSpace(),
                u =>
                u.Name.Contains(input.Filter) ||
                u.Surname.Contains(input.Filter) ||
                u.UserName.Contains(input.Filter) ||
                u.EmailAddress.Contains(input.Filter)
                );

            var userCount = await query.CountAsync();

            var users = await query
                        .OrderBy(u => u.Name)
                        .ThenBy(u => u.Surname)
                        .PageBy(input)
                        .ToListAsync();

            return(new PagedResultDto <NameValueDto>(
                       userCount,
                       users.Select(u =>
                                    new NameValueDto(
                                        u.FullName + " (" + u.EmailAddress + ")",
                                        u.Id.ToString()
                                        )
                                    ).ToList()
                       ));
        }
Пример #2
0
        public AddUsersViewModel(IOrganizationUnitAppService appService,
                                 IDataPagerService dataPager)
        {
            input           = new FindOrganizationUnitUsersInput();
            QueryCommand    = new DelegateCommand(Query);
            this.dataPager  = dataPager;
            this.appService = appService;

            dataPager.OnPageIndexChangedEventhandler += UserOnPageIndexChangedEventhandler;
        }
Пример #3
0
 private async Task FindUsers(FindOrganizationUnitUsersInput input)
 {
     await WebRequest.Execute(() => appService.FindUsers(input),
                              async result =>
     {
         dataPager.SetList(new PagedResultDto <ChooseItem>()
         {
             Items = result.Items.Select(t => new ChooseItem(t)).ToList()
         });
         await Task.CompletedTask;
     });
 }
        private IQueryable <Authorization.Users.User> CreateFindUsersQuery(FindOrganizationUnitUsersInput input)
        {
            var userIdsInOrganizationUnit = _userOrganizationUnitRepository.GetAll()
                                            .Where(uou => uou.OrganizationUnitId == input.OrganizationUnitId)
                                            .Select(uou => uou.UserId);

            var query = UserManager.Users
                        .Where(u => !userIdsInOrganizationUnit.Contains(u.Id))
                        .WhereIf(
                !input.Filter.IsNullOrWhiteSpace(),
                u =>
                u.Name.Contains(input.Filter) ||
                u.Surname.Contains(input.Filter) ||
                u.UserName.Contains(input.Filter) ||
                u.EmailAddress.Contains(input.Filter)
                );

            return(query);
        }
        public async Task <PagedResultDto <NameValueDto> > FindUsers(FindOrganizationUnitUsersInput input)
        {
            var query = CreateFindUsersQuery(input);

            var userCount = await query.CountAsync();

            var users = await query
                        .OrderBy(u => u.Name)
                        .ThenBy(u => u.Surname)
                        .PageBy(input)
                        .ToListAsync();

            return(new PagedResultDto <NameValueDto>(
                       userCount,
                       users.Select(u =>
                                    new NameValueDto(
                                        u.FullName + " (" + u.EmailAddress + ")",
                                        u.Id.ToString()
                                        )
                                    ).ToList()
                       ));
        }
        public async Task <PagedResultDto <OrganizationUnitUserListDto> > FindUsersNew(FindOrganizationUnitUsersInput input)
        {
            var query = CreateFindUsersQuery(input);

            var userCount = await query.CountAsync();

            var users = await query
                        .OrderBy(u => u.Name)
                        .ThenBy(u => u.Surname)
                        .PageBy(input)
                        .ToListAsync();

            return(new PagedResultDto <OrganizationUnitUserListDto>(

                       userCount,
                       users.Select(u =>
                                    ObjectMapper.Map <OrganizationUnitUserListDto>(u)).ToList()
                       ));
        }
Пример #7
0
        public async Task <PagedResultDto <AssociateUserOrganizationUnitDto> > GetUsers(FindOrganizationUnitUsersInput input)
        {
            var userIdsInOrganizationUnit = _userOrganizationUnitRepository.GetAll()
                                            .Where(uou => uou.OrganizationUnitId == input.OrganizationUnitId)
                                            .Select(uou => uou.UserId);

            var query = _userManager.Users
                        .Where(u => !userIdsInOrganizationUnit.Contains(u.Id))
                        .WhereIf(
                !input.Filter.IsNullOrWhiteSpace(),
                u =>
                u.Name.Contains(input.Filter) ||
                u.Surname.Contains(input.Filter) ||
                u.UserName.Contains(input.Filter) ||
                u.EmailAddress.Contains(input.Filter)
                );

            var userCount = await query.CountAsync();

            var users = await query
                        .OrderBy(u => u.Name)
                        .PageBy(input)
                        .ToListAsync();

            var usersToAssociate = ObjectMapper.Map <List <AssociateUserOrganizationUnitDto> >(users);

            usersToAssociate.ForEach(x => x.OrganizationUnitId = input.OrganizationUnitId);
            return(new PagedResultDto <AssociateUserOrganizationUnitDto>(
                       userCount,
                       usersToAssociate
                       ));
        }
Пример #8
0
 public virtual Task <PagedResultDto <NameValueDto> > FindUsers(FindOrganizationUnitUsersInput input)
 {
     return(OrganizationUnitAppService.FindUsers(input));
 }