addChat static method
dynamic
addChat(
- PersonChat chatData, {
- dynamic lastestData,
})
Implementation
static addChat(PersonChat chatData, {lastestData}) async {
if (allChat.where((element) => DateTime.parse(element['date'].toString().split(' ').first).difference(DateTime.parse(DateFormat('yyyy-MM-dd').format(chatData.date))).inDays == 0 && element['isLabel'] == 'true').isEmpty) {
final person = PersonChat(
chatType: chatData.chatType,
type: chatData.type,
message: chatData.message,
date: chatData.date,
isLabel: true,
person: chatData.person,
listId: chatData.listId,
timezone: chatData.timezone,
id: chatData.id,
);
chat.add(person);
person.message = person.message.replaceAll("'", '{|||}').replaceAll('"', '{|-|}');
await ChatDatabase.insert(data: person, lastestData: lastestData ?? DateTime.now());
} else {
chat.add(chatData);
try {
await ChatDatabase.insert(data: chatData, lastestData: lastestData);
} catch (_) {
chatData.id = (chatData.id ?? 0) + 1;
await ChatDatabase.insert(data: chatData, lastestData: lastestData);
}
}
chat.sort((a, b) => a.date.compareTo(b.date));
}