public IList <EntityVm> GetEntities(DisplayType display, EntityType type, int pageNumber, int pageSize, bool isDesc, string searchString, int[] excludeIds) { var access = GetEntitiesAccess(); if (access == AccessType.Deny) { throw new SecurityException("Can't get entites."); } if (display.Has(DisplayType.My) && CurrentUserRecord == null) { throw new SecurityException("Can't show my entities without user."); } IQueryable <EntityRecord> query; if (display.Has(DisplayType.All) && display.Has(DisplayType.My)) { query = _entityRepository.Table.WherePublicAndMine(type, CurrentUserRecord.Id); } else if (display.Has(DisplayType.My)) { query = CurrentUserRecord.Entities.AsQueryable(); } else if (display.Has(DisplayType.All)) { query = _entityRepository.Table.WherePublic(type); } else { return(null); } var result = GetEntities(query, type, pageNumber, pageSize, isDesc, searchString, excludeIds); return(result); }