updateSql method

dynamic updateSql(
  1. int pageNo
)

Implementation

updateSql(int pageNo) {
  if (this.type == SourceType.local) {
    if (!orderField.toLowerCase().contains('date(') &&
        orderField.toLowerCase().contains('date')) {
      orderField = 'date($orderField)';
    } else if (orderField.toLowerCase().contains('Sendattime')) {
      orderField = 'date($orderField)';
    }
  }

  var model = Dynamic.genericModelName(modelList);
  var ps =
      this.pageSize ?? Libs.config.data.pageSize; //Local PageSize by Imrose

  var _dsWhere = where;
  var _quickWhere = quickWhere.isEmpty
      ? ''
      : _dsWhere.isEmpty
          ? quickWhere
          : ' and ($quickWhere)';
  var _advanceWhere = advanceWhere.isEmpty
      ? ''
      : quickWhere.isEmpty
          ? advanceWhere
          : ' and ($advanceWhere)';
  //var dsWhere = where.isNotEmpty ? (quickWhere.isEmpty ? ' where $where' : ' and $where') : '';
  whereFilter = '$_dsWhere $_quickWhere $_advanceWhere'.trim();

  var sql =
      'select $selectFields from $model ${whereFilter.isEmpty ? '' : ' where '}'
      ' $whereFilter $groupBy order by $orderField $order limit $ps offset ${ps! * pageNo}';
  if (whereFilter.isEmpty) sql = sql.replaceAll('where', '');
  if (order.isEmpty) sql = sql.replaceAll('order by', '');

  if (this.select.isNotEmpty) {
    this.sql = '$select limit $ps offset ${ps * pageNo}';
  }
  print('DS dsWhere: $_dsWhere');
  print('DS quickWhere: $_quickWhere');
  print('DS advWhere: $_advanceWhere');
  print('DS whereFilter: $whereFilter');
  print('DS SQL: $sql');
  this.sql = sql;
}