CHANGE_ : gmc

This commit is contained in:
venbaittech 2024-11-08 17:23:33 +05:30
parent 1d3c7ebc18
commit d30f72acd9

View File

@ -124,7 +124,7 @@ class _empReviewDetailsState extends State<empReviewDetails> {
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<empReviewDetails> {
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<empReviewDetails> {
showHideTopUpCard = 1;
}
topUpOpenForEnrollment =
topUpSiPolicies['gmc_si_topup']['OpenForEnrollment'];
topUpPolicyName =
await topUpSiPolicies['gmc_si_topup']['policy_name'];
@ -477,11 +484,11 @@ class _empReviewDetailsState extends State<empReviewDetails> {
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<empReviewDetails> {
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<empReviewDetails> {
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<empReviewDetails> {
}
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<dynamic>? 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<empReviewDetails> {
List<Widget> generateGmcCards(List<dynamic> data) {
List<Widget> cards = [];
gmcEnrollmentStatus = isEnrollmentOpen(data);
for (var item in data) {
setState(() {
gmcPolicyName = item['Policy_Name'];