totalPrice method

num totalPrice()

Implementation

num totalPrice() {
  if (type.value == SubscriptionType.corporateAddon) {
    if (passengerAddonsPricing.value == null) {
      return 0;
    }

    var discount = 0;
    for (var d in passengerAddonsPricing.value!.discounts!) {
      if (corporatePassengersNumber.value >= (d.minPassengers ?? 0) &&
          corporatePassengersNumber.value <=
              (d.maxPassenger ?? double.maxFinite)) {
        if (d.discount is int) {
          discount = d.discount;
        }
      }
    }
    return (passengerAddonsPricing.value!.newPassengerPrice ?? 0) *
        corporatePassengersNumber.value *
        (1 - (discount / 100));
  }

  if (type.value != SubscriptionType.upgrade || isNewYear) {
    return selectedPackage.value?.price ?? 0;
  }

  return selectedPackage.value?.discountedPrice ?? 0;
}