|
|
@ -275,6 +275,7 @@ extension SetupRecipientViewModel: SetupRecipientViewModelInterface { |
|
|
|
countryServicesLinker.onNext(model) |
|
|
|
|
|
|
|
guard let recipient = recipient else { return } |
|
|
|
|
|
|
|
selectedRecipientLinker.onNext(recipient) |
|
|
|
|
|
|
|
// If exist selected recipient, auto select country and payment mode of selected recipient. |
|
|
@ -332,6 +333,25 @@ extension SetupRecipientViewModel: SetupRecipientViewModelInterface { |
|
|
|
selectedPaymentModeTypesLinker.onNext(nil) |
|
|
|
|
|
|
|
paymentModeTypesLinker.onNext(model.availableServices ?? []) |
|
|
|
|
|
|
|
guard var selectedRecipient = try? selectedRecipientLinker.value() else { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
if model.countryCode != selectedRecipient.countryCode { |
|
|
|
let countryEnum = CountryEnum(rawValue: selectedRecipient.countryCode?.lowercased() ?? "") |
|
|
|
selectedRecipient.countryCode = model.countryCode |
|
|
|
selectedRecipient.country = model.countryName |
|
|
|
selectedRecipient.countryID = model.countryId |
|
|
|
|
|
|
|
selectedRecipient.mobile = selectedRecipient.mobile?.replacingOccurrences( |
|
|
|
of: countryEnum?.phoneCode ?? "", |
|
|
|
with: "" |
|
|
|
) |
|
|
|
|
|
|
|
selectedRecipientLinker.onNext(selectedRecipient) |
|
|
|
} |
|
|
|
|
|
|
|
case .paymentMode: |
|
|
|
guard let model = model as? PaymentServiceType else { return } |
|
|
|
selectedPaymentModeTypesLinker.onNext(model) |
|
|
|