clean up and fix bug on filter UI

feature/top10
Razmig Sarkissian 7 years ago
parent ee620baf9a
commit 0ce48fc39f
  1. 16
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/SessionFilterInstrumentedUnitTest.kt
  2. 2
      app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt
  3. 121
      app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt
  4. 2
      app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt
  5. 1
      app/src/main/java/net/pokeranalytics/android/model/realm/FilterCondition.kt
  6. 6
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  7. 21
      app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt
  8. 10
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterCategoryRow.kt
  9. 16
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterElementRow.kt
  10. 43
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterSectionRow.kt

@ -472,8 +472,8 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
val s2 = Session.testInstance(netResult = 570.0)
realm.commitTransaction()
val filter = QueryCondition.NetResult()
val filterElementRow = QueryCondition.NetResult(QueryCondition.Operator.MORE).apply { listOfValues = arrayListOf(204.0) }
val filter = QueryCondition.NetAmountWon()
val filterElementRow = QueryCondition.more<QueryCondition.NetAmountWon>().apply { listOfValues = arrayListOf(204.0) }
filterElementRow.filterSectionRow = FilterSectionRow.VALUE
filter.updateValueMap(FilterCondition(arrayListOf(filterElementRow)))
@ -497,8 +497,8 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(netResult = 570.0)
realm.commitTransaction()
val filter = QueryCondition.NetResult()
val filterElementRow = QueryCondition.NetResult(QueryCondition.Operator.LESS).apply { listOfValues = arrayListOf(540.0) }
val filter = QueryCondition.NetAmountWon()
val filterElementRow = QueryCondition.less<QueryCondition.NetAmountWon>().apply { listOfValues = arrayListOf(540.0) }
filterElementRow.filterSectionRow = FilterSectionRow.VALUE
filter.updateValueMap(FilterCondition(arrayListOf(filterElementRow)))
@ -522,13 +522,13 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
Session.testInstance(netResult = 570.0)
realm.commitTransaction()
val filterMore = QueryCondition.NetResult()
val filterElementRow = QueryCondition.NetResult(QueryCondition.Operator.MORE).apply { listOfValues = arrayListOf(200.0) }
val filterMore = QueryCondition.NetAmountWon()
val filterElementRow = QueryCondition.more<QueryCondition.NetAmountWon>().apply { listOfValues = arrayListOf(200.0) }
filterElementRow.filterSectionRow = FilterSectionRow.VALUE
filterMore.updateValueMap(FilterCondition(arrayListOf(filterElementRow)))
val filterLess = QueryCondition.NetResult()
val filterElementRow2 = QueryCondition.NetResult(QueryCondition.Operator.LESS).apply { listOfValues = arrayListOf(400.0) }
val filterLess = QueryCondition.NetAmountWon()
val filterElementRow2 = QueryCondition.less<QueryCondition.NetAmountWon>().apply { listOfValues = arrayListOf(400.0) }
filterElementRow2.filterSectionRow = FilterSectionRow.VALUE
filterLess.updateValueMap(FilterCondition(arrayListOf(filterElementRow2)))

