addZzylog method

dynamic addZzylog(
  1. dynamic data,
  2. 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);
    }
  }
}