buildParameters method
void
buildParameters(
{ - bool? getIsDeleted,
- int? pSize,
})
Implementation
@protected
void buildParameters({bool? getIsDeleted, int? pSize}) {
_pagesize = pSize ?? _pagesize;
_getIsDeleted = getIsDeleted ?? _getIsDeleted;
if (_page > 0 && _pagesize > 0) {
qparams
..limit = _pagesize
..offset = (_page - 1) * _pagesize;
} else {
qparams
..limit = _pagesize
..offset = _page;
}
for (DbParameter param in parameters) {
if (param.columnName != null) {
if (param.value is List && !param.hasParameter) {
param.value = param.dbType == DbType.text || param.value[0] is String ? '\'${param.value.join('\',\'')}\'' : param.value.join(',');
whereString += param.whereString.replaceAll('{field}', param.columnName!).replaceAll('?', param.value.toString());
param.value = null;
} else {
if (param.value is Map<String, dynamic> && param.value['sql'] != null) {
param
..whereString = param.whereString.replaceAll('?', param.value['sql'].toString())
..dbType = DbType.integer
..value = param.value['args'];
}
whereString += param.whereString.replaceAll('{field}', param.columnName!);
}
if (!param.whereString.contains('?')) {
} else {
switch (param.dbType) {
case DbType.bool:
param.value = param.value == null
? null
: param.value == true
? 1
: 0;
param.value2 = param.value2 == null
? null
: param.value2 == true
? 1
: 0;
break;
case DbType.date:
case DbType.datetime:
case DbType.datetimeUtc:
param.value = param.value == null ? null : (param.value as DateTime).millisecondsSinceEpoch;
param.value2 = param.value2 == null ? null : (param.value2 as DateTime).millisecondsSinceEpoch;
break;
default:
}
if (param.value != null) {
if (param.value is List) {
for (var p in param.value) {
whereArguments.add(p);
}
} else {
whereArguments.add(param.value);
}
}
if (param.value2 != null) {
whereArguments.add(param.value2);
}
}
} else {
whereString += param.whereString;
}
}
if (_tableObj!.softDeleteActivated) {
if (whereString != '') {
whereString = '${!_getIsDeleted ? 'ifnull(isDeleted,0)=0 AND' : ''} ($whereString)';
} else if (!_getIsDeleted) {
whereString = 'ifnull(isDeleted,0)=0';
}
}
if (whereString != '') {
qparams.whereString = whereString;
}
qparams
..whereArguments = whereArguments
..groupBy = groupByList.join(',')
..orderBy = orderByList.join(',')
..having = havingList.join(',');
}