import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:generp/Models/crmModels/crmDashboardResponse.dart'; import 'package:provider/provider.dart'; import '../../Models/crmModels/AccessiblePagesResponse.dart'; import '../../Models/crmModels/crmPendingTasksResponse.dart'; import '../../Models/crmModels/crmUniversalSearchResponse.dart'; import '../../services/api_calling.dart'; import '../HomeScreenNotifier.dart'; class Crmdashboardprovider extends ChangeNotifier { TextEditingController searchController = TextEditingController(); List _accessPages = []; List get accessPages => _accessPages; List _pendingTasks = []; List get pendingTasksLists => _pendingTasks; List _accountsList = []; List _leadsList = []; List _enquiresList = []; List get accountsList => _accountsList; List get leadsList => _leadsList; List get enquiresList => _enquiresList; Hotleads _hotleads = Hotleads(); Hotleads get hotleads => _hotleads; Hotleads _coldleads = Hotleads(); Hotleads get coldleads => _coldleads; Hotleads _warmleads = Hotleads(); Hotleads get warmleads => _warmleads; Hotleads _totalleads = Hotleads(); Hotleads get totalleads => _totalleads; Hotleads _orderlost = Hotleads(); Hotleads get orderlost => _orderlost; Hotleads _norequirement = Hotleads(); Hotleads get norequirement => _norequirement; Hotleads _openEnquiries = Hotleads(); Hotleads get openEnquiries => _openEnquiries; List _allLeads = []; List get allLeads => _allLeads; Future accessPagesAPIFunction(context) async { try { var HomeProv = Provider.of(context, listen: false); final data = await ApiCalling.crmAccessiblePagesAPI( HomeProv.empId, HomeProv.session, ); if (data != null) { if (data.error == "0") { _accessPages = data.pagesAccessible!; _accessPages.add( PagesAccessible(mode: "", id: 0, pageName: "Nearby Leads"), ); notifyListeners(); } } } catch (e, s) {} } Future crmDashboardAPIFunction( context, mode, from, to, teamemployee, ) async { try { var HomeProv = Provider.of(context, listen: false); final data = await ApiCalling.crmDashboardAPI( HomeProv.empId, HomeProv.session, mode, from, to, teamemployee, ); if (data != null) { if (data.error == "0") { _hotleads = data.hotleads!; _coldleads = data.coldleads!; _warmleads = data.warmleads!; _totalleads = data.totalleads!; _orderlost = data.orderlost!; _norequirement = data.norequirement!; _openEnquiries = data.openEnquiries!; _allLeads = [ _hotleads, _coldleads, _warmleads, _totalleads, _orderlost, _norequirement, _openEnquiries, ]; notifyListeners(); } } } catch (e, s) {} } Future crmPendingTasksAPIFunction(context) async { try { var HomeProv = Provider.of(context, listen: false); final data = await ApiCalling.crmPendingTasksAPI( HomeProv.empId, HomeProv.session, ); if (data != null) { if (data.error == "0") { _pendingTasks = data.pendingTasks!; notifyListeners(); } } } catch (e, s) {} } Future crmUniversalSearchFunction(context) async { try { var HomeProv = Provider.of(context, listen: false); final data = await ApiCalling.crmUniversalSearchAPI( HomeProv.empId, HomeProv.session, searchController.text, ); if (data != null) { if (data.error == "0") { _accountsList = data.accounts ?? []; _leadsList = data.leads ?? []; _enquiresList = data.enquires ?? []; notifyListeners(); } } } catch (e, s) {} } }