public List <T> all(List <QueryParam> queryParams, bool withIncludes = true) { if (!policy.checkList(typeof(T))) { throw new UnauthorizedException("You do not have permission to list requested resources."); } // transform queryParams to DbParams var dbParams = new DbParams(); foreach (var param in queryParams) { dbParams.add(new DbParam(param.Name, param.Value, this.transformer.getParamType(param.Name), param.Operator, param.BooleanOpr)); } // read data var reader = DB.all(this.tableName, manipulateParams(dbParams)); var result = new List <T>(); while (reader.Read()) { var transformed = this.transformer.transform(reader); transformed = withIncludes ? this.addIncludes(transformed) : transformed; result.Add(transformed); } reader.Close(); return(result); }