@ -1,6 +1,7 @@
package net.pokeranalytics.android.model.filter
package net.pokeranalytics.android.model.filter
import android.content.Context
import android.content.Context
import com.google.android.libraries.places.internal.it
import com.ibm.icu.text.RuleBasedNumberFormat
import com.ibm.icu.text.RuleBasedNumberFormat
import io.realm.Realm
import io.realm.Realm
import io.realm.RealmQuery
import io.realm.RealmQuery
@ -592,7 +593,6 @@ sealed class QueryCondition : FilterElementRow {
}
}
open class CustomFieldNumberQuery ( ) : ListOfDouble ( ) , CustomFieldRelated {
open class CustomFieldNumberQuery ( ) : ListOfDouble ( ) , CustomFieldRelated {
override var customFieldId : String = " "
override var customFieldId : String = " "
override var operator : Operator = Operator . EQUALS
override var operator : Operator = Operator . EQUALS
@ -642,8 +642,8 @@ sealed class QueryCondition : FilterElementRow {
constructor ( customFieldEntry : CustomFieldEntry ) : this ( ) {
constructor ( customFieldEntry : CustomFieldEntry ) : this ( ) {
this . setObject ( customFieldEntry )
this . setObject ( customFieldEntry )
this . customFieldId =
this . customFieldId = customFieldEntry . customFields ?. firstOrNull ( ) ?. id
customFieldEntry . customField ?. id ?: throw PokerAnalyticsException . QueryValueMapUnexpectedValue
?: throw PokerAnalyticsException . QueryValueMapUnexpectedValue
}
}
override fun entityName ( realm : Realm ) : String {
override fun entityName ( realm : Realm ) : String {
@ -808,17 +808,19 @@ sealed class QueryCondition : FilterElementRow {
fieldName ,
fieldName ,
singleValue ?. startOfDay ( ) ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
singleValue ?. startOfDay ( ) ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
)
)
is Duration -> realmQuery . greaterThanOrEqualTo (
is Duration -> realmQuery . greaterThan (
fieldName ,
fieldName ,
netDuration ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
netDuration ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
)
)
is SingleInt -> realmQuery . greaterThanOrEqualTo (
is TournamentFinalPosition -> realmQuery . greaterThanOrEqualTo ( fieldName , listOfValues . first ( ) )
is TournamentNumberOfPlayer -> realmQuery . greaterThanOrEqualTo ( fieldName , listOfValues . first ( ) )
is SingleInt -> realmQuery . greaterThan (
fieldName ,
fieldName ,
singleValue ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
singleValue ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
)
)
is ListOfInt -> realmQuery . greaterThanOrEqualTo ( fieldName , listOfValues . first ( ) )
is ListOfInt -> realmQuery . greaterThan ( fieldName , listOfValues . first ( ) )
is NetAmountLost -> realmQuery . lessThanOrEqualTo ( fieldName , listOfValues . first ( ) * - 1 )
is NetAmountLost -> realmQuery . lessThan ( fieldName , listOfValues . first ( ) * - 1 )
is ListOfDouble -> realmQuery . greaterThanOrEqualTo ( fieldName , listOfValues . first ( ) * sign )
is ListOfDouble -> realmQuery . greaterThan ( fieldName , listOfValues . first ( ) * sign )
else -> realmQuery
else -> realmQuery
}
}
}
}
@ -828,24 +830,26 @@ sealed class QueryCondition : FilterElementRow {
fieldName ,
fieldName ,
singleValue ?. endOfDay ( ) ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
singleValue ?. endOfDay ( ) ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
)
)
is Duration -> realmQuery . lessThanOrEqualTo (
is Duration -> realmQuery . lessThan (
fieldName ,
fieldName ,
netDuration ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
netDuration ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
)
)
is SingleInt -> realmQuery . lessThanOrEqualTo (
is TournamentFinalPosition -> realmQuery . lessThanOrEqualTo ( fieldName , listOfValues . first ( ) )
is TournamentNumberOfPlayer -> realmQuery . lessThanOrEqualTo ( fieldName , listOfValues . first ( ) )
is SingleInt -> realmQuery . lessThan (
fieldName ,
fieldName ,
singleValue ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
singleValue ?: throw PokerAnalyticsException . FilterElementExpectedValueMissing
)
)
is ListOfInt -> realmQuery . lessThanOrEqualTo ( fieldName , listOfValues . first ( ) )
is ListOfInt -> realmQuery . lessThan ( fieldName , listOfValues . first ( ) )
is NetAmountLost -> {
is NetAmountLost -> {
realmQuery . greaterThanOrEqualTo ( fieldName , listOfValues . first ( ) * - 1 )
realmQuery . greaterThan ( fieldName , listOfValues . first ( ) * - 1 )
realmQuery . lessThan ( fieldName , 0.0 )
realmQuery . lessThan ( fieldName , 0.0 )
}
}
is NetAmountWon -> {
is NetAmountWon -> {
realmQuery . lessThanOrEqualTo ( fieldName , listOfValues . first ( ) )
realmQuery . lessThan ( fieldName , listOfValues . first ( ) )
realmQuery . greaterThan ( fieldName , 0.0 )
realmQuery . greaterThan ( fieldName , 0.0 )
}
}
is ListOfDouble -> realmQuery . lessThanOrEqualTo ( fieldName , listOfValues . first ( ) * sign )
is ListOfDouble -> realmQuery . lessThan ( fieldName , listOfValues . first ( ) * sign )
else -> realmQuery
else -> realmQuery
}
}
}
}
@ -924,9 +928,9 @@ sealed class QueryCondition : FilterElementRow {
is DuringThisMonth -> R . string . current _month
is DuringThisMonth -> R . string . current _month
is DuringThisYear -> R . string . current _year
is DuringThisYear -> R . string . current _year
is StartedFromDate -> R . string . from
is StartedFromDate -> R . string . from
is StartedFromTime -> R . string . from _hour _
is StartedFromTime -> R . string . from _time
is EndedToDate -> R . string . to
is EndedToDate -> R . string . to
is EndedToTime -> R . string . to _hour _
is EndedToTime -> R . string . to _time
is IsLive -> R . string . live
is IsLive -> R . string . live
is IsOnline -> R . string . online
is IsOnline -> R . string . online
is IsWeekDay -> R . string . week _days
is IsWeekDay -> R . string . week _days