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() )); }
public AddRolesViewModel(IOrganizationUnitAppService appService, IDataPagerService dataPager) { input = new FindOrganizationUnitRolesInput(); QueryCommand = new DelegateCommand(Query); this.appService = appService; this.dataPager = dataPager; dataPager.OnPageIndexChangedEventhandler += RoleOnPageIndexChangedEventhandler; }
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; }); }
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 )); }
public virtual Task <PagedResultDto <NameValueDto> > FindRoles(FindOrganizationUnitRolesInput input) { return(OrganizationUnitAppService.FindRoles(input)); }