У меня IDao - это интерфейс, в котором содержатся методы, для работы с одной из таблиц, а DaoTransaction - это абстрактный класс, в нем я сделал функцию в которой выполняется сразу 2 метода вставки в БД, чтобы, в случае неправильной вставки в одну из таблиц, не отработал ни один из методов вставки, скорее всего я сделал все неправильно, подскажите как лучше сделать?
Я сделал так:
abstract fun getDao():DaoTransaction
abstract fun getIDao():IDao
operator fun component1():DaoTransaction?=getDao()
operator fun component2():IDao?=getIDao()
val (dao,iDao) = MyDatabase.getInstance(app)!!.also {
it.getIDao()
it.getDao()
}
repository = MyRepository(dao,iDao)