package org.synyx.urlaubsverwaltung.web.overtime; import org.joda.time.DateMidnight; import org.springframework.util.Assert; import org.synyx.urlaubsverwaltung.core.overtime.Overtime; import org.synyx.urlaubsverwaltung.core.person.Person; import java.math.BigDecimal; /** * View class to record overtime for a certain period of time. * * @author Aljona Murygina - murygina@synyx.de */ public class OvertimeForm { private Integer id; private Person person; private DateMidnight startDate; private DateMidnight endDate; private BigDecimal numberOfHours; private String comment; OvertimeForm() { // OK } public OvertimeForm(Person person) { Assert.notNull(person, "Person must be given."); this.person = person; } public OvertimeForm(Overtime overtime) { Assert.notNull(overtime, "Overtime must be given."); this.id = overtime.getId(); this.person = overtime.getPerson(); this.startDate = overtime.getStartDate(); this.endDate = overtime.getEndDate(); this.numberOfHours = overtime.getHours(); } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; } public DateMidnight getStartDate() { return startDate; } public void setStartDate(DateMidnight startDate) { this.startDate = startDate; } public DateMidnight getEndDate() { return endDate; } public void setEndDate(DateMidnight endDate) { this.endDate = endDate; } public BigDecimal getNumberOfHours() { return numberOfHours; } public void setNumberOfHours(BigDecimal numberOfHours) { this.numberOfHours = numberOfHours; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } public Overtime generateOvertime() { return new Overtime(getPerson(), getStartDate(), getEndDate(), getNumberOfHours()); } public void updateOvertime(Overtime overtime) { overtime.setPerson(getPerson()); overtime.setHours(getNumberOfHours()); overtime.setStartDate(getStartDate()); overtime.setEndDate(getEndDate()); } }