fix merge conflicts

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

@ -90,22 +90,26 @@ sealed class Criteria(override var uniqueIdentifier: Int) : IntIdentifiable, Row
if (this is ValueCustomFields) {
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()
val objects = mutableListOf<QueryCondition.CustomFieldNumberQuery>()
distincts.distinct().mapNotNull {
distincts.mapNotNull {
it.numericValue
}.forEach {value ->
val condition: QueryCondition.CustomFieldNumberQuery = QueryCondition.CustomFieldNumberQuery().apply {
this.customFieldId = this@ListCriteria.customField.id
}.distinct().forEach {value ->
val condition: QueryCondition.CustomFieldNumberQuery = when (this.customFieldType) {
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)
}
objects.add(condition)
}
objects.sorted()
return objects.map { Query(it) }
}
}
QueryCondition.distinct<Session, T, S>()?.let {
@ -162,12 +166,14 @@ sealed class Criteria(override var uniqueIdentifier: Int) : IntIdentifiable, Row
object TournamentFees : ListCriteria(18)
object Cash : SimpleCriteria(listOf(QueryCondition.IsCash), 19)
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 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 customFieldType: Int = customField.type
}
val queries: List<Query>
@ -243,7 +249,13 @@ sealed class Criteria(override var uniqueIdentifier: Int) : IntIdentifiable, Row
}
is Blinds -> comparison<QueryCondition.AnyBlind, String>()
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
}
}
@ -323,6 +335,6 @@ sealed class Criteria(override var uniqueIdentifier: Int) : IntIdentifiable, Row
}
interface CustomFieldCriteria {
var customField: CustomField
var customFieldId: String
var customFieldType: Int
}
Loading…
Cancel
Save