fix merge conflicts

dev
Razmig Sarkissian 7 years ago
parent 256b113f4a
commit c15b7ee6da
  1. 34
      app/src/main/java/net/pokeranalytics/android/model/Criteria.kt

@ -90,21 +90,25 @@ sealed class Criteria(override var uniqueIdentifier: Int) : IntIdentifiable, Row
if (this is ValueCustomFields) { if (this is ValueCustomFields) {
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
val distincts = realm.where<CustomFieldEntry>().equalTo("customField.id", this.customField.id).distinct("numericValue").findAll().sort("numericValue", Sort.ASCENDING) val distincts = realm.where<CustomFieldEntry>().equalTo("customField.id", this.customFieldId).findAll().sort("numericValue", Sort.ASCENDING)
realm.close() realm.close()
val objects = mutableListOf<QueryCondition.CustomFieldNumberQuery>() val objects = mutableListOf<QueryCondition.CustomFieldNumberQuery>()
distincts.distinct().mapNotNull { distincts.mapNotNull {
it.numericValue it.numericValue
}.forEach {value -> }.distinct().forEach {value ->
val condition: QueryCondition.CustomFieldNumberQuery = QueryCondition.CustomFieldNumberQuery().apply { val condition: QueryCondition.CustomFieldNumberQuery = when (this.customFieldType) {
this.customFieldId = this@ListCriteria.customField.id CustomField.Type.AMOUNT.uniqueIdentifier -> QueryCondition.CustomFieldNumberQuery()
CustomField.Type.NUMBER.uniqueIdentifier -> QueryCondition.CustomFieldAmountQuery()
else -> throw PokerAnalyticsException.QueryValueMapUnexpectedValue
}.apply {
this.customFieldId = this@ListCriteria.customFieldId
listOfValues = arrayListOf(value) listOfValues = arrayListOf(value)
} }
objects.add(condition) objects.add(condition)
objects.sorted()
return objects.map { Query(it) }
} }
objects.sorted()
return objects.map { Query(it) }
} }
@ -162,12 +166,14 @@ sealed class Criteria(override var uniqueIdentifier: Int) : IntIdentifiable, Row
object TournamentFees : ListCriteria(18) object TournamentFees : ListCriteria(18)
object Cash : SimpleCriteria(listOf(QueryCondition.IsCash), 19) object Cash : SimpleCriteria(listOf(QueryCondition.IsCash), 19)
object Tournament : SimpleCriteria(listOf(QueryCondition.IsTournament), 20) object Tournament : SimpleCriteria(listOf(QueryCondition.IsTournament), 20)
data class ListCustomFields(override var customField: CustomField) : RealmCriteria(21), CustomFieldCriteria { data class ListCustomFields(var customField: CustomField) : RealmCriteria(21), CustomFieldCriteria {
override var customFieldId: String = customField.id override var customFieldId: String = customField.id
override var customFieldType: Int = customField.type
} }
data class ValueCustomFields(override var customField: CustomField) : ListCriteria(22), CustomFieldCriteria { data class ValueCustomFields(var customField: CustomField) : ListCriteria(22), CustomFieldCriteria {
override var customFieldId: String = customField.id override var customFieldId: String = customField.id
override var customFieldType: Int = customField.type
} }
val queries: List<Query> val queries: List<Query>
@ -243,7 +249,13 @@ sealed class Criteria(override var uniqueIdentifier: Int) : IntIdentifiable, Row
} }
is Blinds -> comparison<QueryCondition.AnyBlind, String>() is Blinds -> comparison<QueryCondition.AnyBlind, String>()
is ListCustomFields -> comparison<CustomFieldEntry>() is ListCustomFields -> comparison<CustomFieldEntry>()
is ValueCustomFields -> comparison<QueryCondition.CustomFieldNumberQuery, Double >() is ValueCustomFields -> {
when (customFieldType) {
CustomField.Type.AMOUNT.uniqueIdentifier -> comparison<QueryCondition.CustomFieldAmountQuery, Double >()
CustomField.Type.NUMBER.uniqueIdentifier -> comparison<QueryCondition.CustomFieldNumberQuery, Double >()
else -> throw PokerAnalyticsException.QueryTypeUnhandled
}
}
else -> throw PokerAnalyticsException.QueryTypeUnhandled else -> throw PokerAnalyticsException.QueryTypeUnhandled
} }
} }
@ -323,6 +335,6 @@ sealed class Criteria(override var uniqueIdentifier: Int) : IntIdentifiable, Row
} }
interface CustomFieldCriteria { interface CustomFieldCriteria {
var customField: CustomField
var customFieldId: String var customFieldId: String
var customFieldType: Int
} }
Loading…
Cancel
Save