From d30f72acd95f5b5f8b3b9c5d45ef676eb2251fd6 Mon Sep 17 00:00:00 2001 From: venbaittech Date: Fri, 8 Nov 2024 17:23:33 +0530 Subject: [PATCH] CHANGE_ : gmc --- lib/pages/enrollment/empReview.dart | 67 ++++++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 7 deletions(-) diff --git a/lib/pages/enrollment/empReview.dart b/lib/pages/enrollment/empReview.dart index 9b252be..bc52643 100644 --- a/lib/pages/enrollment/empReview.dart +++ b/lib/pages/enrollment/empReview.dart @@ -124,7 +124,7 @@ class _empReviewDetailsState extends State { dynamic topUpParentTypeName; dynamic topUpParentFloterTextHeading; dynamic topUpParentDisclaimer; - int topUpParentOpenForEnrollment = 0; + // int topUpParentOpenForEnrollment = 0; int activeSiData = 0; int activeSiParentData = 0; int activeDependentData = 0; @@ -133,6 +133,10 @@ class _empReviewDetailsState extends State { dynamic gpaDataIsEmpty = 1; dynamic empClientBranchId; dynamic selfEmpStatus; + dynamic topUpOpenForEnrollment; + dynamic topUpParentOpenForEnrollment; + dynamic addOnsDependentOpenForEnrollment; + bool gmcEnrollmentStatus = false; @override void initState() { @@ -390,6 +394,9 @@ class _empReviewDetailsState extends State { showHideTopUpCard = 1; } + topUpOpenForEnrollment = + topUpSiPolicies['gmc_si_topup']['OpenForEnrollment']; + topUpPolicyName = await topUpSiPolicies['gmc_si_topup']['policy_name']; @@ -477,11 +484,11 @@ class _empReviewDetailsState extends State { topUpParentECardDownload = topUpSiParentPolicies['gmc_si_parent_topup']['eCardDownload']; print(topUpParentECardDownload); - String intOpenForEnrollment = - topUpSiParentPolicies['gmc_si_parent_topup'] - ['OpenForEnrollment']; - topUpParentOpenForEnrollment = int.parse(intOpenForEnrollment); - print(topUpParentOpenForEnrollment); + // String intOpenForEnrollment = + // topUpSiParentPolicies['gmc_si_parent_topup'] + // ['OpenForEnrollment']; + // topUpParentOpenForEnrollment = int.parse(intOpenForEnrollment); + // print(topUpParentOpenForEnrollment); topUpParentTypeName = topUpSiParentPolicies['gmc_si_parent_topup']['type']; @@ -500,6 +507,10 @@ class _empReviewDetailsState extends State { showHideTopUpParentCard = 1; } + topUpParentOpenForEnrollment = + await topUpSiParentPolicies['gmc_si_parent_topup'] + ['OpenForEnrollment']; + topUpParentDisclaimer = await topUpSiParentPolicies['gmc_si_parent_topup'] ['disclaimer']; @@ -575,6 +586,10 @@ class _empReviewDetailsState extends State { addOnsDependentDisclaimer = await addOnsDependentPolicies['gmc_dependent_addon'] ['disclaimer']; + + addOnsDependentOpenForEnrollment = + await addOnsDependentPolicies['gmc_dependent_addon'] + ['OpenForEnrollment']; } else { print('No data found in the response'); } @@ -780,12 +795,50 @@ class _empReviewDetailsState extends State { } bool isSubmitEnabled() { + print( + 'topUpOpenForEnrollment: $topUpOpenForEnrollment (type: ${topUpOpenForEnrollment?.runtimeType})'); + print( + 'topUpParentOpenForEnrollment: $topUpParentOpenForEnrollment (type: ${topUpParentOpenForEnrollment?.runtimeType})'); + print( + 'addOnsDependentOpenForEnrollment: $addOnsDependentOpenForEnrollment (type: ${addOnsDependentOpenForEnrollment?.runtimeType})'); + + // Convert to integers and handle null values by defaulting to 0 + bool enrollmentConditionsMet = + (int.tryParse(topUpOpenForEnrollment ?? '0') != 0) && + (int.tryParse(topUpParentOpenForEnrollment ?? '0') != 0) && + (int.tryParse(addOnsDependentOpenForEnrollment ?? '0') != 0); + + print('enrollmentConditionsMet: $enrollmentConditionsMet'); + print('gmcEnrollmentStatus: $gmcEnrollmentStatus'); + return isChecked && + enrollmentConditionsMet && + gmcEnrollmentStatus && (activeSiData == 1 ? topUpSiIsChecked : true) && (activeSiParentData == 1 ? topUpParentIsChecked : true) && (activeDependentData == 1 ? addOnsDependentIsChecked : true); } + bool isEnrollmentOpen(List? policyList) { + // Check if the policy list is null or empty + if (policyList == null || policyList.isEmpty) { + return false; // Return false if there are no policies + } + + // Check each policy in the list + for (var policy in policyList) { + // Default to "0" if OpenForEnrollment is null + String openForEnrollment = policy["OpenForEnrollment"] ?? "0"; + + // If any policy's OpenForEnrollment is "0", return false + if (openForEnrollment == "0") { + return false; + } + } + // If none of the policies have OpenForEnrollment as "0", return true + return true; + } + @override Widget build(BuildContext context) { if ((gpaMappedFamilyFloaters == [] && gpaMappedFamilyFloaters == null) && @@ -2713,7 +2766,7 @@ class _empReviewDetailsState extends State { List generateGmcCards(List data) { List cards = []; - + gmcEnrollmentStatus = isEnrollmentOpen(data); for (var item in data) { setState(() { gmcPolicyName = item['Policy_Name'];