setDataToLocalDb method
Implementation
Future<void> setDataToLocalDb(
{required List<Map<String, dynamic>> formDetailsList}) async {
// Create formDetailsTableFields map:
Map<String, dynamic> formSetter = <String, dynamic>{};
ConstantName.formDetailsTableFields.forEach((key, value) {
formSetter[key] = null;
});
for (var form in formDetailsList) {
// Copy the reference value to avoid data issue
Map<String, dynamic> formGetter = Map.from(form);
try {
formSetter.forEach((key, value) async {
if (formGetter.containsKey(key)) {
var updateValue = formGetter[key];
if (key == ConstantName.controller) {
formSetter[key] =
ErrorHandling.encodeDataTypeForDb(value: updateValue.text);
} else {
formSetter[key] =
ErrorHandling.encodeDataTypeForDb(value: updateValue);
}
}
});
// update Data to formDetailsTable:
await DatabaseHelper.instance.updateSpecificRow(
map: formSetter,
tablename: ConstantName.formDetailsTable,
whereArgsList: {
ConstantName.clientRetailerId:
formSetter[ConstantName.clientRetailerId],
ConstantName.columnID: formSetter[ConstantName.columnID]
},
);
// update Data to uploadRetailerIdTable:
await DatabaseHelper.instance.updateSpecificColumn(
tableName: ConstantName.uploadRetailerIdTable,
columnName: formSetter[ConstantName.fieldName],
// Need to check:
data: formSetter[ConstantName.controller]?.toString() ?? '',
whereArgsList: {
ConstantName.clientRetailerId:
formSetter[ConstantName.clientRetailerId]
});
} catch (e) {
print('setDataToLocalDb ==> Error: $e, Entry: $formSetter');
}
}
}