diff --git a/app/src/main/java/org/dhis2/usescases/datasets/datasetInitial/periods/data/DatasetPeriodSource.kt b/app/src/main/java/org/dhis2/usescases/datasets/datasetInitial/periods/data/DatasetPeriodSource.kt index 4eef9014fb..29b26bfb6a 100644 --- a/app/src/main/java/org/dhis2/usescases/datasets/datasetInitial/periods/data/DatasetPeriodSource.kt +++ b/app/src/main/java/org/dhis2/usescases/datasets/datasetInitial/periods/data/DatasetPeriodSource.kt @@ -30,18 +30,10 @@ class DatasetPeriodSource( if (datasetPeriodRepository.hasDataInputPeriods(datasetUid)) { repeat(dataInputPeriods.size) { index -> add( - Period( - id = dataInputPeriods[index].period, - name = periodLabelProvider( - periodType = periodType, - periodId = dataInputPeriods[index].period, - periodStartDate = dataInputPeriods[index].initialPeriodDate, - periodEndDate = dataInputPeriods[index].endPeriodDate, - locale = Locale.getDefault(), - ), - startDate = dataInputPeriods[index].initialPeriodDate, - enabled = true, - selected = false, + createPeriod( + dataInputPeriods[index].period, + dataInputPeriods[index].initialPeriodDate, + dataInputPeriods[index].endPeriodDate, ), ) } @@ -55,18 +47,10 @@ class DatasetPeriodSource( ) if (period.startDate()?.after(minDate) == true) { add( - Period( - id = period.periodId()!!, - name = periodLabelProvider( - periodType = periodType, - periodId = period.periodId()!!, - periodStartDate = period.startDate()!!, - periodEndDate = period.endDate()!!, - locale = Locale.getDefault(), - ), - startDate = period.startDate()!!, - enabled = true, - selected = false, + createPeriod( + period.periodId()!!, + period.startDate()!!, + period.endDate()!!, ), ) } else { @@ -93,6 +77,22 @@ class DatasetPeriodSource( } } + private fun createPeriod(id: String, startDate: Date, endDate: Date): Period { + return Period( + id = id, + name = periodLabelProvider( + periodType = periodType, + periodId = id, + periodStartDate = startDate, + periodEndDate = endDate, + locale = Locale.getDefault(), + ), + startDate = startDate, + enabled = true, + selected = false, + ) + } + private fun LocalDate.toDate(): Date { return Date(this.atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli()) }