fix issue with between query type (fieldname can't contain dot)

dev
Razmig Sarkissian 7 years ago
parent b76c85b64b
commit b194278e4b
  1. 12
      app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt

@ -432,41 +432,41 @@ sealed class QueryCondition : FilterElementRow {
} }
IsToday -> { IsToday -> {
val startDate = Date() val startDate = Date()
return realmQuery.between(fieldName, startDate.startOfDay(), startDate.endOfDay()) return realmQuery.greaterThanOrEqualTo(fieldName, startDate.startOfDay()).and().lessThanOrEqualTo(fieldName, startDate.endOfDay())
} }
WasTodayAndYesterday-> { WasTodayAndYesterday-> {
val startDate = Date() val startDate = Date()
val calendar = Calendar.getInstance() val calendar = Calendar.getInstance()
calendar.time = startDate calendar.time = startDate
calendar.add(Calendar.HOUR_OF_DAY, -24) calendar.add(Calendar.HOUR_OF_DAY, -24)
return realmQuery.between(fieldName, calendar.time.startOfDay(), startDate.endOfDay()) return realmQuery.greaterThanOrEqualTo(fieldName, calendar.time.startOfDay()).and().lessThanOrEqualTo(fieldName, startDate.endOfDay())
} }
WasYesterday -> { WasYesterday -> {
val calendar = Calendar.getInstance() val calendar = Calendar.getInstance()
calendar.time = Date() calendar.time = Date()
calendar.add(Calendar.HOUR_OF_DAY, -24) calendar.add(Calendar.HOUR_OF_DAY, -24)
return realmQuery.between(fieldName, calendar.time.startOfDay(), calendar.time.endOfDay()) return realmQuery.greaterThanOrEqualTo(fieldName, calendar.time.startOfDay()).and().lessThanOrEqualTo(fieldName, calendar.time.endOfDay())
} }
DuringThisWeek -> { DuringThisWeek -> {
val startDate = Date() val startDate = Date()
val calendar = Calendar.getInstance() val calendar = Calendar.getInstance()
calendar.time = startDate calendar.time = startDate
calendar.set(Calendar.DAY_OF_WEEK_IN_MONTH, Calendar.SUNDAY) calendar.set(Calendar.DAY_OF_WEEK_IN_MONTH, Calendar.SUNDAY)
return realmQuery.between(fieldName, calendar.time.startOfDay(), startDate.endOfDay()) return realmQuery.greaterThanOrEqualTo(fieldName, calendar.time.startOfDay()).and().lessThanOrEqualTo(fieldName, startDate.endOfDay())
} }
DuringThisMonth -> { DuringThisMonth -> {
val startDate = Date() val startDate = Date()
val calendar = Calendar.getInstance() val calendar = Calendar.getInstance()
calendar.time = startDate calendar.time = startDate
calendar.set(Calendar.DAY_OF_MONTH, 1) calendar.set(Calendar.DAY_OF_MONTH, 1)
return realmQuery.between(fieldName, calendar.time.startOfDay(), startDate.endOfDay()) return realmQuery.greaterThanOrEqualTo(fieldName, calendar.time.startOfDay()).and().lessThanOrEqualTo(fieldName, startDate.endOfDay())
} }
DuringThisYear -> { DuringThisYear -> {
val startDate = Date() val startDate = Date()
val calendar = Calendar.getInstance() val calendar = Calendar.getInstance()
calendar.time = startDate calendar.time = startDate
calendar.set(Calendar.DAY_OF_YEAR, 1) calendar.set(Calendar.DAY_OF_YEAR, 1)
return realmQuery.between(fieldName, calendar.time.startOfDay(), startDate.endOfDay()) return realmQuery.greaterThanOrEqualTo(fieldName, calendar.time.startOfDay()).and().lessThanOrEqualTo(fieldName, startDate.endOfDay())
} }
} }

Loading…
Cancel
Save