getModel static method

VoucherGenerationSummaryViewModel getModel({
  1. required double amount,
  2. required bool autoGenerated,
  3. dynamic productId,
  4. dynamic couponCode,
  5. required Map<double, int>? selectedDenomination,
  6. required bool referralCodeAutoApply,
  7. required bool consumeCoins,
  8. required double taxPercentage,
  9. required String title,
  10. required String variantId,
  11. required bool isRewardTypePostpaid,
})

Implementation

static VoucherGenerationSummaryViewModel getModel({
  required double amount,
  required bool autoGenerated,
  required String brandLogo,
  productId,
  couponCode,
  required Map<double, int>? selectedDenomination,
  required bool referralCodeAutoApply,
  required bool consumeCoins,
  required double taxPercentage,
  required String title,
  required String variantId,
  required bool isRewardTypePostpaid,
}) {
  final builder = V2VoucherGenerationSummaryBuilder(
    variantId: variantId,
    title: title,
    brandLogo: brandLogo,
    couponCode: couponCode,
    amount: amount,
    autoGenerated: autoGenerated,
    onGenerationSuccess: ({
      required String orderId,
      required double rewardPercentage,
      bool couponApplied = false,
    }) {
      appAnalytics().fireEvent(ProfileDirtyEvent());
      VoucherGenerationModule.onVoucherGeneration(
        orderId: orderId,
        rewardPercentage: rewardPercentage,
        couponApplied: couponApplied,
        routeName: Screens.voucherGenerationSuccessScreen.name,
      );
    },
    onGenerationFailed: ({required String orderId}) {
      onVoucherGeneration(
        orderId: orderId,
        routeName: Screens.v2VoucherGenerationFailedScreen.name,
      );
    },
    onGenerationInProgress: ({required String orderId}) {
      appAnalytics().fireEvent(ProfileDirtyEvent());
      onVoucherGeneration(
        orderId: orderId,
        routeName: Screens.v2VoucherGenerationInprogressScreen.name,
      );
    },
    onPaymentProcessing: onPaymentProcessing,
    productId: productId,
    collectOtp: collectOtp,
    askForPermissions: askForPermissions,
    onPaymentInitiated: onPaymentInitiated,
    selectedDenomination: selectedDenomination,
    onAddMoneyClick: onAddMoneyClick,
    referralCodeAutoApply: referralCodeAutoApply,
    consumeCoins: consumeCoins,
    taxPercentage: taxPercentage,
    getAllowedUPIApps: getAllowedUPIApps,
    isRewardTypePostpaid: isRewardTypePostpaid,
  );

  final model = VoucherGenerationSummaryViewModel(buildParams: builder);
  builder.model = model;

  return model;
}