addFilterToSQL static method

SqlFilter addFilterToSQL(
  1. String query,
  2. GroupFilterExp groupFilterExp
)

Implementation

static SqlFilter addFilterToSQL(String query, GroupFilterExp groupFilterExp) {
  /// Usa toString para criar uma nova string
  query = query.toString().toUpperCase();
  assert(query.contains('WHERE') || query.contains('\$HAVING'));

  SqlFilter sqfFilterWhere =
      _getSQLFromGroupFilter(groupFilterExp, false, []);
  query = query.replaceAll('WHERE', 'WHERE ${sqfFilterWhere.query} AND ');

  SqlFilter sqfFilterGroupBy =
      _getSQLFromGroupFilter(groupFilterExp, true, sqfFilterWhere.args);
  query = query.replaceAll('\$HAVING', 'HAVING ${sqfFilterGroupBy.query} ');

  return SqlFilter(query: query, args: sqfFilterGroupBy.args);
}