From 94a1e91908b65e5c70238a7fea6605ed3f5b0d64 Mon Sep 17 00:00:00 2001 From: Artem Gruzdev Date: Fri, 8 Dec 2023 19:46:47 +0600 Subject: [PATCH 1/3] [~] fix rule --- .../domain/useCase/CreateBookingUseCase.kt | 16 ++++++++++-- .../store/BookPeriodStoreFactory.kt | 25 ++++--------------- .../elevator/utils/StringFromBookPeiod.kt | 2 +- .../resources/MR/base/strings_ru.xml | 6 ++--- .../commonMain/resources/MR/en/strings_en.xml | 2 +- 5 files changed, 24 insertions(+), 27 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/domain/useCase/CreateBookingUseCase.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/domain/useCase/CreateBookingUseCase.kt index fc258831..1cf59032 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/domain/useCase/CreateBookingUseCase.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/domain/useCase/CreateBookingUseCase.kt @@ -1,9 +1,21 @@ package band.effective.office.elevator.domain.useCase +import band.effective.office.elevator.domain.models.BookingInfo import band.effective.office.elevator.domain.models.CreatingBookModel +import band.effective.office.elevator.domain.models.TypeEndPeriodBooking import band.effective.office.elevator.domain.repository.BookingRepository +import band.effective.office.network.model.Either +import band.effective.office.network.model.ErrorResponse +import kotlinx.coroutines.flow.Flow class CreateBookingUseCase(private val repository: BookingRepository) { - suspend fun execute(creatingBookModel: CreatingBookModel) = - repository.createBook(creatingBookModel = creatingBookModel) + suspend fun execute(creatingBookModel: CreatingBookModel): Flow> { + // TODO (Artem Gruzdev) Then backend fix unlimited book, delete this + val changedTypeEnd = when (val typeEnd = creatingBookModel.typeOfEndPeriod) { + TypeEndPeriodBooking.Never -> TypeEndPeriodBooking.CountRepeat(100) + else -> typeEnd + } + val changedBookModel = creatingBookModel.copy(typeOfEndPeriod = changedTypeEnd) + return repository.createBook(creatingBookModel = changedBookModel) + } } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/bottomSheets/bookingSheet/bookPeriod/store/BookPeriodStoreFactory.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/bottomSheets/bookingSheet/bookPeriod/store/BookPeriodStoreFactory.kt index 789376dd..a00d4368 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/bottomSheets/bookingSheet/bookPeriod/store/BookPeriodStoreFactory.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/ui/bottomSheets/bookingSheet/bookPeriod/store/BookPeriodStoreFactory.kt @@ -111,32 +111,15 @@ class BookPeriodStoreFactory( typeEndPeriodBooking: TypeEndPeriodBooking, startDate: LocalDate, ) { - Napier.d { "get type of end $typeEndPeriodBooking" } - val typeOfEnd = when (typeEndPeriodBooking) { - is TypeEndPeriodBooking.DatePeriodEnd -> { - // TODO: hen backend fix until date, it`s can be removed - val dateRange = typeEndPeriodBooking.date - startDate - val timeUnit = when (bookingPeriod) { - is BookingPeriod.Week -> 7 - is BookingPeriod.EveryWorkDay -> 7 - is BookingPeriod.Year -> 365 - is BookingPeriod.Month -> 30 - BookingPeriod.Another -> 1 - BookingPeriod.Day -> 1 - BookingPeriod.NoPeriod -> 1 - } - TypeEndPeriodBooking.CountRepeat(dateRange.days / timeUnit + 1) - } - else -> typeEndPeriodBooking - } + Napier.d { "get type of end: $typeEndPeriodBooking" } dispatch(Message.UpdatePeriod(bookingPeriod)) - dispatch(Message.UpdateEndType(typeOfEnd)) + dispatch(Message.UpdateEndType(typeEndPeriodBooking)) setFrequencyTitle(BookingPeriod.Another) } private fun setTemplateFrequency(bookingPeriod: BookingPeriod) { dispatch(Message.UpdatePeriod(newValue = bookingPeriod)) - dispatch(Message.UpdateEndType(TypeEndPeriodBooking.CountRepeat(10))) // TODO(Artem Gruzdev) backend should fix this + dispatch(Message.UpdateEndType(TypeEndPeriodBooking.Never)) setFrequencyTitle(bookingPeriod) } @@ -190,6 +173,7 @@ class BookPeriodStoreFactory( ) // user select date range if (startDate != endDate) { + setFrequencyTitle(BookingPeriod.Day) dispatch(Message.UpdatePeriod(BookingPeriod.Day)) dispatch( Message.UpdateEndType( @@ -200,6 +184,7 @@ class BookPeriodStoreFactory( ) } else if (prevBookingPeriod is BookingPeriod.Day) { + setFrequencyTitle(BookingPeriod.NoPeriod) dispatch(Message.UpdatePeriod(BookingPeriod.NoPeriod)) dispatch(Message.UpdateEndType(TypeEndPeriodBooking.CountRepeat(1))) } diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/utils/StringFromBookPeiod.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/utils/StringFromBookPeiod.kt index 54f621ef..c4ea1a45 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/utils/StringFromBookPeiod.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/utils/StringFromBookPeiod.kt @@ -57,7 +57,7 @@ fun stringFromBookPeriod( } val periodicity = when (bookingPeriod) { - is BookingPeriod.Week -> stringResource(MainRes.strings.once_per_from, "${bookingPeriod.durationPeriod} $period ${bookingPeriod.selectedDayOfWeek.listToString()}") + is BookingPeriod.Week -> stringResource(MainRes.strings.once_per_from, "${bookingPeriod.durationPeriod} $period ${bookingPeriod.selectedDayOfWeek.listToString()} ") is BookingPeriod.Month -> stringResource(MainRes.strings.once_per, "${bookingPeriod.monthPeriod} $period") is BookingPeriod.Year -> stringResource(MainRes.strings.once_per, "${bookingPeriod.yearPeriod} $period") else -> "" diff --git a/composeApp/src/commonMain/resources/MR/base/strings_ru.xml b/composeApp/src/commonMain/resources/MR/base/strings_ru.xml index 2ffcbe50..123137fc 100644 --- a/composeApp/src/commonMain/resources/MR/base/strings_ru.xml +++ b/composeApp/src/commonMain/resources/MR/base/strings_ru.xml @@ -167,13 +167,13 @@ Сохранить - %s числа\u0020 + \u0020%s числа\u0020 неделю(и)\u0020 месяц(ев)\u0020 лет\u0020 раз в %s - раз в %s с\u0020 - по %s\u0020 + раз в %sс\u0020 + \u0020по %s\u0020 \u0020повторяется %s раз(а) diff --git a/composeApp/src/commonMain/resources/MR/en/strings_en.xml b/composeApp/src/commonMain/resources/MR/en/strings_en.xml index 65dca0d4..97875692 100644 --- a/composeApp/src/commonMain/resources/MR/en/strings_en.xml +++ b/composeApp/src/commonMain/resources/MR/en/strings_en.xml @@ -145,7 +145,7 @@ Telegram - %th\u0020 + number_with_parametr%sth\u0020 week(s)\u0020 month(s)\u0020 years\u0020 -- GitLab From 012302491a32894a1486e59d7ff08855dab0660f Mon Sep 17 00:00:00 2001 From: Artem Gruzdev Date: Fri, 8 Dec 2023 19:49:02 +0600 Subject: [PATCH 2/3] [~] fix rule --- composeApp/src/commonMain/resources/MR/en/strings_en.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composeApp/src/commonMain/resources/MR/en/strings_en.xml b/composeApp/src/commonMain/resources/MR/en/strings_en.xml index 97875692..596007e6 100644 --- a/composeApp/src/commonMain/resources/MR/en/strings_en.xml +++ b/composeApp/src/commonMain/resources/MR/en/strings_en.xml @@ -145,7 +145,7 @@ Telegram - number_with_parametr%sth\u0020 + %sth\u0020 week(s)\u0020 month(s)\u0020 years\u0020 -- GitLab From 37d91e7b138f40a6fadfe83644f5599bc4ed6b7b Mon Sep 17 00:00:00 2001 From: Artem Gruzdev Date: Fri, 8 Dec 2023 19:50:28 +0600 Subject: [PATCH 3/3] [~] fix string --- .../band/effective/office/elevator/utils/StringFromBookPeiod.kt | 2 +- composeApp/src/commonMain/resources/MR/base/strings_ru.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/utils/StringFromBookPeiod.kt b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/utils/StringFromBookPeiod.kt index c4ea1a45..54f621ef 100644 --- a/composeApp/src/commonMain/kotlin/band/effective/office/elevator/utils/StringFromBookPeiod.kt +++ b/composeApp/src/commonMain/kotlin/band/effective/office/elevator/utils/StringFromBookPeiod.kt @@ -57,7 +57,7 @@ fun stringFromBookPeriod( } val periodicity = when (bookingPeriod) { - is BookingPeriod.Week -> stringResource(MainRes.strings.once_per_from, "${bookingPeriod.durationPeriod} $period ${bookingPeriod.selectedDayOfWeek.listToString()} ") + is BookingPeriod.Week -> stringResource(MainRes.strings.once_per_from, "${bookingPeriod.durationPeriod} $period ${bookingPeriod.selectedDayOfWeek.listToString()}") is BookingPeriod.Month -> stringResource(MainRes.strings.once_per, "${bookingPeriod.monthPeriod} $period") is BookingPeriod.Year -> stringResource(MainRes.strings.once_per, "${bookingPeriod.yearPeriod} $period") else -> "" diff --git a/composeApp/src/commonMain/resources/MR/base/strings_ru.xml b/composeApp/src/commonMain/resources/MR/base/strings_ru.xml index 123137fc..f733e535 100644 --- a/composeApp/src/commonMain/resources/MR/base/strings_ru.xml +++ b/composeApp/src/commonMain/resources/MR/base/strings_ru.xml @@ -172,7 +172,7 @@ месяц(ев)\u0020 лет\u0020 раз в %s - раз в %sс\u0020 + раз в %s с\u0020 \u0020по %s\u0020 \u0020повторяется %s раз(а) -- GitLab