Комната: захват выбранных данных в теле функции и возврат после дополнительной обработки - PullRequest
0 голосов
/ 11 января 2019

У меня есть DAO с выбором. Я хотел бы получить выбранные данные для дальнейшей обработки перед возвратом в репозиторий:

@Dao
interface OfferDao {
    ...
    @Query("select * from offer")
    fun getOffers(): LiveData<List<Offer>> {
        // get a hold of the data
        // process it some more
        // return offers to caller (repository)
    }

Вот сущность Offer:

@Entity(tableName = "offer")
data class Offer(
    @PrimaryKey(autoGenerate = false)
    var id: Int = 0,
    var flightIndex: Int = 0,
    var price: Double = 0.0,
    var ticketClassIndex: Int = 0,
    var ticketClass: String = "",
    var supplier: String? = null,
    @Ignore
    var flight: Flight? = null
)

Дополнительная обработка связана с извлечением и присоединением сущности Flight к Оферте. В теле функции getOffers я бы хотел получить рейс по flightIndex и прикрепить его к предложению перед отправкой обратно в хранилище.

1 Ответ

0 голосов
/ 15 февраля 2019

Я предлагаю попробовать что-то подобное

@Dao
interface OfferDao {
    @Query("select * from offer")
    fun getOffers(): LiveData<List<Offer>> 

    fun getOffersWithFlight(): LiveData<List<Offer>> = getOffers().apply{ forEach { it.flight = GETFLIGHT(it.flightIndex)}}

}

примечание: я знаю, что это не рабочий код, а просто пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...