load method
Implementation
Future load() async {
value = value.copyWith(isLoading: true);
var response = await _repository.getChatHistory(
EnifController().userParams.value?.email ?? '',
EnifController.businessId ?? '');
if (response.isSuccessful && response.body != null) {
var body = response.body!;
value = value.copyWith(isLoading: false, messages: body);
for (var ticket in body) {
var ticketResponse = await _repository.ticketStatus(ticket.id ?? '');
if (ticketResponse.isSuccessful) {
var statusBody = ticketResponse.body;
var updatedTicketStatus =
TicketStatus(ticketid: ticket.id, isRead: statusBody ?? true);
var statusExists =
value.ticketStatus?.any((e) => e.ticketid == ticket.id) ?? false;
var ticketStatusList = statusExists
? value.ticketStatus?.map(
(e) => e.ticketid == ticket.id ? updatedTicketStatus : e)
: [...?value.ticketStatus, updatedTicketStatus];
value = value.copyWith(ticketStatus: ticketStatusList?.toList());
} else {
if (kDebugMode) {
print('ticketResponse:::::::$ticketResponse');
}
}
}
} else {
value = value.copyWith(isLoading: false);
}
}