Fixed that some clients need a response
This commit is contained in:
parent
b7f9a2a5f7
commit
8a2750a21c
|
@ -348,18 +348,18 @@ open class BankingPresenter(
|
||||||
updateAllAccountsTransactionsAsync()
|
updateAllAccountsTransactionsAsync()
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun updateAllAccountsTransactionsAsync(done: (() -> Unit)? = null) {
|
open fun updateAllAccountsTransactionsAsync(callback: ((GetTransactionsResponse?) -> Unit)? = null) {
|
||||||
val accountsToUpdate = allAccounts.filter { considerAccountInAutomaticUpdates(it) }
|
val accountsToUpdate = allAccounts.filter { considerAccountInAutomaticUpdates(it) }
|
||||||
|
|
||||||
if (accountsToUpdate.isNotEmpty()) {
|
if (accountsToUpdate.isNotEmpty()) {
|
||||||
updateAccountsTransactionsAsync(accountsToUpdate, true) { done?.invoke() }
|
updateAccountsTransactionsAsync(accountsToUpdate, true, callback)
|
||||||
}
|
}
|
||||||
else if (allAccounts.isNotEmpty()) {
|
else if (allAccounts.isNotEmpty()) {
|
||||||
done?.invoke()
|
callback?.invoke(null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun updateSelectedAccountsTransactionsAsync(done: (() -> Unit)? = null) {
|
open fun updateSelectedAccountsTransactionsAsync(done: ((GetTransactionsResponse?) -> Unit)? = null) {
|
||||||
var accountsToUpdate = selectedAccounts.filter { considerAccountInAutomaticUpdates(it) }
|
var accountsToUpdate = selectedAccounts.filter { considerAccountInAutomaticUpdates(it) }
|
||||||
if (accountsToUpdate.isEmpty() && (selectedAccountType == SelectedAccountType.SingleAccount
|
if (accountsToUpdate.isEmpty() && (selectedAccountType == SelectedAccountType.SingleAccount
|
||||||
|| (selectedAccountType == SelectedAccountType.SingleBank && selectedAccounts.size == 1))) {
|
|| (selectedAccountType == SelectedAccountType.SingleBank && selectedAccounts.size == 1))) {
|
||||||
|
@ -367,10 +367,10 @@ open class BankingPresenter(
|
||||||
}
|
}
|
||||||
|
|
||||||
if (accountsToUpdate.isNotEmpty()) {
|
if (accountsToUpdate.isNotEmpty()) {
|
||||||
updateAccountsTransactionsAsync(accountsToUpdate, false) { done?.invoke() }
|
updateAccountsTransactionsAsync(accountsToUpdate, false, done)
|
||||||
}
|
}
|
||||||
else if (allAccounts.isNotEmpty()) {
|
else if (allAccounts.isNotEmpty()) {
|
||||||
done?.invoke()
|
done?.invoke(null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -206,12 +206,14 @@ struct AccountTransactionsDialog: View {
|
||||||
|
|
||||||
self.balanceOfAllTransactions = self.presenter.balanceOfSelectedAccounts
|
self.balanceOfAllTransactions = self.presenter.balanceOfSelectedAccounts
|
||||||
|
|
||||||
if response.successful {
|
if let response = response {
|
||||||
self.filterTransactions(self.searchText)
|
if response.successful {
|
||||||
}
|
self.filterTransactions(self.searchText)
|
||||||
else if response.userCancelledAction == false {
|
}
|
||||||
if let failedAccount = getAccountThatFailed(response) {
|
else if response.userCancelledAction == false {
|
||||||
self.errorMessage = Message(title: Text("Could not fetch latest transactions"), message: Text("Could not fetch latest transactions for \(failedAccount.displayName). Error message from your bank: \(response.errorToShowToUser ?? "")."))
|
if let failedAccount = getAccountThatFailed(response) {
|
||||||
|
self.errorMessage = Message(title: Text("Could not fetch latest transactions"), message: Text("Could not fetch latest transactions for \(failedAccount.displayName). Error message from your bank: \(response.errorToShowToUser ?? "")."))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue