addZzylog method
dynamic
addZzylog(
- dynamic data,
- dynamic context
Implementation
addZzylog(data, context) {
myLogAll('addZzylog');
//merget data
var timestamp = data[gTimestamp];
if (data[gUpdate] != null) {
List list = data[gUpdate];
for (int i = 0; i < list.length; i++) {
Map aMap = getMap(list[i]);
var tablename = aMap.entries.first.key;
Map rowData = getMap(aMap.entries.first.value);
var tableInfo = _tableList[tablename];
List tableData = tableInfo![gData];
tableInfo[gTimestamp] = timestamp;
for (int j = 0; j < tableData.length; j++) {
var element1 = tableData[j];
if (element1[gId] == rowData[gId]) {
element1 = rowData;
}
}
}
for (int i = 0; i < list.length; i++) {
Map aMap = getMap(list[i]);
var tablename = aMap.entries.first.key;
Map rowData = getMap(aMap.entries.first.value);
var tableInfo = _tableList[tablename];
List tableData = tableInfo![gData];
tableInfo[gTimestamp] = timestamp;
for (int j = 0; j < tableData.length; j++) {
if (tableData[j][gId] == rowData[gId]) {
tableData[j] = rowData;
}
}
}
}
if (data[gNew] != null) {
List list = data[gNew];
for (int i = 0; i < list.length; i++) {
Map aMap = getMap(list[i]);
var tablename = aMap.entries.first.key;
Map rowData = getMap(aMap.entries.first.value);
var tableInfo = _tableList[tablename];
List tableData = tableInfo![gData];
tableInfo[gTimestamp] = timestamp;
bool findRow = false;
for (int j = 0; j < tableData.length; j++) {
if (tableData[j][gId] == rowData[gId]) {
tableData[j] = rowData;
findRow = true;
}
}
if (!findRow) {
tableInsert(tablename, rowData, context);
}
}
}
if (data[gDelete] != null) {
List list = data[gDelete];
for (int i = 0; i < list.length; i++) {
Map aMap = getMap(list[i]);
var tablename = aMap.entries.first.key;
Map rowData = getMap(aMap.entries.first.value);
var tableInfo = _tableList[tablename];
//List tableData = tableInfo[gData];
tableInfo![gTimestamp] = timestamp;
//tableData.removeWhere((element1) => element1[gId] == rowData[gId]);
tableRemove(tablename, rowData, context);
}
}
}