diff --git a/app/src/main/java/agzam/vyatsu/data/local/ScheduleDao.kt b/app/src/main/java/agzam/vyatsu/data/local/ScheduleDao.kt index eb055a0..afeb5ad 100644 --- a/app/src/main/java/agzam/vyatsu/data/local/ScheduleDao.kt +++ b/app/src/main/java/agzam/vyatsu/data/local/ScheduleDao.kt @@ -42,7 +42,7 @@ interface ScheduleDao { suspend fun trim(groupId: String, keep: Int) @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun insertDays(days: List) + suspend fun insertDays(days: List): List @Insert(onConflict = OnConflictStrategy.REPLACE) suspend fun insertLessons(lessons: List) diff --git a/app/src/main/java/agzam/vyatsu/data/repository/ScheduleRepositoryImpl.kt b/app/src/main/java/agzam/vyatsu/data/repository/ScheduleRepositoryImpl.kt index 9c5df46..be28ecf 100644 --- a/app/src/main/java/agzam/vyatsu/data/repository/ScheduleRepositoryImpl.kt +++ b/app/src/main/java/agzam/vyatsu/data/repository/ScheduleRepositoryImpl.kt @@ -112,11 +112,8 @@ class ScheduleRepositoryImpl( private suspend fun replaceDays(scheduleId: Long, days: List) { scheduleDao.deleteDaysForSchedule(scheduleId) val dayEntities = days.map { DayEntity(scheduleId = scheduleId, date = it.date.toEpochDay()) } - val dayIdByDate = mutableMapOf() - scheduleDao.insertDays(dayEntities) - for (day in dayEntities) { - dayIdByDate[LocalDate.ofEpochDay(day.date)] = day.id - } + val dayIds = scheduleDao.insertDays(dayEntities) + val dayIdByDate = dayEntities.zip(dayIds).associate { (day, id) -> LocalDate.ofEpochDay(day.date) to id } val lessons = days.flatMap { day -> day.intervals.flatMapIndexed { slotIndex, slot -> slot.lessons.mapIndexed { lessonIndex, lesson ->