fix issue with currency

feature/top10
Razmig Sarkissian 7 years ago
parent 61d6d0a0bb
commit 91c7b49960
  1. 11
      app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt
  2. 14
      app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt
  3. 5
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt

@ -3,8 +3,6 @@ package net.pokeranalytics.android.model.realm
import io.realm.Realm
import io.realm.RealmList
import io.realm.RealmObject
import io.realm.RealmResults
import io.realm.annotations.LinkingObjects
import io.realm.annotations.PrimaryKey
import io.realm.kotlin.where
import net.pokeranalytics.android.R
@ -34,9 +32,6 @@ open class Bankroll() : RealmObject(), NameManageable, StaticRowRepresentableDat
}
}
@LinkingObjects("bankroll")
private val sessions: RealmResults<Session>? = null
@PrimaryKey
override var id = UUID.randomUUID().toString()
@ -51,12 +46,6 @@ open class Bankroll() : RealmObject(), NameManageable, StaticRowRepresentableDat
// The currency of the bankroll
var currency: Currency? = null
fun currencyCodeHasBeenUpdated() {
sessions?.forEach {
it.bankrollHasBeenUpdated()
}
}
override fun getDisplayName(): String {
return this.name
}

@ -1,11 +1,8 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
import io.realm.RealmResults
import io.realm.annotations.Ignore
import io.realm.annotations.LinkingObjects
import io.realm.annotations.PrimaryKey
import net.pokeranalytics.android.util.Preferences
import java.util.*
open class Currency : RealmObject() {
@ -16,19 +13,10 @@ open class Currency : RealmObject() {
@PrimaryKey
var id = UUID.randomUUID().toString()
@LinkingObjects("currency")
private val bankrolls: RealmResults<Bankroll>? = null
/**
* The currency code of the currency, i.e. USD, EUR...
*/
var code: String? = null
set(value) {
field = value
bankrolls?.forEach {
it.currencyCodeHasBeenUpdated()
}
}
/**
* The rate of the currency with the main currency
@ -49,6 +37,8 @@ open class Currency : RealmObject() {
computable.ratedBuyin = it * rate
}
computable.session?.bankrollHasBeenUpdated()
}
}

@ -12,6 +12,7 @@ import kotlinx.android.synthetic.main.fragment_settings.*
import net.pokeranalytics.android.BuildConfig
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Bankroll
import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.activity.CurrenciesActivity
import net.pokeranalytics.android.ui.activity.DataListActivity
import net.pokeranalytics.android.ui.activity.GDPRActivity
@ -74,8 +75,8 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta
Preferences.setCurrencyCode(data.getStringExtra(CurrenciesFragment.INTENT_CURRENCY_CODE), requireContext())
val realm = Realm.getDefaultInstance()
realm.executeTransaction {
it.where(Bankroll::class.java).isNull("currency.code").findAll().forEach { bankroll ->
bankroll.currencyCodeHasBeenUpdated()
it.where(Session::class.java).isNull("bankroll.currency.code").findAll().forEach {
it.bankrollHasBeenUpdated()
}
}
realm.close()

Loading…
Cancel
Save