package org.synyx.urlaubsverwaltung.web.account;
import java.math.BigDecimal;
import java.util.Optional;
import org.joda.time.DateMidnight;
import org.synyx.urlaubsverwaltung.core.account.domain.Account;
import org.synyx.urlaubsverwaltung.core.util.DateUtil;
/**
* @author Aljona Murygina - murygina@synyx.de
*/
class AccountForm {
private int holidaysAccountYear;
private DateMidnight holidaysAccountValidFrom;
private DateMidnight holidaysAccountValidTo;
private BigDecimal annualVacationDays;
private BigDecimal actualVacationDays;
private BigDecimal remainingVacationDays;
private BigDecimal remainingVacationDaysNotExpiring;
private String comment;
AccountForm() {
this(DateMidnight.now().getYear());
}
AccountForm(int year) {
this.holidaysAccountYear = year;
this.holidaysAccountValidFrom = DateUtil.getFirstDayOfYear(year);
this.holidaysAccountValidTo = DateUtil.getLastDayOfYear(year);
}
AccountForm(int year, Optional<Account> holidaysAccountOptional) {
if (holidaysAccountOptional.isPresent()) {
Account holidaysAccount = holidaysAccountOptional.get();
this.holidaysAccountYear = holidaysAccount.getValidFrom().getYear();
this.holidaysAccountValidFrom = holidaysAccount.getValidFrom();
this.holidaysAccountValidTo = holidaysAccount.getValidTo();
this.annualVacationDays = holidaysAccount.getAnnualVacationDays();
this.actualVacationDays = holidaysAccount.getVacationDays();
this.remainingVacationDays = holidaysAccount.getRemainingVacationDays();
this.remainingVacationDaysNotExpiring = holidaysAccount.getRemainingVacationDaysNotExpiring();
this.comment = holidaysAccount.getComment();
} else {
this.holidaysAccountYear = year;
this.holidaysAccountValidFrom = DateUtil.getFirstDayOfYear(year);
this.holidaysAccountValidTo = DateUtil.getLastDayOfYear(year);
}
}
public int getHolidaysAccountYear() {
return holidaysAccountYear;
}
public void setHolidaysAccountYear(int holidaysAccountYear) {
this.holidaysAccountYear = holidaysAccountYear;
}
public DateMidnight getHolidaysAccountValidFrom() {
return holidaysAccountValidFrom;
}
public void setHolidaysAccountValidFrom(DateMidnight holidaysAccountValidFrom) {
this.holidaysAccountValidFrom = holidaysAccountValidFrom;
}
public DateMidnight getHolidaysAccountValidTo() {
return holidaysAccountValidTo;
}
public void setHolidaysAccountValidTo(DateMidnight holidaysAccountValidTo) {
this.holidaysAccountValidTo = holidaysAccountValidTo;
}
public BigDecimal getAnnualVacationDays() {
return annualVacationDays;
}
public void setAnnualVacationDays(BigDecimal annualVacationDays) {
this.annualVacationDays = annualVacationDays;
}
public BigDecimal getActualVacationDays() {
return actualVacationDays;
}
public void setActualVacationDays(BigDecimal actualVacationDays) {
this.actualVacationDays = actualVacationDays;
}
public BigDecimal getRemainingVacationDays() {
return remainingVacationDays;
}
public void setRemainingVacationDays(BigDecimal remainingVacationDays) {
this.remainingVacationDays = remainingVacationDays;
}
public BigDecimal getRemainingVacationDaysNotExpiring() {
return remainingVacationDaysNotExpiring;
}
public void setRemainingVacationDaysNotExpiring(BigDecimal remainingVacationDaysNotExpiring) {
this.remainingVacationDaysNotExpiring = remainingVacationDaysNotExpiring;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
}