|
|
|
|
@ -6,6 +6,8 @@ import net.pokeranalytics.android.calculus.ComputableGroup |
|
|
|
|
import net.pokeranalytics.android.calculus.ComputedResults |
|
|
|
|
import net.pokeranalytics.android.calculus.Stat |
|
|
|
|
import net.pokeranalytics.android.exceptions.PAIllegalStateException |
|
|
|
|
import net.pokeranalytics.android.model.filter.Query |
|
|
|
|
import net.pokeranalytics.android.model.filter.QueryCondition |
|
|
|
|
import net.pokeranalytics.android.model.realm.* |
|
|
|
|
import net.pokeranalytics.android.util.extensions.findById |
|
|
|
|
|
|
|
|
|
@ -46,21 +48,22 @@ class BankrollCalculator { |
|
|
|
|
report.transactionsNet = transactionNet |
|
|
|
|
report.initial = initialValue |
|
|
|
|
|
|
|
|
|
val query = setup.query(realm) |
|
|
|
|
val transactions = Filter.queryOn<Transaction>(realm, query) |
|
|
|
|
val baseQuery = setup.query(realm) |
|
|
|
|
val transactions = Filter.queryOn<Transaction>(realm, baseQuery) |
|
|
|
|
report.addDatedItems(transactions) |
|
|
|
|
|
|
|
|
|
transactions.forEach { |
|
|
|
|
report.addTransaction(it) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
val sessions = Filter.queryOn<Session>(realm, query) |
|
|
|
|
val sessionQuery = Query(QueryCondition.DateNotNull).merge(baseQuery) |
|
|
|
|
val sessions = Filter.queryOn<Session>(realm, sessionQuery) |
|
|
|
|
report.addDatedItems(sessions) |
|
|
|
|
|
|
|
|
|
if (setup.virtualBankroll) { |
|
|
|
|
|
|
|
|
|
val options = Calculator.Options(stats = listOf(Stat.NET_RESULT, Stat.HOURLY_RATE, Stat.STANDARD_DEVIATION_HOURLY)) |
|
|
|
|
val group = ComputableGroup(query) |
|
|
|
|
val group = ComputableGroup(baseQuery) |
|
|
|
|
val result = Calculator.compute(realm, group, options) |
|
|
|
|
result.computedStat(Stat.NET_RESULT)?.let { |
|
|
|
|
report.netResult = it.value |
|
|
|
|
@ -69,7 +72,7 @@ class BankrollCalculator { |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
val results = Filter.queryOn<Result>(realm, query) |
|
|
|
|
val results = Filter.queryOn<Result>(realm, baseQuery) |
|
|
|
|
report.netResult = results.sum("net").toDouble() |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|