updateSql method
dynamic
updateSql(
- 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;
}