import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:generp/Notifiers/HomeScreenNotifier.dart'; import 'package:generp/Utils/SharedpreferencesService.dart'; import 'package:generp/screens/LoginScreen.dart'; import 'package:generp/services/api_calling.dart'; import 'package:provider/provider.dart'; import '../Models/hrmModels/jobDescriptionResponse.dart'; class ProfileNotifer extends ChangeNotifier{ var _profileImage = ""; var _company = ""; var _branch = ""; var _designation; var _mobile_num = ""; var _isLoading =false; var _secretKey =""; var _latestversion =""; var _releaseNotes =""; var _employeeName =""; var _employerID =""; var _employeeDesignation =""; var _employeeEmail =""; get profileImage => _profileImage; get company => _company; get branch => _branch; get designation => _designation; get mobileNUmber => _mobile_num; get isLoading => _isLoading; get secretKey => _secretKey; get latestVersion => _latestversion; get releaseNotes => _releaseNotes; get employeeName => _employeeName; get employeeeID => _employerID; get employeeDesignation => _employeeDesignation; get employeeEmail => _employeeEmail; Future ProfileApiFunction(HomescreenNotifier prov, BuildContext context) async { try { final data = await ApiCalling.ProfileFunctionApi(prov.empId ?? "", prov.session ?? ""); if (data != null) { if (data.sessionExists == 1) { _profileImage = data.profilePic ?? ""; _company = data.company ?? ""; _branch = data.branchName ?? ""; _designation = data.designation ?? ""; _mobile_num = data.mobileNo ?? ""; _isLoading = false; _secretKey = data.totpSecret!; _employeeName = data.empName??""; _employerID = data.empId??""; _employeeDesignation = data.designation??""; _employeeEmail = data.emailId??""; notifyListeners(); } else if (data.sessionExists == 0) { SharedpreferencesService().clearPreferences(); Navigator.push(context, MaterialPageRoute(builder: (context) => LoginScreen())); notifyListeners(); // print(data.toString()); } } else {print("Something went wrong, Please try again.");} } on Exception catch (e) { print("$e"); } } Future VersionApiFunction() async { try { final data = await ApiCalling.checkAppVersionApi(); if (data != null) { _latestversion = data.latestVersion ?? ""; if (Platform.isAndroid) { _releaseNotes = data.releaseNotes ?? ""; } else if (Platform.isIOS) { _releaseNotes = data.iosReleaseNotes ?? ""; } notifyListeners(); } else {print("Something went wrong, Please try again.");} } on Exception catch (e) { print("$e"); } } String? _errorMessage; jobDescriptionResponse? _response; String? get errorMessage => _errorMessage; jobDescriptionResponse? get response => _response; Future fetchJobDescription(HomescreenNotifier prov, BuildContext context) async { _isLoading = true; _errorMessage = null; _response = null; notifyListeners(); try { final provider = Provider.of(context, listen: false); final result = await ApiCalling.jobDescriptAPI( provider.empId, provider.session, ); if (result != null) { _response = result; } else { _errorMessage = "No job description data found!"; } } catch (e) { _errorMessage = "Something went wrong: $e"; } _isLoading = false; notifyListeners(); } }