import 'dart:async'; import 'dart:math'; import 'package:flutter/cupertino.dart'; import 'package:hive_flutter/hive_flutter.dart'; import 'package:konectar_events/model/eventsdetailmodel.dart'; import 'package:konectar_events/model/sessionnotesmodel.dart'; import 'package:konectar_events/model/topics_cloud_model.dart'; import 'package:konectar_events/utils/apicall.dart'; import 'package:konectar_events/widgets/word_cloud.dart'; class HcpProfileProvider extends ChangeNotifier { List sessionNotesList = []; List allSessionNotesList = []; int totalTopics = 0; int totalSessions = 0; int totalNotes = 0; late Box box; getCounts(Eventsdetail eventsdetail) { List topics = eventsdetail.eventTopics!.split("|"); totalTopics = topics.length; totalSessions = int.parse(eventsdetail.numSess ?? "1"); totalNotes = sessionNotesList.length; notifyListeners(); } addSessionNotes(SessionNotesModel sessionNotesModel) async { // sessionNotesList.add(sessionNotesModel); await saveSessionData(sessionNotesModel); notifyListeners(); } List getSessionNotesList( String eid, Eventsdetail eventsdetail) { print("Check hcp id"); print("$eid,${eventsdetail.kolId}"); sessionNotesList = sessionNotesList .where( (element) => element.eventid == eid, ) .toList(); sessionNotesList = sessionNotesList.where((element) { print("Check hcp id each"); print("${element.hcpid}"); if (element.hcpid == null) { print("search"); String fname = element.hcpname!.split(" ")[0]; String lname = element.hcpname!.split(" ").last; print("${element.hcpname}"); return fname.toLowerCase() == eventsdetail.firstName!.toLowerCase() && lname.toLowerCase() == eventsdetail.lastName!.toLowerCase(); } else { return element.hcpid == eventsdetail.kolId; } }).toList(); totalNotes = sessionNotesList.length; return sessionNotesList; } getAllSessionNotesList(String eid) async { print("Check hcp id"); // print("$eid,$hcpid"); await getSessionData(); allSessionNotesList = sessionNotesList.where((element) => element.eventid == eid).toList(); notifyListeners(); } FutureOr saveSessionData(SessionNotesModel notesModel) async { box = await Hive.openBox('SessionNotesModelBox'); box.add(notesModel); await getSessionData(); notifyListeners(); } FutureOr getSessionData() async { box = await Hive.openBox('SessionNotesModelBox'); Iterable data = box.values; sessionNotesList = data.toList(); notifyListeners(); // for (var obj in data) { // sessionNotesList = new.fromJson(obj.toJson()); // } } }