package org.synyx.urlaubsverwaltung.dev; import org.joda.time.DateMidnight; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; import org.synyx.urlaubsverwaltung.core.overtime.Overtime; import org.synyx.urlaubsverwaltung.core.overtime.OvertimeService; import org.synyx.urlaubsverwaltung.core.person.Person; import org.synyx.urlaubsverwaltung.core.settings.Settings; import org.synyx.urlaubsverwaltung.core.settings.SettingsService; import java.math.BigDecimal; import java.util.Optional; /** * Provides overtime record test data. * * @author Aljona Murygina - murygina@synyx.de */ @Component @ConditionalOnProperty("testdata.create") class OvertimeRecordDataProvider { private final OvertimeService overtimeService; @Autowired OvertimeRecordDataProvider(OvertimeService overtimeService, SettingsService settingsService) { this.overtimeService = overtimeService; // Activate overtime management for development purpose Settings settings = settingsService.getSettings(); settings.getWorkingTimeSettings().setOvertimeActive(true); settingsService.save(settings); } Overtime createOvertimeRecord(Person person, DateMidnight startDate, DateMidnight endDate, BigDecimal hours) { Overtime overtime = new Overtime(person, startDate, endDate, hours); return overtimeService.record(overtime, Optional.of("Ich habe ganz viel gearbeitet"), person); } }