コード例 #1
0
        public async Task <PagedResultDto <NameValueDto> > FindRoles(FindOrganizationUnitRolesInput input)
        {
            var roleIdsInOrganizationUnit = _organizationUnitRoleRepository.GetAll()
                                            .Where(uou => uou.OrganizationUnitId == input.OrganizationUnitId)
                                            .Select(uou => uou.RoleId);

            var query = _roleManager.Roles
                        .Where(u => !roleIdsInOrganizationUnit.Contains(u.Id))
                        .WhereIf(
                !input.Filter.IsNullOrWhiteSpace(),
                u =>
                u.DisplayName.Contains(input.Filter) ||
                u.Name.Contains(input.Filter)
                );

            var roleCount = await query.CountAsync();

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

            return(new PagedResultDto <NameValueDto>(
                       roleCount,
                       users.Select(u =>
                                    new NameValueDto(
                                        u.DisplayName,
                                        u.Id.ToString()
                                        )
                                    ).ToList()
                       ));
        }
コード例 #2
0
        public AddRolesViewModel(IOrganizationUnitAppService appService,
                                 IDataPagerService dataPager)
        {
            input           = new FindOrganizationUnitRolesInput();
            QueryCommand    = new DelegateCommand(Query);
            this.appService = appService;
            this.dataPager  = dataPager;

            dataPager.OnPageIndexChangedEventhandler += RoleOnPageIndexChangedEventhandler;
        }
コード例 #3
0
 private async Task FindRoles(FindOrganizationUnitRolesInput input)
 {
     await WebRequest.Execute(() => appService.FindRoles(input),
                              async result =>
     {
         dataPager.SetList(new PagedResultDto <ChooseItem>()
         {
             Items = result.Items.Select(t => new ChooseItem(t)).ToList()
         });
         await Task.CompletedTask;
     });
 }
コード例 #4
0
        public async Task <PagedResultDto <AssociateRoleToOrganizationUnitDto> > GetRoles(FindOrganizationUnitRolesInput input)
        {
            var roleIdsInOrganizationUnit = _roleOrganizationUnitRepository.GetAll()
                                            .Where(uou => uou.OrganizationUnitId == input.OrganizationUnitId)
                                            .Select(uou => uou.RoleId);

            var query = _roleManager.Roles
                        .Where(u => !roleIdsInOrganizationUnit.Contains(u.Id))
                        .WhereIf(
                !input.Filter.IsNullOrWhiteSpace(),
                u =>
                u.Name.Contains(input.Filter)
                );

            var roleCount = await query.CountAsync();

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

            var rolesToAssociate = ObjectMapper.Map <List <AssociateRoleToOrganizationUnitDto> >(roles);

            rolesToAssociate.ForEach(x => x.OrganizationUnitId = input.OrganizationUnitId);
            return(new PagedResultDto <AssociateRoleToOrganizationUnitDto>(
                       roleCount,
                       rolesToAssociate
                       ));
        }
コード例 #5
0
 public virtual Task <PagedResultDto <NameValueDto> > FindRoles(FindOrganizationUnitRolesInput input)
 {
     return(OrganizationUnitAppService.FindRoles(input));
 }