pre and post double token

This commit is contained in:
venbaittech 2025-02-20 13:45:19 +05:30
parent 77435a82a6
commit 7d4d82042a
23 changed files with 905 additions and 404 deletions

View File

@ -9,7 +9,7 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
Future<void> logout(BuildContext context) async {
final prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
await prefs.clear();

View File

@ -28,7 +28,7 @@ class _CustomAppBarState extends State<CustomAppBar> {
Future<void> getEmpStatus() async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
empStatus = prefs.getString('emp_status');
empStatus = prefs.getString('enrollmentEmp_status');
}
Future<void> logout(BuildContext context) async {

View File

@ -38,7 +38,7 @@ void clearLocalStorageOnAppStart() {
}
Future<void> main() async {
clearLocalStorageOnAppStart();
// clearLocalStorageOnAppStart();
WidgetsFlutterBinding.ensureInitialized();
// final SharedPreferences prefs = await SharedPreferences.getInstance();
// prefs.clear();

View File

@ -37,12 +37,21 @@ class _MyEmailVerifyState extends State<MyEmailVerify> {
late Timer _timer;
int _secondsRemaining = 60;
bool _isTimerRunning = false;
dynamic enrollmentEmpClientBranchId;
dynamic enrollmentEmpCodeString;
dynamic enrollmentEmpPrimaryId;
dynamic enrollmentGpaEmpName;
dynamic enrollmentClient_id;
dynamic enrollmentEmp_status;
dynamic empCodeString;
dynamic empClientBranchId;
dynamic empPrimaryId;
dynamic gpaEmpName;
dynamic client_id;
dynamic _token;
dynamic _postToken;
dynamic clientName;
dynamic clientLogo;
dynamic emp_status;
@ -146,55 +155,24 @@ class _MyEmailVerifyState extends State<MyEmailVerify> {
print('data: $data');
_token = data['data'];
String status = data['status'];
print(status);
if (status == 'success') {
// Directly access the post_enrollment data
Map<String, dynamic> post = data['post_enrollment'];
print('post: $post');
_postToken = post['data'];
String postStatus = post['status'];
if (postStatus == 'success') {
setState(() {
_isLoading = false;
});
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('token', data['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(data['data']);
print('decodedToken : $decodedToken');
empClientBranchId = decodedToken['client_branch_id'];
prefs.setString('empClientBranchId', empClientBranchId);
empCodeString = decodedToken['emp_code'].toString();
prefs.setString('empCode', empCodeString);
empPrimaryId = decodedToken['id'];
prefs.setString('empPrimaryId', empPrimaryId);
gpaEmpName = decodedToken['name'].toString();
prefs.setString('gpaEmpName', gpaEmpName);
client_id = decodedToken['client_id'];
prefs.setString('client_id', client_id);
emp_status = decodedToken['emp_status'];
prefs.setString('emp_status', emp_status);
getClientLogoAndDetails();
print('Successfully Login');
// Redirect to another page
final token = prefs.getString('token');
// int skipStatus = prefs.getInt('skipStatus') ?? 1;
// final mpinText = prefs.getString('mpinText');
print(isMobilePlatform());
if (isMobilePlatform()) {
// if (prefs.containsKey('mpin') && mpinText == 'Mpin - exist') {
if (token != null && token.isNotEmpty) {
await initNotification();
Navigator.pushReplacementNamed(context, 'pinSettingPage');
}
// }
} else {
if (token != null && token.isNotEmpty) {
ToastHelper.showSuccessToast(context, 'Successfully Login');
if (emp_status == 'enrolled' || emp_status == 'active') {
Navigator.pushReplacementNamed(context, 'home');
} else {
Navigator.pushReplacementNamed(context, 'empDetails');
}
}
}
postSuccessData(post, data);
} else if (status == 'success') {
setState(() {
_isLoading = false;
});
enrollmentSuccessData(data);
} else {
setState(() {
_isLoading = false;
@ -221,6 +199,130 @@ class _MyEmailVerifyState extends State<MyEmailVerify> {
}
}
void postSuccessData(post, data) async {
String status = data['status'];
String postStatus = post['status'];
if (postStatus == 'success') {
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('_postToken', post['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(post['data']);
print('decodedToken : $decodedToken');
empClientBranchId = decodedToken['client_branch_id'];
prefs.setString('empClientBranchId', empClientBranchId);
empCodeString = decodedToken['emp_code'].toString();
prefs.setString('empCode', empCodeString);
empPrimaryId = decodedToken['id'];
prefs.setString('empPrimaryId', empPrimaryId);
gpaEmpName = decodedToken['name'].toString();
prefs.setString('gpaEmpName', gpaEmpName);
client_id = decodedToken['client_id'];
prefs.setString('client_id', client_id);
emp_status = decodedToken['emp_status'];
prefs.setString('emp_status', emp_status);
getClientLogoAndDetails();
print('Successfully Login');
// Redirect to another page
}
if (status == 'success') {
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('enrollToken', data['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(data['data']);
print('decodedToken : $decodedToken');
enrollmentEmpClientBranchId = decodedToken['client_branch_id'];
prefs.setString(
'enrollmentEmpClientBranchId', enrollmentEmpClientBranchId);
enrollmentEmpCodeString = decodedToken['emp_code'].toString();
prefs.setString('enrollmentEmpCodeString', enrollmentEmpCodeString);
enrollmentEmpPrimaryId = decodedToken['id'];
prefs.setString('enrollmentEmpPrimaryId', enrollmentEmpPrimaryId);
enrollmentGpaEmpName = decodedToken['name'].toString();
prefs.setString('enrollmentGpaEmpName', enrollmentGpaEmpName);
enrollmentClient_id = decodedToken['client_id'];
prefs.setString('enrollmentClient_id', enrollmentClient_id);
enrollmentEmp_status = decodedToken['emp_status'];
prefs.setString('enrollmentEmp_status', enrollmentEmp_status);
// getClientLogoAndDetails();
}
final SharedPreferences prefs = await SharedPreferences.getInstance();
final _postToken = prefs.getString('_postToken');
// int skipStatus = prefs.getInt('skipStatus') ?? 1;
// final mpinText = prefs.getString('mpinText');
print(isMobilePlatform());
if (isMobilePlatform()) {
// if (prefs.containsKey('mpin') && mpinText == 'Mpin - exist') {
if (_postToken != null && _postToken.isNotEmpty) {
await initNotification();
Navigator.pushReplacementNamed(context, 'pinSettingPage');
}
// }
} else {
if (_postToken != null && _postToken.isNotEmpty) {
ToastHelper.showSuccessToast(context, 'Successfully Login');
// if (emp_status == 'enrolled' || emp_status == 'active') {
Navigator.pushReplacementNamed(context, 'home');
// } else {
// Navigator.pushReplacementNamed(context, 'empDetails');
// }
}
}
}
void enrollmentSuccessData(data) async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('enrollToken', data['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(data['data']);
print('decodedToken : $decodedToken');
enrollmentEmpClientBranchId = decodedToken['client_branch_id'];
prefs.setString('enrollmentEmpClientBranchId', enrollmentEmpClientBranchId);
enrollmentEmpCodeString = decodedToken['emp_code'].toString();
prefs.setString('enrollmentEmpCodeString', enrollmentEmpCodeString);
enrollmentEmpPrimaryId = decodedToken['id'];
prefs.setString('enrollmentEmpPrimaryId', enrollmentEmpPrimaryId);
enrollmentGpaEmpName = decodedToken['name'].toString();
prefs.setString('enrollmentGpaEmpName', enrollmentGpaEmpName);
enrollmentClient_id = decodedToken['client_id'];
prefs.setString('enrollmentClient_id', enrollmentClient_id);
enrollmentEmp_status = decodedToken['emp_status'];
prefs.setString('enrollmentEmp_status', enrollmentEmp_status);
getClientLogoAndDetails();
print('Successfully Login');
// Redirect to another page
final enrollToken = prefs.getString('enrollToken');
// int skipStatus = prefs.getInt('skipStatus') ?? 1;
// final mpinText = prefs.getString('mpinText');
print(isMobilePlatform());
if (isMobilePlatform()) {
// if (prefs.containsKey('mpin') && mpinText == 'Mpin - exist') {
if (enrollToken != null && enrollToken.isNotEmpty) {
await initNotification();
Navigator.pushReplacementNamed(context, 'pinSettingPage');
}
// }
} else {
if (enrollToken != null && enrollToken.isNotEmpty) {
ToastHelper.showSuccessToast(context, 'Successfully Login');
// if (emp_status == 'enrolled' || emp_status == 'active') {
// Navigator.pushReplacementNamed(context, 'home');
// } else {
Navigator.pushReplacementNamed(context, 'empDetails');
// }
}
}
}
void _resendOTP() {
setState(() {
_secondsRemaining = 60;

View File

@ -42,10 +42,10 @@ class _addOnsDetailsState extends State<addOnsDetails> {
bool _topUpSiSwitcher = false;
bool _topUpParentSiSwitcher = false;
dynamic _token;
dynamic empCodeString;
dynamic empPrimaryId;
dynamic gpaEmpName;
dynamic client_id;
dynamic enrollmentEmpCodeString;
dynamic enrollmentEmpPrimaryId;
dynamic enrollmentGpaEmpName;
dynamic enrollmentClient_id;
dynamic gpaPolicies;
dynamic gmcPolicies;
dynamic gpaPolicyName;
@ -144,7 +144,7 @@ class _addOnsDetailsState extends State<addOnsDetails> {
dynamic gmcDataIsEmpty = 1;
dynamic gpaDataIsEmpty = 1;
dynamic empRefId;
dynamic empClientBranchId;
dynamic enrollmentEmpClientBranchId;
dynamic selfEmpStatus;
List<Map<String, dynamic>> allDisclaimer =
[]; // Declare this to store all disclaimers
@ -194,20 +194,21 @@ class _addOnsDetailsState extends State<addOnsDetails> {
Future<void> _loadToken() async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('enrollToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;
});
// Decode the JWT token received from the API response
// Decode th e JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(token);
selfEmpStatus = prefs.getString('selfEmpStatus');
empClientBranchId = prefs.getString('empClientBranchId');
empCodeString = prefs.getString('empCode');
empPrimaryId = prefs.getString('empPrimaryId');
gpaEmpName = prefs.getString('gpaEmpName');
client_id = prefs.getString('client_id');
enrollmentEmpClientBranchId =
prefs.getString('enrollmentEmpClientBranchId');
enrollmentEmpCodeString = prefs.getString('enrollmentEmpCodeString');
enrollmentEmpPrimaryId = prefs.getString('enrollmentEmpPrimaryId');
enrollmentGpaEmpName = prefs.getString('enrollmentGpaEmpName');
enrollmentClient_id = prefs.getString('enrollmentClient_id');
// Call the API when the page enters
if (prefs.containsKey('clientLogo') && prefs.containsKey('clientName')) {
@ -221,8 +222,8 @@ class _addOnsDetailsState extends State<addOnsDetails> {
getGmcSiParentTopUp();
getGmcDependentAddOns();
fetchRelationshipList();
getGpaEmpPolicyDetails(empPrimaryId);
getGmcEmpPolicyDetails(empPrimaryId);
getGpaEmpPolicyDetails(enrollmentEmpPrimaryId);
getGmcEmpPolicyDetails(enrollmentEmpPrimaryId);
} else {
// Token is empty or null, handle accordingly (e.g., navigate to login screen)
ToastHelper.showErrorToast(context, 'Session Out');
@ -232,13 +233,15 @@ class _addOnsDetailsState extends State<addOnsDetails> {
Future<void> getClientLogoAndDetails() async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getClientLogoAndDetailsToApi(
client_id!, empCodeString!, empClientBranchId!);
enrollmentClient_id!,
enrollmentEmpCodeString!,
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
if (response.containsKey('data')) {
dynamic clientDetails = response['data'];
@ -258,15 +261,19 @@ class _addOnsDetailsState extends State<addOnsDetails> {
}
}
Future<void> getGpaEmpPolicyDetails(empPrimaryId) async {
Future<void> getGpaEmpPolicyDetails(enrollmentEmpPrimaryId) async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGpaEmpPolicyDetailsToApi(
empPrimaryId, empCodeString!, client_id!, 'GPA', empClientBranchId!);
enrollmentEmpPrimaryId,
enrollmentEmpCodeString!,
enrollmentClient_id!,
'GPA',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
setState(() {
@ -331,15 +338,19 @@ class _addOnsDetailsState extends State<addOnsDetails> {
}
}
Future<void> getGmcEmpPolicyDetails(empPrimaryId) async {
Future<void> getGmcEmpPolicyDetails(enrollmentEmpPrimaryId) async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGmcEmpPolicyDetailsToApi(
empPrimaryId, empCodeString!, client_id!, 'GMC', empClientBranchId!);
enrollmentEmpPrimaryId,
enrollmentEmpCodeString!,
enrollmentClient_id!,
'GMC',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
// setState(() {
gmcPolicies = response['data'];
@ -403,13 +414,16 @@ class _addOnsDetailsState extends State<addOnsDetails> {
Future<void> getGmcSiTopUp() async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGmcSiTopUpToApi(
client_id!, empCodeString!, 'GMC-SI-TOPUP', empClientBranchId!);
enrollmentClient_id!,
enrollmentEmpCodeString!,
'GMC-SI-TOPUP',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
if (response.containsKey('data')) {
setState(() {
@ -481,13 +495,16 @@ class _addOnsDetailsState extends State<addOnsDetails> {
Future<void> getGmcSiParentTopUp() async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGmcSiParentTopUpToApi(client_id!,
empCodeString!, 'GMC-SI-PARENT-TOPUP', empClientBranchId!);
final response = await apiService.getGmcSiParentTopUpToApi(
enrollmentClient_id!,
enrollmentEmpCodeString!,
'GMC-SI-PARENT-TOPUP',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
if (response.containsKey('data')) {
setState(() {
@ -570,13 +587,16 @@ class _addOnsDetailsState extends State<addOnsDetails> {
Future<void> getGmcDependentAddOns() async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGmcDependentAddOnsToApi(client_id!,
empCodeString!, 'GMC-DEPENDENT-ADDON', empClientBranchId!);
final response = await apiService.getGmcDependentAddOnsToApi(
enrollmentClient_id!,
enrollmentEmpCodeString!,
'GMC-DEPENDENT-ADDON',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
if (response.containsKey('data')) {
setState(() {
@ -743,8 +763,8 @@ class _addOnsDetailsState extends State<addOnsDetails> {
_memberNameController.clear();
_dobController.clear();
relationshipOptions.clear();
getGpaEmpPolicyDetails(empPrimaryId);
getGmcEmpPolicyDetails(empPrimaryId);
getGpaEmpPolicyDetails(enrollmentEmpPrimaryId);
getGmcEmpPolicyDetails(enrollmentEmpPrimaryId);
fetchRelationshipList();
getGmcSiTopUp();
getGmcSiParentTopUp();
@ -767,13 +787,13 @@ class _addOnsDetailsState extends State<addOnsDetails> {
'relationship': formData['relationship'],
'name': formData['memberName'],
'dob': formData['dateOfBirth'],
'emp_code': empCodeString,
'client_id': client_id,
'emp_code': enrollmentEmpCodeString,
'client_id': enrollmentClient_id,
'client_policy_id': floatedData['client_policy_id'],
'is_addon_value': 1,
'basic_cover_si': addOnsSelectedDependent,
'created_by': empPrimaryId,
'client_branch_id': empClientBranchId,
'created_by': enrollmentEmpPrimaryId,
'client_branch_id': enrollmentEmpClientBranchId,
// Add the 'id' field only if action is 'Edit'
if (action == 'Edit') 'id': floatedData['employee_id'],
});
@ -792,8 +812,8 @@ class _addOnsDetailsState extends State<addOnsDetails> {
_dobController.clear();
relationshipOptions.clear();
// Request successful, handle response
getGpaEmpPolicyDetails(empPrimaryId);
getGmcEmpPolicyDetails(empPrimaryId);
getGpaEmpPolicyDetails(enrollmentEmpPrimaryId);
getGmcEmpPolicyDetails(enrollmentEmpPrimaryId);
fetchRelationshipList();
getGmcSiTopUp();
getGmcSiParentTopUp();
@ -840,9 +860,9 @@ class _addOnsDetailsState extends State<addOnsDetails> {
'basic_cover_si': addOnsSelectedDependent,
'client_policy_id': client_policy_id,
'employee_id': employee_id,
'client_id': client_id,
'emp_code': empCodeString,
'client_branch_id': empClientBranchId,
'client_id': enrollmentClient_id,
'emp_code': enrollmentEmpCodeString,
'client_branch_id': enrollmentEmpClientBranchId,
};
// Add the map to the list
@ -900,9 +920,9 @@ class _addOnsDetailsState extends State<addOnsDetails> {
'basic_cover_si': topUpSiSelectedSI,
'client_policy_id': client_policy_id,
'employee_id': employee_id,
'client_id': client_id,
'emp_code': empCodeString,
'client_branch_id': empClientBranchId,
'client_id': enrollmentClient_id,
'emp_code': enrollmentEmpCodeString,
'client_branch_id': enrollmentEmpClientBranchId,
};
// Add the map to the list
@ -959,9 +979,9 @@ class _addOnsDetailsState extends State<addOnsDetails> {
'basic_cover_si': topUpParentSiSelectedSI,
'client_policy_id': client_policy_id,
'employee_id': employee_id,
'client_id': client_id,
'emp_code': empCodeString,
'client_branch_id': empClientBranchId,
'client_id': enrollmentClient_id,
'emp_code': enrollmentEmpCodeString,
'client_branch_id': enrollmentEmpClientBranchId,
};
// Add the map to the list
@ -993,11 +1013,12 @@ class _addOnsDetailsState extends State<addOnsDetails> {
Future<void> removeAddonsGmcDependentToAPI() async {
try {
if (empCodeString == null || addOnsDependentClientPolicyId == null) {
if (enrollmentEmpCodeString == null ||
addOnsDependentClientPolicyId == null) {
return;
}
final response = await apiService.removeAddonsGmcDependentToAPI(
empCodeString!, addOnsDependentClientPolicyId!);
enrollmentEmpCodeString!, addOnsDependentClientPolicyId!);
if (response['status'] == 'success') {
print(response['data']);
} else {
@ -1012,11 +1033,11 @@ class _addOnsDetailsState extends State<addOnsDetails> {
Future<void> removeAddonsGmcSiToAPI() async {
try {
if (empCodeString == null || topUpClientPolicyId == null) {
if (enrollmentEmpCodeString == null || topUpClientPolicyId == null) {
return;
}
final response = await apiService.removeAddonsGmcSiToAPI(
empCodeString!, topUpClientPolicyId!);
enrollmentEmpCodeString!, topUpClientPolicyId!);
if (response['status'] == 'success') {
print(response['data']);
} else {
@ -1031,11 +1052,12 @@ class _addOnsDetailsState extends State<addOnsDetails> {
Future<void> removeAddonsGmcParentSiToAPI() async {
try {
if (empCodeString == null || topUpParentClientPolicyId == null) {
if (enrollmentEmpCodeString == null ||
topUpParentClientPolicyId == null) {
return;
}
final response = await apiService.removeAddonsGmcParentSiToAPI(
empCodeString!, topUpParentClientPolicyId!);
enrollmentEmpCodeString!, topUpParentClientPolicyId!);
if (response['status'] == 'success') {
print(response['data']);
} else {
@ -1052,9 +1074,9 @@ class _addOnsDetailsState extends State<addOnsDetails> {
try {
var calculation = {
'client_policy_id': topUpClientPolicyId,
'emp_code': empCodeString,
'emp_code': enrollmentEmpCodeString,
'si': choosedSiValue,
'client_branch_id': empClientBranchId
'client_branch_id': enrollmentEmpClientBranchId
};
// Iterate through familyMembers list and send each member's data to the API
@ -1064,8 +1086,8 @@ class _addOnsDetailsState extends State<addOnsDetails> {
if (response['status'] == 'success') {
List<dynamic>? topUpEmpArray;
for (var item in response['data']) {
if (item.containsKey(empCodeString)) {
topUpEmpArray = item[empCodeString];
if (item.containsKey(enrollmentEmpCodeString)) {
topUpEmpArray = item[enrollmentEmpCodeString];
break;
}
}
@ -1096,7 +1118,7 @@ class _addOnsDetailsState extends State<addOnsDetails> {
});
sendAddonsGmcSiToAPI();
} else {
print('Array not found for emp_code $empCodeString');
print('Array not found for emp_code $enrollmentEmpCodeString');
}
} else {
print('Operation Failed!');
@ -1110,9 +1132,9 @@ class _addOnsDetailsState extends State<addOnsDetails> {
try {
var calculation = {
'client_policy_id': topUpParentClientPolicyId,
'emp_code': empCodeString,
'emp_code': enrollmentEmpCodeString,
'si': choosedSiValue,
'client_branch_id': empClientBranchId
'client_branch_id': enrollmentEmpClientBranchId
};
// Iterate through familyMembers list and send each member's data to the API
@ -1123,8 +1145,8 @@ class _addOnsDetailsState extends State<addOnsDetails> {
if (response['status'] == 'success') {
List<dynamic>? topUpEmpArray;
for (var item in response['data']) {
if (item.containsKey(empCodeString)) {
topUpEmpArray = item[empCodeString];
if (item.containsKey(enrollmentEmpCodeString)) {
topUpEmpArray = item[enrollmentEmpCodeString];
break;
}
}
@ -1154,7 +1176,7 @@ class _addOnsDetailsState extends State<addOnsDetails> {
});
sendAddonsGmcParentSiToAPI();
} else {
print('Array not found for emp_code $empCodeString');
print('Array not found for emp_code $enrollmentEmpCodeString');
}
} else {
print('Operation Failed!');
@ -1168,9 +1190,9 @@ class _addOnsDetailsState extends State<addOnsDetails> {
try {
var calculation = {
'client_policy_id': addOnsDependentClientPolicyId,
'emp_code': empCodeString,
'emp_code': enrollmentEmpCodeString,
'si': choosedDependentValue,
'client_branch_id': empClientBranchId
'client_branch_id': enrollmentEmpClientBranchId
};
// Iterate through familyMembers list and send each member's data to the API
@ -1181,8 +1203,8 @@ class _addOnsDetailsState extends State<addOnsDetails> {
if (response['status'] == 'success') {
List<dynamic>? addOnsEmpArray;
for (var item in response['data']) {
if (item.containsKey(empCodeString)) {
addOnsEmpArray = item[empCodeString];
if (item.containsKey(enrollmentEmpCodeString)) {
addOnsEmpArray = item[enrollmentEmpCodeString];
break;
}
}
@ -1211,7 +1233,7 @@ class _addOnsDetailsState extends State<addOnsDetails> {
addOnDependentPremiumValue + addOnsDependentPremiumGst;
});
} else {
print('Array not found for emp_code $empCodeString');
print('Array not found for emp_code $enrollmentEmpCodeString');
}
} else {
print('Operation Failed!');
@ -1247,9 +1269,9 @@ class _addOnsDetailsState extends State<addOnsDetails> {
iAgreeForAddOn = iAgreeForAddOn.toSet().toList();
Map<String, dynamic> apiParams = {
'emp_code': empCodeString,
'emp_code': enrollmentEmpCodeString,
'client_policy_id': iAgreeForAddOn,
'client_id': client_id,
'client_id': enrollmentClient_id,
};
try {

View File

@ -28,10 +28,10 @@ class _empDetailsState extends State<empDetails> {
late ApiService apiService;
bool isLoading = true;
dynamic _token;
dynamic empCodeString;
dynamic empPrimaryId;
dynamic gpaEmpName;
dynamic client_id;
dynamic enrollmentEmpCodeString;
dynamic enrollmentEmpPrimaryId;
dynamic enrollmentGpaEmpName;
dynamic enrollmentClient_id;
dynamic gpaPolicies;
dynamic gpaPolicyName;
dynamic gpaGridMaster;
@ -98,7 +98,7 @@ class _empDetailsState extends State<empDetails> {
dynamic gpaDataIsEmpty = 1;
dynamic hrPrimaryId;
dynamic empRefId;
dynamic empClientBranchId;
dynamic enrollmentEmpClientBranchId;
@override
void initState() {
@ -127,22 +127,25 @@ class _empDetailsState extends State<empDetails> {
Future<void> _loadToken() async {
print('_loadToken');
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('enrollToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;
});
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(token);
print('decodedToken : $decodedToken');
empClientBranchId = prefs.getString('empClientBranchId');
empCodeString = prefs.getString('empCode');
print('empCodeString : $empCodeString'); // Check if emp_code is correct
empPrimaryId = prefs.getString('empPrimaryId');
gpaEmpName = prefs.getString('gpaEmpName');
client_id = prefs.getString('client_id');
enrollmentEmpClientBranchId =
prefs.getString('enrollmentEmpClientBranchId');
enrollmentEmpCodeString = prefs.getString('enrollmentEmpCodeString');
print(
'enrollmentEmpCodeString : $enrollmentEmpCodeString'); // Check if emp_code is correct
enrollmentEmpPrimaryId = prefs.getString('enrollmentEmpPrimaryId');
enrollmentGpaEmpName = prefs.getString('enrollmentGpaEmpName');
enrollmentClient_id = prefs.getString('enrollmentClient_id');
selfEmpStatus = prefs.getString('selfEmpStatus');
print('client_id : $client_id');
print('client_id : $enrollmentClient_id');
if (prefs.containsKey('clientLogo') && prefs.containsKey('clientName')) {
clientLogo = prefs.getString('clientLogo');
@ -153,8 +156,8 @@ class _empDetailsState extends State<empDetails> {
// Call the API when the page enters
getSelfEmployeeProfile();
getGpaEmpPolicyDetails(empPrimaryId);
getGmcEmpPolicyDetails(empPrimaryId);
getGpaEmpPolicyDetails(enrollmentEmpPrimaryId);
getGmcEmpPolicyDetails(enrollmentEmpPrimaryId);
fetchRelationshipList();
} else {
// Token is empty or null, handle accordingly (e.g., navigate to login screen)
@ -165,13 +168,15 @@ class _empDetailsState extends State<empDetails> {
Future<void> getClientLogoAndDetails() async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getClientLogoAndDetailsToApi(
client_id!, empCodeString!, empClientBranchId!);
enrollmentClient_id!,
enrollmentEmpCodeString!,
enrollmentEmpClientBranchId!);
print('check 1');
if (response['status'] == 'success') {
@ -202,13 +207,15 @@ class _empDetailsState extends State<empDetails> {
Future<void> getSelfEmployeeProfile() async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getSelfEmployeeProfileToApi(
client_id!, empCodeString!, empClientBranchId!);
enrollmentClient_id!,
enrollmentEmpCodeString!,
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
if (response.containsKey('data')) {
@ -261,15 +268,19 @@ class _empDetailsState extends State<empDetails> {
return formattedDate;
}
Future<void> getGpaEmpPolicyDetails(empPrimaryId) async {
Future<void> getGpaEmpPolicyDetails(enrollmentEmpPrimaryId) async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGpaEmpPolicyDetailsToApi(
empPrimaryId, empCodeString!, client_id!, 'GPA', empClientBranchId!);
enrollmentEmpPrimaryId,
enrollmentEmpCodeString!,
enrollmentClient_id!,
'GPA',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
setState(() {
@ -290,15 +301,19 @@ class _empDetailsState extends State<empDetails> {
}
}
Future<void> getGmcEmpPolicyDetails(empPrimaryId) async {
Future<void> getGmcEmpPolicyDetails(enrollmentEmpPrimaryId) async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGmcEmpPolicyDetailsToApi(
empPrimaryId, empCodeString!, client_id!, 'GMC', empClientBranchId!);
enrollmentEmpPrimaryId,
enrollmentEmpCodeString!,
enrollmentClient_id!,
'GMC',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
setState(() {
gmcPolicies = response['data'];
@ -424,8 +439,8 @@ class _empDetailsState extends State<empDetails> {
_memberNameController.clear();
_dobController.clear();
relationshipOptions.clear();
getGpaEmpPolicyDetails(empPrimaryId);
getGmcEmpPolicyDetails(empPrimaryId);
getGpaEmpPolicyDetails(enrollmentEmpPrimaryId);
getGmcEmpPolicyDetails(enrollmentEmpPrimaryId);
fetchRelationshipList();
ToastHelper.showSuccessToast(context, 'Item deleted successfully');
print('Item deleted successfully');
@ -455,17 +470,17 @@ class _empDetailsState extends State<empDetails> {
primaryId = hrPrimaryId;
is_createdby_hr = 1;
} else {
primaryId = empPrimaryId;
primaryId = enrollmentEmpPrimaryId;
is_createdby_hr = 0;
}
formDataList.add({
'client_branch_id': empClientBranchId,
'client_branch_id': enrollmentEmpClientBranchId,
'relationship': formData['relationship'],
'name': formData['memberName'],
'dob': formData['dateOfBirth'],
'emp_code': empCodeString,
'client_id': client_id,
'emp_code': enrollmentEmpCodeString,
'client_id': enrollmentClient_id,
'client_policy_id': floatedData['client_policy_id'],
'created_by': primaryId,
'is_createdby_hr': is_createdby_hr,
@ -491,8 +506,8 @@ class _empDetailsState extends State<empDetails> {
_dobController.clear();
relationshipOptions.clear();
// Request successful, handle response
getGpaEmpPolicyDetails(empPrimaryId);
getGmcEmpPolicyDetails(empPrimaryId);
getGpaEmpPolicyDetails(enrollmentEmpPrimaryId);
getGmcEmpPolicyDetails(enrollmentEmpPrimaryId);
fetchRelationshipList();
ToastHelper.showSuccessToast(context, 'Saved Successfully.');
print('Form data sent successfully.');

View File

@ -42,10 +42,10 @@ class _empReviewDetailsState extends State<empReviewDetails> {
false; // Declare the _isSwitched variable here
dynamic _token;
dynamic empCodeString;
dynamic empPrimaryId;
dynamic gpaEmpName;
dynamic client_id;
dynamic enrollmentEmpCodeString;
dynamic enrollmentEmpPrimaryId;
dynamic enrollmentGpaEmpName;
dynamic enrollmentClient_id;
dynamic gpaPolicies;
dynamic gpaPolicyName;
dynamic gpaGridMaster;
@ -62,6 +62,8 @@ class _empReviewDetailsState extends State<empReviewDetails> {
dynamic gpaSiPremiumValue;
dynamic gpaTotalableValue;
late bool isValueValid;
dynamic gpaTotalAmt;
dynamic gmcTotalAmt;
dynamic gmcGstValue;
dynamic gmcSiPremiumValue;
dynamic gmcTotalableValue;
@ -89,7 +91,7 @@ class _empReviewDetailsState extends State<empReviewDetails> {
dynamic gmcFloaterTextHeading;
dynamic dependentValue;
dynamic siValue;
dynamic addOnsDependentSumInsured;
late int addOnsDependentSumInsured;
dynamic addOnsDependentPolicyName;
dynamic addOnsDependentPolicyType;
dynamic addOnsFloaterTextHeading;
@ -149,7 +151,7 @@ class _empReviewDetailsState extends State<empReviewDetails> {
int activePremiumSummary = 0;
dynamic gmcDataIsEmpty = 1;
dynamic gpaDataIsEmpty = 1;
dynamic empClientBranchId;
dynamic enrollmentEmpClientBranchId;
dynamic selfEmpStatus;
dynamic topUpOpenForEnrollment;
dynamic topUpParentOpenForEnrollment;
@ -189,19 +191,20 @@ class _empReviewDetailsState extends State<empReviewDetails> {
Future<void> _loadToken() async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('enrollToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;
});
selfEmpStatus = prefs.getString('selfEmpStatus');
empClientBranchId = prefs.getString('empClientBranchId');
empCodeString = prefs.getString('empCode');
print(empCodeString); // Check if emp_code is correct
empPrimaryId = prefs.getString('empPrimaryId');
gpaEmpName = prefs.getString('gpaEmpName');
client_id = prefs.getString('client_id');
print(client_id);
enrollmentEmpClientBranchId =
prefs.getString('enrollmentEmpClientBranchId');
enrollmentEmpCodeString = prefs.getString('enrollmentEmpCodeString');
print(enrollmentEmpCodeString); // Check if emp_code is correct
enrollmentEmpPrimaryId = prefs.getString('enrollmentEmpPrimaryId');
enrollmentGpaEmpName = prefs.getString('enrollmentGpaEmpName');
enrollmentClient_id = prefs.getString('enrollmentClient_id');
print(enrollmentClient_id);
// Call the API when the page enters
if (prefs.containsKey('clientLogo') && prefs.containsKey('clientName')) {
@ -213,8 +216,8 @@ class _empReviewDetailsState extends State<empReviewDetails> {
getGmcSiTopUp();
getGmcSiParentTopUp();
getGmcDependentAddOns();
getGpaEmpPolicyDetails(empPrimaryId);
getGmcEmpPolicyDetails(empPrimaryId);
getGpaEmpPolicyDetails(enrollmentEmpPrimaryId);
getGmcEmpPolicyDetails(enrollmentEmpPrimaryId);
primarySummary();
_sortDisclaimerByTypeOrder();
} else {
@ -263,6 +266,7 @@ class _empReviewDetailsState extends State<empReviewDetails> {
activeDependentData = 1;
String? dependentDataJson = prefs.getString('dependentData');
print('dependentDataJson');
print('activeDependentData $activeDependentData');
print(dependentDataJson);
List<dynamic> dependentDataList = jsonDecode(dependentDataJson!);
@ -291,13 +295,18 @@ class _empReviewDetailsState extends State<empReviewDetails> {
}
// Calculate the sum, skipping any missing values
print('topUpSiTotalAmt: $topUpSiTotalAmt');
print('topUpParentSiTotalAmt: $topUpParentSiTotalAmt');
print('addOnsDependentTotalAmt: $addOnsDependentTotalAmt');
print('gpaTotalAmt: $gpaTotalAmt');
print('gmcTotalAmt: $gmcTotalAmt');
if (topUpSiTotalAmt != null) totalPayableAmt += topUpSiTotalAmt;
if (topUpParentSiTotalAmt != null) totalPayableAmt += topUpParentSiTotalAmt;
if (addOnsDependentTotalAmt != null)
totalPayableAmt += addOnsDependentTotalAmt;
// Print or use the totalAmtSum value
print('Sum of Total Amounts: $totalPayableAmt');
print('Final Total Payable Amount: $totalPayableAmt');
}
void _sortDisclaimerByTypeOrder() {
@ -310,13 +319,15 @@ class _empReviewDetailsState extends State<empReviewDetails> {
Future<void> getClientLogoAndDetails() async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getClientLogoAndDetailsToApi(
client_id!, empCodeString!, empClientBranchId!);
enrollmentClient_id!,
enrollmentEmpCodeString!,
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
if (response.containsKey('data')) {
dynamic clientDetails = response['data'];
@ -339,15 +350,19 @@ class _empReviewDetailsState extends State<empReviewDetails> {
}
}
Future<void> getGpaEmpPolicyDetails(empPrimaryId) async {
Future<void> getGpaEmpPolicyDetails(enrollmentEmpPrimaryId) async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGpaEmpPolicyDetailsToApi(
empPrimaryId, empCodeString!, client_id!, 'GPA', empClientBranchId!);
enrollmentEmpPrimaryId,
enrollmentEmpCodeString!,
enrollmentClient_id!,
'GPA',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
setState(() {
@ -413,19 +428,23 @@ class _empReviewDetailsState extends State<empReviewDetails> {
}
}
Future<void> getGmcEmpPolicyDetails(empPrimaryId) async {
Future<void> getGmcEmpPolicyDetails(enrollmentEmpPrimaryId) async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGmcEmpPolicyDetailsToApi(
empPrimaryId, empCodeString!, client_id!, 'GMC', empClientBranchId!);
enrollmentEmpPrimaryId,
enrollmentEmpCodeString!,
enrollmentClient_id!,
'GMC',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
setState(() {
gmcPolicies = response['data'];
print('gmcPolicies');
print('gmcPolicies $gmcPolicies');
for (var item in gmcPolicies) {
if (item['OpenForEnrollment'] == '1') {
dynamic disclaimer = item['disclaimer'];
@ -487,13 +506,16 @@ class _empReviewDetailsState extends State<empReviewDetails> {
Future<void> getGmcSiTopUp() async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGmcSiTopUpToApi(
client_id!, empCodeString!, 'GMC-SI-TOPUP', empClientBranchId!);
enrollmentClient_id!,
enrollmentEmpCodeString!,
'GMC-SI-TOPUP',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
if (response.containsKey('data')) {
dynamic topUpSiPolicies = response['data'];
@ -600,13 +622,16 @@ class _empReviewDetailsState extends State<empReviewDetails> {
Future<void> getGmcSiParentTopUp() async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGmcSiParentTopUpToApi(client_id!,
empCodeString!, 'GMC-SI-PARENT-TOPUP', empClientBranchId!);
final response = await apiService.getGmcSiParentTopUpToApi(
enrollmentClient_id!,
enrollmentEmpCodeString!,
'GMC-SI-PARENT-TOPUP',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
if (response.containsKey('data')) {
setState(() {
@ -740,13 +765,16 @@ class _empReviewDetailsState extends State<empReviewDetails> {
Future<void> getGmcDependentAddOns() async {
try {
if (client_id == null ||
empCodeString == null ||
empClientBranchId == null) {
if (enrollmentClient_id == null ||
enrollmentEmpCodeString == null ||
enrollmentEmpClientBranchId == null) {
return;
}
final response = await apiService.getGmcDependentAddOnsToApi(client_id!,
empCodeString!, 'GMC-DEPENDENT-ADDON', empClientBranchId!);
final response = await apiService.getGmcDependentAddOnsToApi(
enrollmentClient_id!,
enrollmentEmpCodeString!,
'GMC-DEPENDENT-ADDON',
enrollmentEmpClientBranchId!);
if (response['status'] == 'success') {
if (response.containsKey('data')) {
dynamic addOnsDependentPolicies = response['data'];
@ -758,14 +786,18 @@ class _empReviewDetailsState extends State<empReviewDetails> {
['client_policy_id'];
print(addOnsDependentClientPolicyId);
addOnsDependentSumInsured =
addOnsDependentSumInsured = int.parse(
addOnsDependentPolicies['gmc_dependent_addon']
['family_floaters_of_dependent_and_si_value'];
print(addOnsDependentSumInsured);
['family_floaters_of_dependent_and_si_value']
.toString());
print('addOnsDependentSumInsured $addOnsDependentSumInsured');
final checkValue = addOnsDependentSumInsured +
addOnsDependentPolicies['gmc_dependent_addon']
['family_floaters_of_dependent_and_si_premium_value'];
var value = int.parse(addOnsDependentPolicies['gmc_dependent_addon']
['family_floaters_of_dependent_and_si_premium_value']
.toString());
print(value);
final checkValue = addOnsDependentSumInsured + value;
print('checkValue $checkValue');
if (checkValue == 0) {
showHideAddOnsCard = 0;
@ -803,13 +835,17 @@ class _empReviewDetailsState extends State<empReviewDetails> {
addOnsDependentDisclaimer =
await addOnsDependentPolicies['gmc_dependent_addon']
['disclaimer'];
print(
'addOnsDependentOpenForEnrollment $addOnsDependentDisclaimer');
addOnsDependentOpenForEnrollment =
await addOnsDependentPolicies['gmc_dependent_addon']
['OpenForEnrollment'];
print(
'addOnsDependentOpenForEnrollment $addOnsDependentOpenForEnrollment');
print('activeDependentData $activeDependentData');
if (addOnsDependentOpenForEnrollment == '1' &&
activeDependentData == 1) {
print('addOnsDependentOpenForEnrollment');
if (addOnsDependentDisclaimer != null &&
addOnsDependentDisclaimer.isNotEmpty) {
// Temporary list to hold new entries
@ -940,9 +976,9 @@ class _empReviewDetailsState extends State<empReviewDetails> {
print(iAgreeForAddOn); // Output: [90, 92, 88, 89]
Map<String, dynamic> apiParams = {
'emp_code': empCodeString,
'emp_code': enrollmentEmpCodeString,
'client_policy_id': iAgreeForAddOn,
'client_id': client_id,
'client_id': enrollmentClient_id,
};
print(apiParams);
@ -1097,6 +1133,18 @@ class _empReviewDetailsState extends State<empReviewDetails> {
return true;
}
double allTotalSum() {
double total = 0.0; // Initialize to avoid unwanted accumulation
if (topUpSiTotalAmt != null) total += topUpSiTotalAmt!;
if (topUpParentSiTotalAmt != null) total += topUpParentSiTotalAmt!;
if (addOnsDependentTotalAmt != null) total += addOnsDependentTotalAmt!;
if (gpaTotalAmt != null) total += gpaTotalAmt!;
if (gmcTotalAmt != null) total += gmcTotalAmt!;
return total;
}
@override
Widget build(BuildContext context) {
if ((gpaMappedFamilyFloaters == [] && gpaMappedFamilyFloaters == null) &&
@ -1282,7 +1330,7 @@ class _empReviewDetailsState extends State<empReviewDetails> {
CrossAxisAlignment.start,
children: [
Text(
'$totalPayableAmt/Year ',
'${allTotalSum()}/Year',
textAlign: TextAlign.left,
style: GoogleFonts.poppins(
fontSize:
@ -2119,8 +2167,14 @@ class _empReviewDetailsState extends State<empReviewDetails> {
),
],
),
...buildPolicyRows(
gpaPolicies, context),
if (gpaPolicies != null &&
gpaPolicies.length > 0)
...gpaBuildPolicyRows(
gpaPolicies, context),
if (gmcPolicies != null &&
gmcPolicies.length > 0)
...gmcBuildPolicyRows(
gmcPolicies, context),
if (activeSiData == 1)
TableRow(
children: [
@ -2426,7 +2480,7 @@ class _empReviewDetailsState extends State<empReviewDetails> {
CrossAxisAlignment.end,
children: [
Text(
'$totalPayableAmt/Year',
'${allTotalSum()}/Year',
textAlign: TextAlign.right,
style: GoogleFonts.poppins(
fontSize:
@ -3561,64 +3615,174 @@ class _empReviewDetailsState extends State<empReviewDetails> {
return cards;
}
List<TableRow> buildPolicyRows(
List<Map<String, dynamic>> policies, BuildContext context) {
return policies.where((policy) {
var siGstValue = policy["si_gst_value"] ?? 0;
var siPremiumValue = policy["si_premium_value"] ?? 0;
return siGstValue != 0 &&
siPremiumValue != 0; // Filter out invalid policies
}).map((policy) {
return TableRow(
children: [
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
Responsive.isDesktop(context)
? (policy["Policy_Name"] ?? 'Default Policy Name')
: policy['type'],
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
double calculateGpaTotalAmt(List<Map<String, dynamic>> policies) {
double total = policies
.where((policy) => policy is Map<String, dynamic>)
.map((policy) =>
(policy["si_gst_value"] ?? 0) + (policy["si_premium_value"] ?? 0))
.fold(0.0, (sum, value) => sum + value);
print('Calculated gpaTotalAmt: $total'); // Debug print
return total;
}
double calculateGmcTotalAmt(List<Map<String, dynamic>> policies) {
double total = policies
.where((policy) => policy is Map<String, dynamic>)
.map((policy) =>
(policy["family_floaters_of_dependent_and_gst_value"] ?? 0) +
(policy["family_floaters_of_dependent_and_si_premium_value"] ?? 0))
.fold(0.0, (sum, value) => sum + value);
print('Calculated gmcTotalAmt: $total'); // Debug print
return total;
}
List<TableRow> gpaBuildPolicyRows(dynamic policies, BuildContext context) {
if (policies is! List) {
return []; // Return empty list if policies is not a list
}
gpaTotalAmt = calculateGpaTotalAmt(policies.cast<Map<String, dynamic>>());
print('gpaTotalAmt $gpaTotalAmt');
return (policies as List)
.where((policy) => policy is Map<String,
dynamic>) // Ensure each item is a Map<String, dynamic>
.map((policy) {
var siGstValue = policy["si_gst_value"] ?? 0;
var siPremiumValue = policy["si_premium_value"] ?? 0;
if (siGstValue == 0 || siPremiumValue == 0)
return null; // Skip invalid policies
return TableRow(
children: [
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
Responsive.isDesktop(context)
? (policy["Policy_Name"] ?? 'Default Policy Name')
: policy['type'],
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
),
),
),
),
),
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'${policy["si_premium_value"]}/Year',
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'${policy["si_premium_value"]}/Year',
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
),
),
),
),
),
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'${policy["si_gst_value"]}/-',
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'${policy["si_gst_value"]}/-',
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
),
),
),
),
),
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'${(policy["si_premium_value"] ?? 0) + (policy["si_gst_value"] ?? 0)}/-',
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'${(policy["si_premium_value"] ?? 0) + (policy["si_gst_value"] ?? 0)}/-',
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
),
),
),
),
),
],
);
}).toList();
],
);
})
.whereType<TableRow>() // Filter out null values
.toList();
}
List<TableRow> gmcBuildPolicyRows(dynamic policies, BuildContext context) {
print('gmcBuildPolicyRows $policies');
if (policies is! List) {
return []; // Return empty list if policies is not a list
}
gmcTotalAmt = calculateGmcTotalAmt(policies.cast<Map<String, dynamic>>());
print('gmcTotalAmt $gmcTotalAmt');
return (policies as List)
.where((policy) => policy is Map<String,
dynamic>) // Ensure each item is a Map<String, dynamic>
.map((policy) {
var siGstValue =
policy["family_floaters_of_dependent_and_gst_value"] ?? 0;
var siPremiumValue =
policy["family_floaters_of_dependent_and_si_premium_value"] ?? 0;
if (siGstValue == 0 || siPremiumValue == 0)
return null; // Skip invalid policies
return TableRow(
children: [
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
Responsive.isDesktop(context)
? (policy["Policy_Name"] ?? 'Default Policy Name')
: policy['type'],
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
),
),
),
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'${policy["family_floaters_of_dependent_and_si_premium_value"]}/Year',
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
),
),
),
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'${policy["family_floaters_of_dependent_and_gst_value"]}/-',
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
),
),
),
TableCell(
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'${(policy["family_floaters_of_dependent_and_si_premium_value"] ?? 0) + (policy["family_floaters_of_dependent_and_gst_value"] ?? 0)}/-',
textAlign: TextAlign.start,
style: GoogleFonts.poppins(
fontSize: Responsive.isDesktop(context) ? 14 : 12),
),
),
),
],
);
})
.whereType<TableRow>() // Filter out null values
.toList();
}
}

View File

@ -18,7 +18,7 @@ class ApiService {
Future<void> _initializeToken() async {
final prefs = await SharedPreferences.getInstance();
_token = prefs.getString('token') ?? '';
_token = prefs.getString('enrollToken') ?? '';
final hrprefs = await SharedPreferences.getInstance();
_hrtoken = hrprefs.getString('hrtoken') ?? '';
}

View File

@ -58,7 +58,7 @@ class _loginState extends State<login> {
// _token = prefs.getString('token');
final response = await http.post(
Uri.parse(Environment.apiUrl + 'checkMpin'),
Uri.parse(Environment.apiUrlEnrollment + 'checkMpin'),
body: json.encode({'mobile_number': empMobileNo}),
headers: {
HttpHeaders.contentTypeHeader: 'application/json',
@ -98,8 +98,8 @@ class _loginState extends State<login> {
// Determine the API and the payload based on the visible field
String apiEndpoint = isEmailFieldVisible
? Environment.apiUrl + 'verifyEmployeeEmailId'
: Environment.apiUrl + 'verifyEmployeeNumber';
? Environment.apiUrlEnrollment + 'verifyEmployeeEmailId'
: Environment.apiUrlEnrollment + 'verifyEmployeeNumber';
Map<String, dynamic> payload = isEmailFieldVisible
? {'email': emailController.text}

View File

@ -53,7 +53,7 @@ class _claimprocessState extends State<claimprocess> {
Future<void> _loadToken() async {
print('_loadToken');
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;

View File

@ -77,7 +77,7 @@ class _claimsState extends State<claims> {
Future<void> _loadToken() async {
print('_loadToken');
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;

View File

@ -107,7 +107,7 @@ class _claimtracklistformState extends State<claimtracklist> {
Future<void> _loadToken() async {
print('_loadToken');
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;

View File

@ -76,7 +76,7 @@ class _generalExclusionsDeductiblesState
Future<void> _loadToken() async {
print('_loadToken');
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;

View File

@ -78,7 +78,7 @@ class _helpState extends State<help> {
Future<void> _loadToken() async {
print('_loadToken');
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;

View File

@ -62,7 +62,7 @@ class _HomeState extends State<Home> {
Future<void> _loadToken() async {
print('_loadToken');
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;

View File

@ -157,7 +157,7 @@ class _planclaimsformState extends State<planclaimsform> {
Future<void> _loadToken() async {
print('_loadToken');
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;

View File

@ -66,7 +66,7 @@ class _policiesState extends State<policies> {
Future<void> _loadToken() async {
print('_loadToken');
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;

View File

@ -75,7 +75,7 @@ class _profileState extends State<profile> {
Future<void> _loadToken() async {
print('_loadToken');
final SharedPreferences prefs = await SharedPreferences.getInstance();
final String? token = prefs.getString('token');
final String? token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
setState(() {
_token = token;
@ -150,27 +150,27 @@ class _profileState extends State<profile> {
}
Future<void> logout(BuildContext context) async {
if (isMobilePlatform()) {
final SharedPreferences prefs = await SharedPreferences.getInstance();
// if (isMobilePlatform()) {
final SharedPreferences prefs = await SharedPreferences.getInstance();
// Get the value of the mobile_number key
String? mobileNumber = prefs.getString('empMobileNo');
// Get the value of the mobile_number key
String? mobileNumber = prefs.getString('empMobileNo');
// Clear all keys
await prefs.clear();
// Clear all keys
await prefs.clear();
// Re-set the mobile_number key
if (mobileNumber != null) {
await prefs.setString('empMobileNo', mobileNumber);
}
ToastHelper.showSuccessToast(context, 'logout');
// Navigate to login page
Navigator.pushNamed(context, 'login');
} else {
final prefs = await SharedPreferences.getInstance();
await prefs.clear();
Navigator.pushNamed(context, 'login');
// Re-set the mobile_number key
if (mobileNumber != null) {
await prefs.setString('empMobileNo', mobileNumber);
}
ToastHelper.showSuccessToast(context, 'logout');
// Navigate to login page
Navigator.pushNamed(context, 'login');
// } else {
// final prefs = await SharedPreferences.getInstance();
// await prefs.clear();
// Navigator.pushNamed(context, 'login');
// }
}
@override

View File

@ -15,7 +15,7 @@ class ApiService {
Future<void> _initializeToken() async {
final prefs = await SharedPreferences.getInstance();
_token = prefs.getString('token') ?? '';
_token = prefs.getString('_postToken') ?? '';
}
Future<Map<String, dynamic>> getActiveAndInactivePolicyDetails(

View File

@ -28,14 +28,21 @@ class _pinPageState extends State<pinPage> {
String? savedPin;
dynamic empMobileNo;
dynamic _token;
dynamic _postToken;
dynamic empCodeString;
dynamic empClientBranchId;
dynamic empPrimaryId;
dynamic gpaEmpName;
dynamic client_id;
dynamic emp_status;
dynamic enrollmentEmpCodeString;
dynamic enrollmentEmpClientBranchId;
dynamic enrollmentEmpPrimaryId;
dynamic enrollmentGpaEmpName;
dynamic enrollmentClient_id;
dynamic clientName;
dynamic clientLogo;
dynamic emp_status;
dynamic enrollmentEmp_status;
dynamic bioMetricMpin;
@override
@ -70,7 +77,7 @@ class _pinPageState extends State<pinPage> {
// _token = prefs.getString('token');
final response = await http.post(
Uri.parse(Environment.apiUrl + 'verifyMpin'),
Uri.parse(Environment.apiUrlEnrollment + 'verifyMpin'),
body: json.encode({'mobile_number': empMobileNo, 'mpin': mpin}),
headers: {
HttpHeaders.contentTypeHeader: 'application/json',
@ -79,37 +86,22 @@ class _pinPageState extends State<pinPage> {
if (response.statusCode == 200) {
Map<String, dynamic> data = json.decode(response.body);
if (data['status'] == 'success') {
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('token', data['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(data['data']);
print('decodedToken : $decodedToken');
empClientBranchId = decodedToken['client_branch_id'];
prefs.setString('empClientBranchId', empClientBranchId);
empCodeString = decodedToken['emp_code'].toString();
prefs.setString('empCode', empCodeString);
empPrimaryId = decodedToken['id'];
prefs.setString('empPrimaryId', empPrimaryId);
gpaEmpName = decodedToken['name'].toString();
prefs.setString('gpaEmpName', gpaEmpName);
client_id = decodedToken['client_id'];
prefs.setString('client_id', client_id);
emp_status = decodedToken['emp_status'];
prefs.setString('emp_status', emp_status);
getClientLogoAndDetails();
print('data: $data');
_token = data['data'];
String status = data['status'];
print('Successfully Login');
final token = prefs.getString('token');
if (token != null && token.isNotEmpty) {
ToastHelper.showSuccessToast(context, 'Successfully Login');
if (emp_status == 'enrolled' || emp_status == 'active') {
Navigator.pushReplacementNamed(context, 'home');
} else {
Navigator.pushReplacementNamed(context, 'empDetails');
}
}
// Directly access the post_enrollment data
Map<String, dynamic> post = data['post_enrollment'];
print('post: $post');
_postToken = post['data'];
String postStatus = post['status'];
if (postStatus == 'success') {
postSuccessData(post, data);
} else if (status == 'success') {
enrollmentSuccessData(data);
} else {
ToastHelper.showErrorToast(context, 'Invalid Pin Number');
print('Invalid Pin Number');
@ -124,6 +116,108 @@ class _pinPageState extends State<pinPage> {
}
}
void postSuccessData(post, data) async {
String status = data['status'];
String postStatus = post['status'];
if (postStatus == 'success') {
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('_postToken', post['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(post['data']);
print('decodedToken : $decodedToken');
empClientBranchId = decodedToken['client_branch_id'];
prefs.setString('empClientBranchId', empClientBranchId);
empCodeString = decodedToken['emp_code'].toString();
prefs.setString('empCode', empCodeString);
empPrimaryId = decodedToken['id'];
prefs.setString('empPrimaryId', empPrimaryId);
gpaEmpName = decodedToken['name'].toString();
prefs.setString('gpaEmpName', gpaEmpName);
client_id = decodedToken['client_id'];
prefs.setString('client_id', client_id);
emp_status = decodedToken['emp_status'];
prefs.setString('emp_status', emp_status);
// getClientLogoAndDetails();
print('Successfully Login');
// Redirect to another page
}
if (status == 'success') {
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('enrollToken', data['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(data['data']);
print('decodedToken : $decodedToken');
enrollmentEmpClientBranchId = decodedToken['client_branch_id'];
prefs.setString(
'enrollmentEmpClientBranchId', enrollmentEmpClientBranchId);
enrollmentEmpCodeString = decodedToken['emp_code'].toString();
prefs.setString('enrollmentEmpCodeString', enrollmentEmpCodeString);
enrollmentEmpPrimaryId = decodedToken['id'];
prefs.setString('enrollmentEmpPrimaryId', enrollmentEmpPrimaryId);
enrollmentGpaEmpName = decodedToken['name'].toString();
prefs.setString('enrollmentGpaEmpName', enrollmentGpaEmpName);
enrollmentClient_id = decodedToken['client_id'];
prefs.setString('enrollmentClient_id', enrollmentClient_id);
enrollmentEmp_status = decodedToken['emp_status'];
prefs.setString('enrollmentEmp_status', enrollmentEmp_status);
getClientLogoAndDetails();
}
final SharedPreferences prefs = await SharedPreferences.getInstance();
final token = prefs.getString('_postToken');
if (token != null && token.isNotEmpty) {
ToastHelper.showSuccessToast(context, 'Successfully Login');
// if (enrollmentEmp_status == 'enrolled' ||
// enrollmentEmp_status == 'active') {
Navigator.pushReplacementNamed(context, 'home');
// } else {
// Navigator.pushReplacementNamed(context, 'empDetails');
// }
}
}
void enrollmentSuccessData(data) async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('enrollToken', data['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(data['data']);
print('decodedToken : $decodedToken');
enrollmentEmpClientBranchId = decodedToken['client_branch_id'];
prefs.setString('enrollmentEmpClientBranchId', enrollmentEmpClientBranchId);
enrollmentEmpCodeString = decodedToken['emp_code'].toString();
prefs.setString('enrollmentEmpCodeString', enrollmentEmpCodeString);
enrollmentEmpPrimaryId = decodedToken['id'];
prefs.setString('enrollmentEmpPrimaryId', enrollmentEmpPrimaryId);
enrollmentGpaEmpName = decodedToken['name'].toString();
prefs.setString('enrollmentGpaEmpName', enrollmentGpaEmpName);
enrollmentClient_id = decodedToken['client_id'];
prefs.setString('enrollmentClient_id', enrollmentClient_id);
enrollmentEmp_status = decodedToken['emp_status'];
prefs.setString('enrollmentEmp_status', enrollmentEmp_status);
getClientLogoAndDetails();
print('Successfully Login');
// Redirect to another page
final token = prefs.getString('enrollToken');
if (token != null && token.isNotEmpty) {
ToastHelper.showSuccessToast(context, 'Successfully Login');
// if (enrollmentEmp_status == 'enrolled' ||
// enrollmentEmp_status == 'active') {
// Navigator.pushReplacementNamed(context, 'home');
// } else {
Navigator.pushReplacementNamed(context, 'empDetails');
// }
}
}
Future<void> enterLoginPin() async {
try {
if (_formKey.currentState!.validate()) {
@ -156,8 +250,8 @@ class _pinPageState extends State<pinPage> {
}
Future<void> getClientLogoAndDetails() async {
var url = Uri.parse(Environment.apiUrl +
'getClientDetails?client_id=$client_id&emp_code=$empCodeString');
var url = Uri.parse(Environment.apiUrlEnrollment +
'getClientDetails?client_id=$enrollmentClient_id&emp_code=$enrollmentEmpCodeString');
try {
var response = await http.get(
url,

View File

@ -45,7 +45,7 @@ class _changePinState extends State<changePin> {
if (_formKey.currentState!.validate()) {
final SharedPreferences prefs = await SharedPreferences.getInstance();
empMobileNo = prefs.getString('empMobileNo');
_token = prefs.getString('token');
_token = prefs.getString('_postToken');
final response = await http.post(
Uri.parse(Environment.apiUrl + 'updateMpin'),

View File

@ -48,13 +48,13 @@ class _pinSettingPageState extends State<pinSettingPage> {
final SharedPreferences prefs = await SharedPreferences.getInstance();
empMobileNo = prefs.getString('empMobileNo');
emp_status = prefs.getString('emp_status');
_token = prefs.getString('token');
_token = prefs.getString('enrollToken');
String pin = _pinController.text;
await _authService.savePin(pin);
await _authService.saveSkipStatus(1);
final response = await http.post(
Uri.parse(Environment.apiUrl + 'saveMpin'),
Uri.parse(Environment.apiUrlEnrollment + 'saveMpin'),
body: json.encode(
{'mobile_number': empMobileNo, 'mpin': _pinController.text}),
headers: {

View File

@ -44,15 +44,26 @@ class _MyVerifyState extends State<MyVerify> {
late Timer _timer;
int _secondsRemaining = 60;
bool _isTimerRunning = false;
dynamic empCodeString;
dynamic enrollmentEmpClientBranchId;
dynamic enrollmentEmpCodeString;
dynamic enrollmentEmpPrimaryId;
dynamic enrollmentGpaEmpName;
dynamic enrollmentClient_id;
dynamic enrollmentEmp_status;
dynamic empClientBranchId;
dynamic empCodeString;
dynamic empPrimaryId;
dynamic gpaEmpName;
dynamic client_id;
dynamic emp_status;
dynamic _token;
dynamic _postToken;
dynamic clientName;
dynamic clientLogo;
dynamic emp_status;
dynamic fCMToken;
late String verificationId;
late String mobileNumber;
@ -148,7 +159,7 @@ class _MyVerifyState extends State<MyVerify> {
void generateToken(bool otpVerifyStatus) async {
try {
final response = await http.post(
Uri.parse(Environment.apiUrl + 'getVerifiedUserData'),
Uri.parse(Environment.apiUrlEnrollment + 'getVerifiedUserData'),
body: json.encode({
'mobile_number': mobileNumber,
'otp_verification': otpVerifyStatus
@ -166,55 +177,24 @@ class _MyVerifyState extends State<MyVerify> {
print('data: $data');
_token = data['data'];
String status = data['status'];
print(status);
if (status == 'success') {
// Directly access the post_enrollment data
Map<String, dynamic> post = data['post_enrollment'];
print('post: $post');
_postToken = post['data'];
String postStatus = post['status'];
if (postStatus == 'success') {
setState(() {
_isLoading = false;
});
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('token', data['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(data['data']);
print('decodedToken : $decodedToken');
empClientBranchId = decodedToken['client_branch_id'];
prefs.setString('empClientBranchId', empClientBranchId);
empCodeString = decodedToken['emp_code'].toString();
prefs.setString('empCode', empCodeString);
empPrimaryId = decodedToken['id'];
prefs.setString('empPrimaryId', empPrimaryId);
gpaEmpName = decodedToken['name'].toString();
prefs.setString('gpaEmpName', gpaEmpName);
client_id = decodedToken['client_id'];
prefs.setString('client_id', client_id);
emp_status = decodedToken['emp_status'];
prefs.setString('emp_status', emp_status);
getClientLogoAndDetails();
print('Successfully Login');
// Redirect to another page
final token = prefs.getString('token');
// int skipStatus = prefs.getInt('skipStatus') ?? 1;
// final mpinText = prefs.getString('mpinText');
print(isMobilePlatform());
if (isMobilePlatform()) {
// if (prefs.containsKey('mpin') && mpinText == 'Mpin - exist') {
if (token != null && token.isNotEmpty) {
await initNotification();
Navigator.pushReplacementNamed(context, 'pinSettingPage');
}
// }
} else {
if (token != null && token.isNotEmpty) {
ToastHelper.showSuccessToast(context, 'Successfully Login');
if (emp_status == 'enrolled' || emp_status == 'active') {
Navigator.pushReplacementNamed(context, 'home');
} else {
Navigator.pushReplacementNamed(context, 'empDetails');
}
}
}
postSuccessData(post, data);
} else if (status == 'success') {
setState(() {
_isLoading = false;
});
enrollmentSuccessData(data);
} else {
setState(() {
_isLoading = false;
@ -241,6 +221,130 @@ class _MyVerifyState extends State<MyVerify> {
}
}
void postSuccessData(post, data) async {
String status = data['status'];
String postStatus = post['status'];
if (postStatus == 'success') {
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('_postToken', post['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(post['data']);
print('decodedToken : $decodedToken');
empClientBranchId = decodedToken['client_branch_id'];
prefs.setString('empClientBranchId', empClientBranchId);
empCodeString = decodedToken['emp_code'].toString();
prefs.setString('empCode', empCodeString);
empPrimaryId = decodedToken['id'];
prefs.setString('empPrimaryId', empPrimaryId);
gpaEmpName = decodedToken['name'].toString();
prefs.setString('gpaEmpName', gpaEmpName);
client_id = decodedToken['client_id'];
prefs.setString('client_id', client_id);
emp_status = decodedToken['emp_status'];
prefs.setString('emp_status', emp_status);
getClientLogoAndDetails();
print('Successfully Login');
// Redirect to another page
}
if (status == 'success') {
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('enrollToken', data['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(data['data']);
print('decodedToken : $decodedToken');
enrollmentEmpClientBranchId = decodedToken['client_branch_id'];
prefs.setString(
'enrollmentEmpClientBranchId', enrollmentEmpClientBranchId);
enrollmentEmpCodeString = decodedToken['emp_code'].toString();
prefs.setString('enrollmentEmpCodeString', enrollmentEmpCodeString);
enrollmentEmpPrimaryId = decodedToken['id'];
prefs.setString('enrollmentEmpPrimaryId', enrollmentEmpPrimaryId);
enrollmentGpaEmpName = decodedToken['name'].toString();
prefs.setString('enrollmentGpaEmpName', enrollmentGpaEmpName);
enrollmentClient_id = decodedToken['client_id'];
prefs.setString('enrollmentClient_id', enrollmentClient_id);
enrollmentEmp_status = decodedToken['emp_status'];
prefs.setString('enrollmentEmp_status', enrollmentEmp_status);
// getClientLogoAndDetails();
}
final SharedPreferences prefs = await SharedPreferences.getInstance();
final _postToken = prefs.getString('_postToken');
// int skipStatus = prefs.getInt('skipStatus') ?? 1;
// final mpinText = prefs.getString('mpinText');
print(isMobilePlatform());
if (isMobilePlatform()) {
// if (prefs.containsKey('mpin') && mpinText == 'Mpin - exist') {
if (_postToken != null && _postToken.isNotEmpty) {
await initNotification();
Navigator.pushReplacementNamed(context, 'pinSettingPage');
}
// }
} else {
if (_postToken != null && _postToken.isNotEmpty) {
ToastHelper.showSuccessToast(context, 'Successfully Login');
// if (emp_status == 'enrolled' || emp_status == 'active') {
Navigator.pushReplacementNamed(context, 'home');
// } else {
// Navigator.pushReplacementNamed(context, 'empDetails');
// }
}
}
}
void enrollmentSuccessData(data) async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('enrollToken', data['data']);
// Decode the JWT token received from the API response
Map<String, dynamic>? decodedToken = Jwt.parseJwt(data['data']);
print('decodedToken : $decodedToken');
enrollmentEmpClientBranchId = decodedToken['client_branch_id'];
prefs.setString('enrollmentEmpClientBranchId', enrollmentEmpClientBranchId);
enrollmentEmpCodeString = decodedToken['emp_code'].toString();
prefs.setString('enrollmentEmpCodeString', enrollmentEmpCodeString);
enrollmentEmpPrimaryId = decodedToken['id'];
prefs.setString('enrollmentEmpPrimaryId', enrollmentEmpPrimaryId);
enrollmentGpaEmpName = decodedToken['name'].toString();
prefs.setString('enrollmentGpaEmpName', enrollmentGpaEmpName);
enrollmentClient_id = decodedToken['client_id'];
prefs.setString('enrollmentClient_id', enrollmentClient_id);
enrollmentEmp_status = decodedToken['emp_status'];
prefs.setString('enrollmentEmp_status', enrollmentEmp_status);
getClientLogoAndDetails();
print('Successfully Login');
// Redirect to another page
final enrollToken = prefs.getString('enrollToken');
// int skipStatus = prefs.getInt('skipStatus') ?? 1;
// final mpinText = prefs.getString('mpinText');
print(isMobilePlatform());
if (isMobilePlatform()) {
// if (prefs.containsKey('mpin') && mpinText == 'Mpin - exist') {
if (enrollToken != null && enrollToken.isNotEmpty) {
await initNotification();
Navigator.pushReplacementNamed(context, 'pinSettingPage');
}
// }
} else {
if (enrollToken != null && enrollToken.isNotEmpty) {
ToastHelper.showSuccessToast(context, 'Successfully Login');
// if (emp_status == 'enrolled' || emp_status == 'active') {
// Navigator.pushReplacementNamed(context, 'home');
// } else {
Navigator.pushReplacementNamed(context, 'empDetails');
// }
}
}
}
void verifyOTP(String otp) async {
try {
setState(() {