package de.ivu.elect.business.email.boundary;

import de.ivu.elect.business.email.entity.EmailVorgang;
import de.ivu.elect.business.email.entity.EmailVorgangStatusType;

import javax.ejb.Stateless;
import javax.inject.Inject;

@Stateless
public class EmailVorgangEdit extends AbstractEmailVorgangEdit {

  @Inject
  private transient EmailEdit emailEdit;

  public EmailVorgangEdit() {
    super();
  }

  public void sendeAlleEmailsErneut(EmailVorgang emailVorgang) {
    if (emailVorgang == null) {
      return;
    }
    emailEdit.sendeAlleErneut(emailVorgang);
    emailVorgang.setStatus(EmailVorgangStatusType.WIRD_VERSENDET);
    super.save(emailVorgang);
  }

  public void sendeFehlerhafteEmailsErneut(EmailVorgang emailVorgang) {
    if (emailVorgang == null) {
      return;
    }
    emailEdit.sendeFehlerhafteErneut(emailVorgang);
    emailVorgang.setStatus(EmailVorgangStatusType.WIRD_VERSENDET);
    super.save(emailVorgang);
  }

  public void sendenAbbrechen(EmailVorgang emailVorgang) {
    if (emailVorgang == null) {
      return;
    }
    emailEdit.sendenAbbrechen(emailVorgang);
    emailVorgang.setStatus(EmailVorgangStatusType.ABGEBROCHEN);
    super.save(emailVorgang);
  }
}
