Newer
Older
OverlayMultiCounter / app / src / main / kotlin / jackall / overlaymulticounter / db / CounterRealmHelper.kt
MatsumotoKeiju on 9 Nov 2017 891 bytes [add] Counter realm helper
package jackall.overlaymulticounter.db

import io.realm.RealmResults
import jackall.overlaymulticounter.vo.Counter

/**
 * Created by matsumoto_k on 2017/11/08.
 */
class CounterRealmHelper : BaseRealmHelper<Counter>() {
    val query by lazy { realm.where(Counter::class.java) }
    override fun insert(realmObject: Counter) {
        realm.executeTransaction {
            realm.copyToRealm(realmObject)
        }
    }

    override fun update(realmObject: Counter) {
        realm.executeTransaction {
            realm.copyToRealmOrUpdate(realmObject)
        }
    }

    fun plus(id: Int) {
        query.equalTo("id", id).findFirst().apply {
            count++
        }
    }

    fun minus(id: Int) {
        query.equalTo("id", id).findFirst().apply {
            count--
        }
    }

    override fun findAll(): RealmResults<Counter> {
        return query.findAll()
    }
}