@ -52,7 +52,7 @@ class PokerAnalyticsApplication : Application() {
if (BuildConfig.DEBUG) {
Timber.d("UserPreferences.defaultCurrency: ${UserDefaults.currency.symbol}")
// this.createFakeSessions()
this.createFakeSessions()
}
Patcher.patchBreaks()

@ -49,6 +49,10 @@ inline fun <reified T : Filterable> List<QueryCondition>.queryWith(query: RealmQ
sealed class QueryCondition : FilterElementRow {
companion object {
inline fun < reified T:QueryCondition> more():T { return T::class.java.newInstance().apply { this.operator = Operator.MORE } }
inline fun < reified T:QueryCondition> less():T { return T::class.java.newInstance().apply { this.operator = Operator.LESS } }
inline fun < reified T:QueryCondition> moreOrLess():ArrayList<T> { return arrayListOf(more(), less()) }
fun <T:QueryCondition> valueOf(name:String) : T {
val kClass = Class.forName("${QueryCondition::class.qualifiedName}$$name").kotlin
val instance = kClass.objectInstance ?: kClass.java.newInstance()
@ -57,7 +61,7 @@ sealed class QueryCondition : FilterElementRow {
inline fun <reified T:Identifiable>getInstance(): QueryCondition {
return when (T::class.java) {
AnyBankroll::class.java -> AnyBankroll()
Bankroll::class.java -> AnyBankroll()
Game::class.java -> AnyGame()
Location::class.java -> AnyLocation()
TournamentName::class.java -> AnyTournamentName()
@ -97,7 +101,12 @@ sealed class QueryCondition : FilterElementRow {
val baseId = this::class.simpleName ?: throw PokerAnalyticsException.FilterElementUnknownName
val id: List<String> get() {
when (this.operator) {
Operator.MORE, Operator.LESS -> return listOf("$baseId+${this.operator.name}")
}
return when (this) {
is SingleValue<*> -> listOf(baseId)
is ListOfValues<*> -> {
if (listOfValues.isEmpty()) { return listOf(baseId) }
this.listOfValues.map{ "$baseId+$it" }
@ -131,7 +140,9 @@ sealed class QueryCondition : FilterElementRow {
}
abstract class ListOfDouble: ListOfValues<Double>() {
override var listOfValues = ArrayList<Double>()
open var sign: Int = 1
override var listOfValues = arrayListOf(0.0)
override fun updateValueMap(filterCondition: FilterCondition) {
super.updateValueMap(filterCondition)
listOfValues = filterCondition.getValues()
@ -142,9 +153,10 @@ sealed class QueryCondition : FilterElementRow {
}
abstract class ListOfInt: ListOfValues<Int>() {
override var listOfValues = ArrayList<Int>()
override var listOfValues = arrayListOf(0)
override fun updateValueMap(filterCondition: FilterCondition) {
super.updateValueMap(filterCondition)
println("<<<< updateValueMap ${filterCondition.intValues}")
listOfValues = filterCondition.getValues()
}
override fun labelForValue(value: Int): String {
@ -176,20 +188,6 @@ sealed class QueryCondition : FilterElementRow {
}
}
abstract class SingleDouble: SingleValue<Double>() {
override fun labelForValue(value: Double): String {
return value.toCurrency(UserDefaults.currency)
}
override var singleValue: Double
get() { return listOfValues.firstOrNull() ?: 0.0 }
set(value) { listOfValues.add(value) }
override fun updateValueMap(filterCondition: FilterCondition) {
super.updateValueMap(filterCondition)
singleValue = filterCondition.getValue()
}
}
abstract class SingleInt: SingleValue<Int>() {
override fun labelForValue(value: Int): String {
return value.toString()
@ -242,9 +240,10 @@ sealed class QueryCondition : FilterElementRow {
abstract class DateQuery: SingleDate(), DateTime {
override val showTime: Boolean = false
}
abstract class TimeQuery: SingleDate(), DateTime {
abstract class TimeQuery: DateQuery() {
override val showTime: Boolean = true
}
@ -327,30 +326,15 @@ sealed class QueryCondition : FilterElementRow {
class AnyBlind: ListOfString()
class LastGame: SingleInt()
class LastSession: SingleDate()
class LastSession: SingleInt()
class NumberOfTable: ListOfInt()
class NetResult(): ListOfDouble() {
constructor(operator:Operator): this() {
this.operator = operator
}
}
class BuyIn: ListOfDouble()
class CashOut: ListOfDouble()
class Tips: ListOfDouble()
open class NetAmountWon: ListOfDouble()
class NetAmountLost: NetAmountWon() { override var sign: Int = -1 }
class NumberOfPlayer: ListOfInt()
class Rebuy(): ListOfDouble() {
constructor(operator:Operator): this() {
this.operator = operator
}
}
class StartedFromDate: DateQuery() { override var operator = Operator.MORE }
class StartedToDate: DateQuery() { override var operator = Operator.LESS }
class EndedFromDate: DateQuery() { override var operator = Operator.MORE }
@ -389,21 +373,32 @@ sealed class QueryCondition : FilterElementRow {
}
}
class PastDay: SingleInt()
class Duration(): SingleInt() {
constructor(operator:Operator): this() {
this.operator = operator
class PastDay: SingleInt() {
override val viewType: Int = RowViewType.TITLE_VALUE_CHECK.ordinal
}
class Duration: SingleInt() {
var minutes:Int
get() { return singleValue }
set(value) { singleValue = value }
override val viewType: Int = RowViewType.TITLE_VALUE_CHECK.ordinal
override val bottomSheetType: BottomSheetType = BottomSheetType.DOUBLE_EDIT_TEXT
}
class StartedFromTime: TimeQuery() { override var operator = Operator.MORE }
class EndedToTime: TimeQuery() { override var operator = Operator.LESS }
class StartedFromTime: TimeQuery() {
override var operator = Operator.MORE
init {
this.singleValue = Date().startOfDay()
}
}
class HasComment: QueryCondition()
class EndedToTime: TimeQuery() {
override var operator = Operator.LESS
init {
this.singleValue = Date().endOfDay()
}
}
/**
* main method of the enum
@ -472,9 +467,8 @@ sealed class QueryCondition : FilterElementRow {
when (this) {
is SingleDate -> realmQuery.equalTo(fieldName, singleValue)
is SingleInt -> realmQuery.equalTo(fieldName, singleValue)
is SingleDouble -> realmQuery.equalTo(fieldName, singleValue)
is ListOfInt -> realmQuery.equalTo(fieldName, listOfValues.first())
is ListOfDouble -> realmQuery.equalTo(fieldName, listOfValues.first())
is ListOfDouble -> realmQuery.equalTo(fieldName, listOfValues.first() * sign)
is ListOfString -> realmQuery.equalTo(fieldName, listOfValues.first())
else -> realmQuery
}
@ -483,9 +477,8 @@ sealed class QueryCondition : FilterElementRow {
when (this) {
is SingleDate -> realmQuery.greaterThanOrEqualTo(fieldName, singleValue)
is SingleInt -> realmQuery.greaterThanOrEqualTo(fieldName, singleValue)
is SingleDouble -> realmQuery.greaterThanOrEqualTo(fieldName, singleValue)
is ListOfInt -> realmQuery.greaterThanOrEqualTo(fieldName, listOfValues.first())
is ListOfDouble -> realmQuery.greaterThanOrEqualTo(fieldName, listOfValues.first())
is ListOfDouble -> realmQuery.greaterThanOrEqualTo(fieldName, listOfValues.first() * sign)
else -> realmQuery
}
}
@ -493,9 +486,8 @@ sealed class QueryCondition : FilterElementRow {
when (this) {
is SingleDate -> realmQuery.lessThanOrEqualTo(fieldName, singleValue)
is SingleInt -> realmQuery.lessThanOrEqualTo(fieldName, singleValue)
is SingleDouble -> realmQuery.lessThanOrEqualTo(fieldName, singleValue)
is ListOfInt -> realmQuery.lessThanOrEqualTo(fieldName, listOfValues.first())
is ListOfDouble -> realmQuery.lessThanOrEqualTo(fieldName, listOfValues.first())
is ListOfDouble -> realmQuery.lessThanOrEqualTo(fieldName, listOfValues.first() * sign)
else -> realmQuery
}
}
@ -506,7 +498,7 @@ sealed class QueryCondition : FilterElementRow {
realmQuery
}
is ListOfDouble -> {
listOfValues.forEach { realmQuery.equalTo(fieldName, it) }
listOfValues.forEach { realmQuery.equalTo(fieldName, it * sign) }
realmQuery
}
is ListOfString -> {
@ -537,10 +529,13 @@ sealed class QueryCondition : FilterElementRow {
override val viewType: Int
get() {
return when (this) {
is PastDay, is StartedFromDate, is EndedToDate, is StartedFromTime, is EndedToTime, is LastGame, is LastSession, is Duration -> RowViewType.TITLE_VALUE_CHECK.ordinal
is PastDay -> RowViewType.TITLE_VALUE_CHECK.ordinal
is LastGame -> RowViewType.TITLE_VALUE_CHECK.ordinal
is LastSession -> RowViewType.TITLE_VALUE_CHECK.ordinal
else -> {
when (this.operator) {
Operator.MORE, Operator.LESS -> RowViewType.TITLE_VALUE_CHECK.ordinal
Operator.MORE -> RowViewType.TITLE_VALUE_CHECK.ordinal
Operator.LESS -> RowViewType.TITLE_VALUE_CHECK.ordinal
else -> RowViewType.TITLE_CHECK.ordinal
}
}
@ -550,11 +545,13 @@ sealed class QueryCondition : FilterElementRow {
override val bottomSheetType: BottomSheetType
get() {
return when (this) {
is PastDay, is LastGame, is LastSession -> BottomSheetType.EDIT_TEXT
is Duration -> BottomSheetType.DOUBLE_EDIT_TEXT
is PastDay -> BottomSheetType.EDIT_TEXT
is LastGame -> BottomSheetType.EDIT_TEXT
is LastSession -> BottomSheetType.EDIT_TEXT
else -> {
when (this.operator) {
Operator.MORE, Operator.LESS -> BottomSheetType.EDIT_TEXT
Operator.MORE -> BottomSheetType.EDIT_TEXT
Operator.LESS -> BottomSheetType.EDIT_TEXT
else -> BottomSheetType.NONE
}
}
@ -581,6 +578,20 @@ sealed class QueryCondition : FilterElementRow {
is PastDay -> R.string.period_in_days
is LastGame -> R.string.last_records
is LastSession -> R.string.last_sessions
is NetAmountWon -> {
when (this.operator) {
Operator.MORE -> R.string.won_amount_more_than
Operator.LESS -> R.string.won_amount_less_than
else -> null
}
}
is NetAmountLost -> {
when (this.operator) {
Operator.MORE -> R.string.lost_amount_more_than
Operator.LESS -> R.string.lost_amount_less_than
else -> null
}
}
else -> {
when (this.operator) {
Operator.MORE -> R.string.more_than

@ -110,7 +110,7 @@ open class Filter : RealmObject() {
*/
fun loadValueForElement(filterElementRow: QueryCondition) {
val filtered = filterConditions.filter {
it.queryCondition == filterElementRow.id
it.queryCondition.id == filterElementRow.id
}
if (filtered.isNotEmpty()) {
return filterElementRow.updateValueMap(filtered.first())

@ -20,7 +20,6 @@ open class FilterCondition() : RealmObject() {
this.operator = row.operator.ordinal
when (row) {
is QueryCondition.SingleInt -> this.setValue(row.singleValue)
is QueryCondition.SingleDouble -> this.setValue(row.singleValue)
is QueryCondition.SingleDate -> this.setValue(row.singleValue)
is QueryCondition.ListOfDouble -> this.setValues(filterElementRows.flatMap { (it as QueryCondition.ListOfDouble).listOfValues })
is QueryCondition.ListOfInt -> this.setValues(filterElementRows.flatMap { (it as QueryCondition.ListOfInt).listOfValues })

@ -78,12 +78,8 @@ open class Session : RealmObject(), Savable, Editable, StaticRowRepresentableDat
AnyTableSize::class.java -> "tableSize"
AnyTournamentType::class.java -> "tournamentType"
AnyBlind::class.java -> "blinds"
HasComment::class.java -> "comment"
NumberOfTable::class.java -> "numberOfTable"
NetResult::class.java -> "computableResults.ratedNet"
BuyIn::class.java -> "result.buyin"
CashOut::class.java -> "result.cashout"
Tips::class.java -> "result.tips"
NetAmountWon::class.java -> "computableResults.ratedNet"
NumberOfPlayer::class.java -> "tournamentNumberOfPlayers"
TournamentFee::class.java -> "tournamentEntryFee"
StartedFromDate::class.java, StartedToDate::class.java -> "startDate"

@ -72,20 +72,25 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresent
when (row) {
is QueryCondition.DateQuery -> DateTimePickerManager.create(requireContext(), row, this, row.singleValue, onlyDate = !row.showTime, onlyTime = row.showTime)
is QueryCondition.Duration-> {
is QueryCondition.Duration -> {
val hours = if (row.minutes / 60 > 0) (row.minutes / 60).toString() else ""
val minutes = if (row.minutes % 60 > 0) (row.minutes % 60).toString() else ""
val data = row.editingDescriptors(mapOf("hours" to hours, "minutes" to minutes))
BottomSheetFragment.create(fragmentManager, row, this, data, true)
}
is QueryCondition.SingleInt -> {
val valueAsString = if (row.singleValue > 0) row.singleValue.toString() else ""
val data = row.editingDescriptors(mapOf("valueAsString" to valueAsString))
BottomSheetFragment.create(fragmentManager, row, this, data, true)
}
is QueryCondition.ListOfDouble -> {
val amount = if (row.listOfValues.first() > 0) row.listOfValues.first().toString() else ""
val data = row.editingDescriptors(mapOf("amount" to amount))
BottomSheetFragment.create(fragmentManager, row, this, data, true)
}
is QueryCondition.SingleInt -> {
val valueAsString = if (row.singleValue > 0) row.singleValue.toString() else ""
val data = row.editingDescriptors(mapOf("valueAsString" to valueAsString))
is QueryCondition.ListOfInt -> {
val amount = if (row.listOfValues.first() > 0) row.listOfValues.first().toString() else ""
val data = row.editingDescriptors(mapOf("amount" to amount))
BottomSheetFragment.create(fragmentManager, row, this, data, true)
}
else -> {
@ -98,8 +103,12 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresent
return when (row) {
is QueryCondition.DateQuery -> if (row.showTime) row.singleValue.shortTime() else row.singleValue.shortDate()
is QueryCondition.Duration -> row.minutes.toMinutes(requireContext())
is QueryCondition.ListOfDouble -> if (row.listOfValues.first() > 0) row.listOfValues.first().toString() else NULL_TEXT
is QueryCondition.SingleInt -> if (row.singleValue > 0) row.singleValue.toString() else NULL_TEXT
is QueryCondition.ListOfDouble -> if (row.listOfValues.first() > 0) row.listOfValues.first().toString() else NULL_TEXT
is QueryCondition.ListOfInt -> {
println("<<<<< ${row.listOfValues}")
if (row.listOfValues.first() > 0) row.listOfValues.first().toString() else NULL_TEXT
}
else -> super.stringForRow(row)
}
}
@ -133,6 +142,8 @@ open class FilterDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresent
}
}
is QueryCondition.SingleInt -> row.singleValue = if (value != null && value is String) value.toInt() else 0
is QueryCondition.ListOfDouble-> row.listOfValues = arrayListOf(if (value != null && value is String) value.toDouble() else 0.0)
is QueryCondition.ListOfInt-> row.listOfValues = arrayListOf(if (value != null && value is String) value.toInt() else 0)
}
// Remove the row before updating the selected rows list

@ -48,20 +48,21 @@ enum class FilterCategoryRow(override val resId: Int?, override val viewType: In
)
TIME_FRAME -> arrayListOf(
SESSION_DURATION,
RANGE
TIME_FRAME_RANGE
)
SESSIONS -> arrayListOf(FilterSectionRow.SESSIONS)
BANKROLLS -> arrayListOf(
BANKROLL
)
CASH -> arrayListOf(
BLIND,
CASH_RE_BUY_COUNT
BLIND
)
TOURNAMENT -> arrayListOf(
TOURNAMENT_TYPE,
TOURNAMENT_NAME,
TOURNAMENT_FEATURE
TOURNAMENT_FEATURE,
ENTRY_FEE,
NUMBER_OF_PLAYERS
)
ONLINE -> arrayListOf(
MULTI_TABLING
@ -70,7 +71,6 @@ enum class FilterCategoryRow(override val resId: Int?, override val viewType: In
LOCATION
)
PLAYERS -> arrayListOf(
NUMBER_OF_PLAYERS,
MULTI_PLAYER
)
RESULT -> arrayListOf(

@ -12,6 +12,14 @@ import java.util.*
interface FilterElementRow : RowRepresentable {
override fun editingDescriptors(map: Map<String, Any?>): ArrayList<RowRepresentableEditDescriptor>? {
return when (this) {
is QueryCondition.Duration -> {
val hours: String? by map
val minutes: String? by map
arrayListOf(
RowRepresentableEditDescriptor(hours, R.string.hour, inputType = InputType.TYPE_CLASS_NUMBER),
RowRepresentableEditDescriptor(minutes, R.string.minute, inputType = InputType.TYPE_CLASS_NUMBER)
)
}
is QueryCondition.SingleInt -> {
val valueAsString: String? by map
arrayListOf(
@ -25,12 +33,10 @@ interface FilterElementRow : RowRepresentable {
RowRepresentableEditDescriptor(amount, R.string.amount, inputType = InputType.TYPE_CLASS_NUMBER)
)
}
is QueryCondition.Duration -> {
val hours: String? by map
val minutes: String? by map
is QueryCondition.ListOfInt -> {
val amount: String? by map
arrayListOf(
RowRepresentableEditDescriptor(hours, R.string.hour, inputType = InputType.TYPE_CLASS_NUMBER),
RowRepresentableEditDescriptor(minutes, R.string.minute, inputType = InputType.TYPE_CLASS_NUMBER)
RowRepresentableEditDescriptor(amount, R.string.amount, inputType = InputType.TYPE_CLASS_NUMBER)
)
}
else -> super.editingDescriptors(map)

@ -3,6 +3,7 @@ package net.pokeranalytics.android.ui.view.rowrepresentable
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.Criteria
import net.pokeranalytics.android.model.filter.QueryCondition
import net.pokeranalytics.android.model.filter.QueryCondition.NumberOfTable.*
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType
@ -20,7 +21,7 @@ enum class FilterSectionRow(override val resId: Int?) : RowRepresentable {
DAY_OF_WEEK(R.string.day_of_the_week),
MONTH_OF_YEAR(R.string.month_of_the_year),
SESSION_DURATION(R.string.session_duration),
RANGE(R.string.hour_slot),
TIME_FRAME_RANGE(R.string.hour_slot),
SESSIONS(R.string.sessions),
BLIND(R.string.blinds),
CASH_RE_BUY_COUNT(R.string.rebuy_count),
@ -31,7 +32,7 @@ enum class FilterSectionRow(override val resId: Int?) : RowRepresentable {
PLACE(R.string.final_position),
PLAYERS_COUNT(R.string.players_count),
TOURNAMENT_RE_BUY_COUNT(R.string.rebuy_count),
BUY_IN(R.string.buyin),
ENTRY_FEE(R.string.buyin),
MULTI_TABLING(R.string.multi_tabling),
VALUE(R.string.value),
LOCATION(R.string.locations),
@ -80,44 +81,36 @@ enum class FilterSectionRow(override val resId: Int?) : RowRepresentable {
MONTH_OF_YEAR -> Criteria.MonthsOfYear.queryConditions
// Duration
SESSION_DURATION -> arrayListOf(QueryCondition.Duration(QueryCondition.Operator.MORE), QueryCondition.Duration(QueryCondition.Operator.LESS))
/*
RANGE -> {
val fromTime = FromTime
fromTime.dateValue = Date().startOfDay()
val toTime = ToTime
toTime.dateValue = Date().endOfDay()
arrayListOf(fromTime, toTime)
}*/
SESSION_DURATION -> QueryCondition.moreOrLess<QueryCondition.Duration>()
TIME_FRAME_RANGE -> arrayListOf(QueryCondition.StartedFromTime(), QueryCondition.EndedToTime())
// Sessions
SESSIONS -> arrayListOf(QueryCondition.LastGame(), QueryCondition.LastSession())
// Cash
BLIND -> Criteria.Blinds.queryConditions
CASH_RE_BUY_COUNT -> arrayListOf(
QueryCondition.Rebuy(QueryCondition.Operator.MORE),
QueryCondition.Rebuy(QueryCondition.Operator.LESS)
)
// CASH_RE_BUY_COUNT -> QueryCondition.moreOrLess<QueryCondition.Rebuy>()
// Tournament
TOURNAMENT_TYPE -> Criteria.TournamentTypes.queryConditions
COMPLETION_PERCENTAGE -> arrayListOf()
PLACE -> arrayListOf()
PLAYERS_COUNT -> arrayListOf()
TOURNAMENT_RE_BUY_COUNT -> arrayListOf()
BUY_IN -> arrayListOf()
// COMPLETION_PERCENTAGE -> arrayListOf()
// PLACE -> QueryCondition.moreOrLess<QueryCondition.NumberOfPlayer>()
PLAYERS_COUNT -> QueryCondition.moreOrLess<QueryCondition.NumberOfPlayer>()
// TOURNAMENT_RE_BUY_COUNT -> QueryCondition.moreOrLess<QueryCondition.BuyIn>()
ENTRY_FEE -> Criteria.TournamentFees.queryConditions
TOURNAMENT_NAME -> Criteria.TournamentNames.queryConditions
TOURNAMENT_FEATURE -> Criteria.TournamentFeatures.queryConditions
LOCATION -> Criteria.Locations.queryConditions
BANKROLL -> Criteria.Bankrolls.queryConditions
MULTI_TABLING -> arrayListOf()
NUMBER_OF_PLAYERS -> arrayListOf()
MULTI_PLAYER -> arrayListOf()
MULTI_TABLING -> QueryCondition.moreOrLess<QueryCondition.NumberOfTable>()
// NUMBER_OF_PLAYERS -> QueryCondition.moreOrLess<QueryCondition.NumberOfPlayer>()
// MULTI_PLAYER -> arrayListOf()
VALUE -> arrayListOf()
VALUE -> arrayListOf<QueryCondition>().apply {
addAll(QueryCondition.moreOrLess<QueryCondition.NetAmountWon>())
addAll(QueryCondition.moreOrLess<QueryCondition.NetAmountLost>())
}
else -> arrayListOf()
}.apply {
this.forEach {

Loading…
Cancel
Save