TP-63920 | Amc dynamic mandate uat bugs (#10530)
Co-authored-by: saksham <saksham>
This commit is contained in:
@@ -791,21 +791,29 @@ class FundBuyingFragmentV2 : AmcBaseFragment(), WidgetCallback {
|
||||
var bottomSheetData: String? = null
|
||||
val maxAutoPayLimit =
|
||||
viewModel.fundBuyScreenData.value?.content?.maxAutoPayLimit
|
||||
if (maxAutoPayLimit == null || (amount.toDouble() > maxAutoPayLimit.toSafeDouble())) {
|
||||
bottomSheetData = viewModel.getBottomSheetData() ?: run {
|
||||
viewModel.getSipBottomSheetData(
|
||||
|
||||
viewModel.fundBuyScreenData.value?.content?.isDynamicMandateEnabled?.let {
|
||||
if (maxAutoPayLimit == null || (amount.toDouble() > maxAutoPayLimit.toSafeDouble())) {
|
||||
sipWeeklyFortnightlyAction(
|
||||
viewModel.getBottomSheetDataActionData() ?: null
|
||||
)
|
||||
return
|
||||
} else {
|
||||
bottomSheetData = viewModel.getSipBottomSheetData(
|
||||
binding.sipAmount.widgetBinding.plainTextInput.text.toString(),
|
||||
frequency,
|
||||
binding.autopayCheckbox.checkbox.isChecked
|
||||
)
|
||||
}
|
||||
} else {
|
||||
} ?: run {
|
||||
bottomSheetData = viewModel.getSipBottomSheetData(
|
||||
binding.sipAmount.widgetBinding.plainTextInput.text.toString(),
|
||||
frequency,
|
||||
binding.autopayCheckbox.checkbox.isChecked
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
val bundle = Bundle().apply { putString(Constant.DATA, bottomSheetData) }
|
||||
getBottomSheet(
|
||||
SubPageStatusType.AMC_COMMON_BOTTOMSHEET,
|
||||
@@ -869,22 +877,30 @@ class FundBuyingFragmentV2 : AmcBaseFragment(), WidgetCallback {
|
||||
sipMonthlyAction(null)
|
||||
} else {
|
||||
var bottomSheetData: String? = null
|
||||
|
||||
val maxAutoPayLimit =
|
||||
viewModel.fundBuyScreenData.value?.content?.maxAutoPayLimit
|
||||
if (maxAutoPayLimit == null || (amount.toDouble() > maxAutoPayLimit.toSafeDouble())) {
|
||||
bottomSheetData = viewModel.getBottomSheetData() ?: run {
|
||||
viewModel.getSipBottomSheetData(
|
||||
|
||||
viewModel.fundBuyScreenData.value?.content?.isDynamicMandateEnabled?.let {
|
||||
if (maxAutoPayLimit == null || (amount.toDouble() > maxAutoPayLimit.toSafeDouble())) {
|
||||
sipMonthlyAction(
|
||||
viewModel.getBottomSheetDataActionData() ?: null
|
||||
)
|
||||
return
|
||||
} else {
|
||||
bottomSheetData = viewModel.getSipBottomSheetData(
|
||||
binding.sipAmount.widgetBinding.plainTextInput.text.toString(),
|
||||
frequency,
|
||||
binding.autopayCheckbox.checkbox.isChecked
|
||||
)
|
||||
}
|
||||
} else
|
||||
} ?: run {
|
||||
bottomSheetData = viewModel.getSipBottomSheetData(
|
||||
binding.sipAmount.widgetBinding.plainTextInput.text.toString(),
|
||||
frequency,
|
||||
binding.autopayCheckbox.checkbox.isChecked
|
||||
)
|
||||
}
|
||||
|
||||
val bundle = Bundle().apply { putString(Constant.DATA, bottomSheetData) }
|
||||
getBottomSheet(
|
||||
|
||||
@@ -40,9 +40,10 @@ data class FundBuyData(
|
||||
@SerializedName("footerVariations") val footerVariations: Map<String, Footer>? = null,
|
||||
@SerializedName("newFooterVariations") val newFooterVariations: Map<String, CardType>? = null,
|
||||
@SerializedName("amountPageFooter") val amountPageFooter: CardType? = null,
|
||||
@SerializedName("isManualVsAutopay") val isManualVsAutopay:Boolean? = null,
|
||||
@SerializedName("sipAutoPayBottomSheetData") val sipAutoPayBottomSheetData:AmcCommonBottomSheetData? = null,
|
||||
@SerializedName("maxAutoPayLimit") val maxAutoPayLimit:String? = null,
|
||||
@SerializedName("isManualVsAutopay") val isManualVsAutopay: Boolean? = null,
|
||||
@SerializedName("sipAutoPayBottomSheetData") val sipAutoPayBottomSheetData: AmcCommonBottomSheetData? = null,
|
||||
@SerializedName("maxAutoPayLimit") val maxAutoPayLimit: String? = null,
|
||||
@SerializedName("isDynamicMandateEnabled") val isDynamicMandateEnabled: Boolean? = null,
|
||||
)
|
||||
|
||||
open class GenericFooter(
|
||||
|
||||
@@ -186,6 +186,10 @@ class FundBuyV2ViewModel @Inject constructor(private val repository: FundBuyRepo
|
||||
}
|
||||
}
|
||||
|
||||
fun getBottomSheetDataActionData(): ActionData? {
|
||||
return fundBuyScreenData.value?.content?.sipAutoPayBottomSheetData?.actionData
|
||||
}
|
||||
|
||||
fun getLumpsumBottomSheetData(): String? {
|
||||
return fundBuyScreenData.value?.content?.lumpsumCommonBottomSheet?.let {
|
||||
gson.toJson(it, AmcCommonBottomSheetData::class.java)
|
||||
|
||||
@@ -23,6 +23,8 @@ import com.navi.amc.databinding.ModifySipDetailsLayoutBinding
|
||||
import com.navi.amc.fundbuy.fragments.SipCalendarFragment
|
||||
import com.navi.amc.portfolio.models.ModifySipRequestDetails
|
||||
import com.navi.amc.portfolio.viewmodels.ModifySipDetailsViewModel
|
||||
import com.navi.amc.utils.AmcAnalytics
|
||||
import com.navi.amc.utils.AmcAnalytics.ISIN
|
||||
import com.navi.amc.utils.Constant
|
||||
import com.navi.amc.utils.Constant.ACTION_PERFORMED
|
||||
import com.navi.amc.utils.Constant.AMOUNT
|
||||
@@ -132,6 +134,9 @@ class ModifySipDetailsFragment() : AmcBaseFragment(), WidgetCallback {
|
||||
}
|
||||
?: run { false }
|
||||
it.terms?.let { binding.terms.setSpannableString(it) { navigation(it) } }
|
||||
|
||||
it.frequency?.let { viewModel.sipFrequency = it }
|
||||
it.isin?.let { viewModel.isin = it }
|
||||
}
|
||||
it?.footer?.nextCta?.let { action ->
|
||||
binding.footer.root.isVisible = true
|
||||
@@ -160,13 +165,15 @@ class ModifySipDetailsFragment() : AmcBaseFragment(), WidgetCallback {
|
||||
}
|
||||
|
||||
private fun navigate(action: ActionData) {
|
||||
if (action.url?.contains(SubPageStatusType.AUTO_PAY_SETUP_V2).orFalse())
|
||||
if (action.url?.contains(SubPageStatusType.AUTO_PAY_SETUP_V2).orFalse()){
|
||||
arguments?.apply {
|
||||
putString(AMOUNT, binding.sipAmount.getUserInputPostValidation())
|
||||
putString(FREQUENCY, viewModel.sipFrequency)
|
||||
putString(SIP_DATE, viewModel.selectedDate)
|
||||
putString(AUTOPAY_LIMIT_MODIFIED, TRUE)
|
||||
putString(AmcAnalytics.ISIN, viewModel.isin)
|
||||
}
|
||||
}
|
||||
fragmentInterchangeListener?.navigateToNextScreen(action, arguments ?: Bundle())
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,9 @@ data class ModifySipDetails(
|
||||
@SerializedName("maxAutoPayLimit")
|
||||
val maxAutoPayLimit: String? = null,
|
||||
@SerializedName("autoLimitModifyDetailsBottomSheet")
|
||||
val bottomSheetData: AmcCommonBottomSheetData? = null
|
||||
val bottomSheetData: AmcCommonBottomSheetData? = null,
|
||||
@SerializedName("frequency") val frequency: String? = null,
|
||||
@SerializedName("isin") val isin: String? = null
|
||||
)
|
||||
|
||||
data class ModifySipRequestDetails(
|
||||
|
||||
@@ -27,6 +27,7 @@ class ModifySipDetailsViewModel @Inject constructor(private val repository: Modi
|
||||
|
||||
var sipFrequency: String? = null
|
||||
var selectedDate: String? = null
|
||||
var isin: String? = null
|
||||
|
||||
fun fetchModifySipDetails(sipReferenceId: String) {
|
||||
viewModelScope.launch {
|
||||
|
||||
Reference in New Issue
Block a user