insertList static method

dynamic insertList({
  1. required List<PersonChat> data,
})

Implementation

static insertList({required List<PersonChat> data}) async {
  String list = '';
  int count = 0;
  String lastMessage = '';
  for (final i in data) {
    ++count;
    if (count == data.length) {
      list += '(${i.id},${i.listId},"${i.message}","${i.isLabel}","${enumPersonParse(i.type)}","${i.date}","${i.person?.name}","${i.person?.pathImage}",${enumChatTypeParse(i.chatType.type)},"${enumFileTypeParse(i.chatType.file)}","null","0")';
    } else {
      list += '(${i.id},${i.listId},"${i.message}","${i.isLabel}","${enumPersonParse(i.type)}","${i.date}","${i.person?.name}","${i.person?.pathImage}",${enumChatTypeParse(i.chatType.type)},"${enumFileTypeParse(i.chatType.file)}","null","0"),';
    }
    lastMessage = i.message;
  }
  Database db = await connect();
  await db.transaction((txn) async {
    await txn.rawInsert('INSERT INTO Chat(id,idlist,message, isLabel, type,date,person_name,person_image,chatType,fileType,idFile,progress) VALUES $list');
    await txn.rawUpdate('UPDATE ListChat SET updated=${DateTime.now().millisecondsSinceEpoch},message="$lastMessage" WHERE id=${data.first.listId}');
  });
  // await db.close();
}