import 'dart:async'; import 'dart:math'; import 'package:flutter/cupertino.dart'; import 'package:hive_flutter/hive_flutter.dart'; import 'package:konectar_events/model/events_speakers_k1.dart'; import 'package:konectar_events/model/eventsdetailmodel.dart'; import 'package:konectar_events/model/eventspeakers.dart'; import 'package:konectar_events/model/sessionnotesmodel.dart'; import 'package:konectar_events/model/sessionstopics_model.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; List sessionTopics = []; late Box box; Future getSessionTopics(EventSpeakersData detail) async { sessionTopics = await ApiCall().getSessionsTopics(detail.eid!, detail.kolId == "0" ? detail.hcpPinAlias! : detail.kolId!, detail.kId!); totalSessions = sessionTopics.length; notifyListeners(); } Future submitSessionNotes(EventSpeakersData detail, SessionsTopicsData sessionsTopicsData, String notes) async { var data = await ApiCall().addSessionNotes( sessionsTopicsData.kolEventsId!, detail.kolId == "0" ? detail.hcpPinAlias! : detail.kolId!, detail.eventAttendeesId!, detail.kId!, notes); return data; } 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, EventSpeakersData eventsdetail) { print("Check hcp id"); print("$eid,${eventsdetail.id}"); 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.kolFullName!.toLowerCase() && lname.toLowerCase() == eventsdetail.kolFullName!.toLowerCase(); } else { return element.hcpid == eventsdetail.id; } }).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()); // } } }