From bc3cd552fedd8554a8a3582065550d16d49444bb Mon Sep 17 00:00:00 2001 From: FoXeNe Date: Mon, 2 Mar 2026 15:28:28 +0300 Subject: [PATCH] feat(reader): add reader to UnitOfMeasure --- app/src/main/kotlin/reader/ProductReader.kt | 3 ++- .../main/kotlin/reader/UnitOfMeasureReader.kt | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 app/src/main/kotlin/reader/UnitOfMeasureReader.kt diff --git a/app/src/main/kotlin/reader/ProductReader.kt b/app/src/main/kotlin/reader/ProductReader.kt index 3eaa37f..eb6f9f6 100644 --- a/app/src/main/kotlin/reader/ProductReader.kt +++ b/app/src/main/kotlin/reader/ProductReader.kt @@ -5,6 +5,7 @@ import manager.CollectionManager import model.Product import reader.CoordinatesReader import reader.OrganizationReader +import reader.UnitOfMeasureReader import java.time.ZonedDateTime import java.util.LinkedList import kotlin.text.toLong @@ -21,7 +22,7 @@ class ProductReader( coordinates = CoordinatesReader(io).read(), creationDate = ZonedDateTime.now(), price = io.readLong("введите цену"), - unitOfMeasure = null, + unitOfMeasure = UnitOfMeasureReader(io).read(), organization = OrganizationReader(io).read(), ) return newProduct diff --git a/app/src/main/kotlin/reader/UnitOfMeasureReader.kt b/app/src/main/kotlin/reader/UnitOfMeasureReader.kt new file mode 100644 index 0000000..bf26336 --- /dev/null +++ b/app/src/main/kotlin/reader/UnitOfMeasureReader.kt @@ -0,0 +1,18 @@ +package reader + +import io.IOHandler +import model.UnitOfMeasure + +class UnitOfMeasureReader( + private val io: IOHandler, +) { + fun read(): UnitOfMeasure? { + io.println("выберите нужную единицу измерения или ничего не пишите") + for (values in UnitOfMeasure.values()) { + io.println(values.toString()) + } + val input = io.readLine() + if (input.isNullOrBlank()) return null + return UnitOfMeasure.valueOf(input.uppercase()) + } +}