91 lines
2.8 KiB
Dart
91 lines
2.8 KiB
Dart
|
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<SessionNotesModel> sessionNotesList = [];
|
||
|
List<SessionNotesModel> allSessionNotesList = [];
|
||
|
int totalTopics = 0;
|
||
|
int totalSessions = 0;
|
||
|
int totalNotes = 0;
|
||
|
late Box<SessionNotesModel> box;
|
||
|
|
||
|
getCounts(Eventsdetail eventsdetail) {
|
||
|
List<String> 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<SessionNotesModel> 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<SessionNotesModel>('SessionNotesModelBox');
|
||
|
|
||
|
box.add(notesModel);
|
||
|
await getSessionData();
|
||
|
|
||
|
notifyListeners();
|
||
|
}
|
||
|
|
||
|
FutureOr getSessionData() async {
|
||
|
box = await Hive.openBox<SessionNotesModel>('SessionNotesModelBox');
|
||
|
Iterable<SessionNotesModel> data = box.values;
|
||
|
sessionNotesList = data.toList();
|
||
|
notifyListeners();
|
||
|
// for (var obj in data) {
|
||
|
// sessionNotesList = new.fromJson(obj.toJson());
|
||
|
// }
|
||
|
}
|
||
|
}
|