
package de.ivu.elect.business.entschaedigung.control;

import java.util.Date;

import javax.inject.Inject;

import de.ivu.elect.business.entschaedigung.entity.Auszahlung;
import de.ivu.elect.business.wahl.boundary.WahlDAO;
import de.ivu.elect.business.wahl.boundary.WahlterminDAO;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahl.entity.Wahltermin;

public class AuszahlungCreate extends AbstractAuszahlungCreate {

  @Inject
  private transient WahlDAO wahlDao;

  @Inject
  private transient WahlterminDAO wahlterminDao;

  public AuszahlungCreate() {
    super();
  }

  @Override
  public void save(Auszahlung auszahlung) {
    Wahl wahl = auszahlung.getWahl();
    Wahltermin wahltermin = auszahlung.getWahltermin();

    if (wahl != null) {
      auszahlung.setWahl(wahlDao.attach(wahl));
    }

    if (wahltermin != null) {
      auszahlung.setWahltermin(wahlterminDao.attach(wahltermin));
    }

    auszahlung.setErstelltAm(new Date());

    super.save(auszahlung);
  }
}
