public IEnumerable <UserGroupMembership> GetMembers(UserGroupsSearchRequest request) { var result = new List <UserGroupMembership>(); //Build Query if (request.OrganizationId.HasValue) { var query = _userGroupRepo.FindAll().OfType <Olma.OrganizationUserGroup>() .Include(i => i.Users) .AsNoTracking() .IgnoreQueryFilters() .Where(q => !q.IsDeleted && q.OrganizationId == request.OrganizationId); result = query.ProjectTo <UserGroupMembership>(Mapper.ConfigurationProvider).ToList(); } if (request.CustomerId.HasValue) { var query = _userGroupRepo.FindAll().OfType <Olma.CustomerUserGroup>() .Include(i => i.Users) .AsNoTracking() .IgnoreQueryFilters() .Where(q => !q.IsDeleted && q.CustomerId == request.CustomerId); result = query.ProjectTo <UserGroupMembership>(Mapper.ConfigurationProvider).ToList(); } if (request.CustomerDivisionId.HasValue) { var query = _userGroupRepo.FindAll().OfType <Olma.CustomerDivisionUserGroup>() .Include(i => i.Users) .AsNoTracking() .IgnoreQueryFilters() .Where(q => !q.IsDeleted && q.CustomerDivisionId == request.CustomerDivisionId); result = query.ProjectTo <UserGroupMembership>(Mapper.ConfigurationProvider).ToList(); } return(result); }
public IEnumerable <UserGroupListItem> Search(UserGroupsSearchRequest request) { //Build Query if (request.OrganizationId.HasValue) { var query = _userGroupRepo.FindAll().OfType <Olma.OrganizationUserGroup>() .Include(i => i.Permissions) .AsNoTracking() .IgnoreQueryFilters() .Where(q => !q.IsDeleted && q.OrganizationId == request.OrganizationId); return(query.ProjectTo <UserGroupListItem>(Mapper.ConfigurationProvider).ToList()); } if (request.CustomerId.HasValue) { var query = _userGroupRepo.FindAll().OfType <Olma.CustomerUserGroup>() .Include(i => i.Permissions) .AsNoTracking() .IgnoreQueryFilters() .Where(q => !q.IsDeleted && q.CustomerId == request.CustomerId); return(query.ProjectTo <UserGroupListItem>(Mapper.ConfigurationProvider).ToList()); } if (request.CustomerDivisionId.HasValue) { var query = _userGroupRepo.FindAll().OfType <Olma.CustomerDivisionUserGroup>() .Include(i => i.Permissions) .AsNoTracking() .IgnoreQueryFilters() .Where(q => !q.IsDeleted && q.CustomerDivisionId == request.CustomerDivisionId); return(query.ProjectTo <UserGroupListItem>(Mapper.ConfigurationProvider).ToList()); } if (request.PostingAccountId.HasValue) { throw new NotImplementedException(); //TODO: Get Usergroups by PostingAccountId } return(null); }
//[HasPermission(typeof(CanReadVoucherRequirement))] TODO User management Permissions public object Members(DataSourceLoadOptions loadOptions, [FromQuery] UserGroupsSearchRequest request) { return(DataSourceLoader.Load(this._userGroupService.GetMembers(request), loadOptions)); }