// Path: my-aktion/src/main/java/de/dpunkt/myaktion/model/Aktion.java
// @NamedQueries({
// 	@NamedQuery(name=Aktion.findByOrganisator,query="SELECT a FROM Aktion a WHERE a.organisator = :organisator ORDER BY a.name"),
// 	@NamedQuery(name=Aktion.findAll,query="SELECT a FROM Aktion a ORDER BY a.name"),
// 	@NamedQuery(name=Aktion.getBisherGespendet,query="SELECT SUM(s.betrag) FROM Spende s WHERE s.aktion = :aktion")
// })
// @Entity
// public class Aktion {
// 	public static final String findByOrganisator = "Aktion.findByOrganisator";
// 	public static final String findAll = "Aktion.findAll";
// 	public static final String getBisherGespendet = "Aktion.getBisherGespendet";
// 	
// 	@NotNull
// 	@Size(min=4, max=30, message="Der Name einer Aktion muss min. 4 und darf max. 30 Zeichen lang sein.")
// 	private String name;
// 	@NotNull(message="Bitte ein Spendenziel angeben.")
// 	@DecimalMin(value="10.00", message="Das Spendenziel für die Aktion muss min. 10 Euro sein.")
// 	private Double spendenZiel;
// 	@NotNull(message="Bitte einen Spendenbetrag angeben.")
// 	@DecimalMin(value="1.00", message="Der Spendenbetrag muss min. 1 Euro sein.")
// 	private Double spendenBetrag;
// 	@Transient
// 	private Double bisherGespendet;
// 
// 	@AttributeOverrides({ @AttributeOverride(name = "name", column = @Column(name = "kontoName")) })
// 	@Embedded
// 	private Konto konto;
// 
// 	@OneToMany(mappedBy = "aktion", cascade = CascadeType.REMOVE)
// 	private List<Spende> spenden;
// 	@ManyToOne
// 	private Organisator organisator;
// 
// 	@GeneratedValue
// 	@Id
// 	private Long id;
// 
// 	public Aktion() {
// 		konto = new Konto();
// 	}
// 
// 	public Long getId() {
// 		return id;
// 	}
// 
// 	public void setId(Long id) {
// 		this.id = id;
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public Double getSpendenZiel() {
// 		return spendenZiel;
// 	}
// 
// 	public void setSpendenZiel(Double spendenZiel) {
// 		this.spendenZiel = spendenZiel;
// 	}
// 
// 	public Double getSpendenBetrag() {
// 		return spendenBetrag;
// 	}
// 
// 	public void setSpendenBetrag(Double spendenBetrag) {
// 		this.spendenBetrag = spendenBetrag;
// 	}
// 
// 	public Double getBisherGespendet() {
// 		return bisherGespendet;
// 	}
// 
// 	public void setBisherGespendet(Double bisherGespendet) {
// 		this.bisherGespendet = bisherGespendet;
// 	}
// 
// 	public Konto getKonto() {
// 		return konto;
// 	}
// 
// 	public void setKonto(Konto konto) {
// 		this.konto = konto;
// 	}
// 
// 	public List<Spende> getSpenden() {
// 		return spenden;
// 	}
// 
// 	public void setSpenden(List<Spende> spenden) {
// 		this.spenden = spenden;
// 	}
// 
// 	public Organisator getOrganisator() {
// 		return organisator;
// 	}
// 
// 	public void setOrganisator(Organisator organisator) {
// 		this.organisator = organisator;
// 	}
// 
// 
// }
// 
// Path: my-aktion/src/main/java/de/dpunkt/myaktion/model/Spende.java
// public enum Status {
// 	UEBERWIESEN, IN_BEARBEITUNG;
// }
// 
// Path: my-aktion/src/main/java/de/dpunkt/myaktion/services/SpendeService.java
// public interface SpendeService {
// 	List<Spende> getSpendeListPublic(Long aktionId) throws ObjectNotFoundException;
// 	List<Spende> getSpendeList(Long aktionId);
// 	void addSpende(Long aktionId, Spende spende);
// 	void transferSpende();
// }


import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;
import de.dpunkt.myaktion.model.Aktion;
import de.dpunkt.myaktion.model.Spende.Status;
import de.dpunkt.myaktion.services.SpendeService;

package de.dpunkt.myaktion.controller;



@RequestScoped
@Named
public class SpendeListController {
	private Aktion aktion;
	
	@Inject
	private SpendeService spendeService;

	public Aktion getAktion() {
		return aktion;
	}

	public void setAktion(Aktion aktion) {
		aktion.setSpenden(spendeService.getSpendeList(aktion.getId()));
		this.aktion = aktion;
	}

	public String doOk() {
		return Pages.AKTION_LIST;
	}
	
	public String convertStatus(Status status) {
		if(status==null)
			return "";

// Path: my-aktion/src/main/java/de/dpunkt/myaktion/model/Aktion.java
// @NamedQueries({
// 	@NamedQuery(name=Aktion.findByOrganisator,query="SELECT a FROM Aktion a WHERE a.organisator = :organisator ORDER BY a.name"),
// 	@NamedQuery(name=Aktion.findAll,query="SELECT a FROM Aktion a ORDER BY a.name"),
// 	@NamedQuery(name=Aktion.getBisherGespendet,query="SELECT SUM(s.betrag) FROM Spende s WHERE s.aktion = :aktion")
// })
// @Entity
// public class Aktion {
// 	public static final String findByOrganisator = "Aktion.findByOrganisator";
// 	public static final String findAll = "Aktion.findAll";
// 	public static final String getBisherGespendet = "Aktion.getBisherGespendet";
// 	
// 	@NotNull
// 	@Size(min=4, max=30, message="Der Name einer Aktion muss min. 4 und darf max. 30 Zeichen lang sein.")
// 	private String name;
// 	@NotNull(message="Bitte ein Spendenziel angeben.")
// 	@DecimalMin(value="10.00", message="Das Spendenziel für die Aktion muss min. 10 Euro sein.")
// 	private Double spendenZiel;
// 	@NotNull(message="Bitte einen Spendenbetrag angeben.")
// 	@DecimalMin(value="1.00", message="Der Spendenbetrag muss min. 1 Euro sein.")
// 	private Double spendenBetrag;
// 	@Transient
// 	private Double bisherGespendet;
// 
// 	@AttributeOverrides({ @AttributeOverride(name = "name", column = @Column(name = "kontoName")) })
// 	@Embedded
// 	private Konto konto;
// 
// 	@OneToMany(mappedBy = "aktion", cascade = CascadeType.REMOVE)
// 	private List<Spende> spenden;
// 	@ManyToOne
// 	private Organisator organisator;
// 
// 	@GeneratedValue
// 	@Id
// 	private Long id;
// 
// 	public Aktion() {
// 		konto = new Konto();
// 	}
// 
// 	public Long getId() {
// 		return id;
// 	}
// 
// 	public void setId(Long id) {
// 		this.id = id;
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public Double getSpendenZiel() {
// 		return spendenZiel;
// 	}
// 
// 	public void setSpendenZiel(Double spendenZiel) {
// 		this.spendenZiel = spendenZiel;
// 	}
// 
// 	public Double getSpendenBetrag() {
// 		return spendenBetrag;
// 	}
// 
// 	public void setSpendenBetrag(Double spendenBetrag) {
// 		this.spendenBetrag = spendenBetrag;
// 	}
// 
// 	public Double getBisherGespendet() {
// 		return bisherGespendet;
// 	}
// 
// 	public void setBisherGespendet(Double bisherGespendet) {
// 		this.bisherGespendet = bisherGespendet;
// 	}
// 
// 	public Konto getKonto() {
// 		return konto;
// 	}
// 
// 	public void setKonto(Konto konto) {
// 		this.konto = konto;
// 	}
// 
// 	public List<Spende> getSpenden() {
// 		return spenden;
// 	}
// 
// 	public void setSpenden(List<Spende> spenden) {
// 		this.spenden = spenden;
// 	}
// 
// 	public Organisator getOrganisator() {
// 		return organisator;
// 	}
// 
// 	public void setOrganisator(Organisator organisator) {
// 		this.organisator = organisator;
// 	}
// 
// 
// }
// 
// Path: my-aktion/src/main/java/de/dpunkt/myaktion/model/Spende.java
// public enum Status {
// 	UEBERWIESEN, IN_BEARBEITUNG;
// }
// 
// Path: my-aktion/src/main/java/de/dpunkt/myaktion/services/SpendeService.java
// public interface SpendeService {
// 	List<Spende> getSpendeListPublic(Long aktionId) throws ObjectNotFoundException;
// 	List<Spende> getSpendeList(Long aktionId);
// 	void addSpende(Long aktionId, Spende spende);
// 	void transferSpende();
// }


// Path: my-aktion/src/main/java/de/dpunkt/myaktion/controller/SpendeListController.java
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;
import de.dpunkt.myaktion.model.Aktion;
import de.dpunkt.myaktion.model.Spende.Status;
import de.dpunkt.myaktion.services.SpendeService;

package de.dpunkt.myaktion.controller;



@RequestScoped
@Named
public class SpendeListController {
	private Aktion aktion;
	
	@Inject
	private SpendeService spendeService;

	public Aktion getAktion() {
		return aktion;
	}

	public void setAktion(Aktion aktion) {
		aktion.setSpenden(spendeService.getSpendeList(aktion.getId()));
		this.aktion = aktion;
	}

	public String doOk() {
		return Pages.AKTION_LIST;
	}
	
	public String convertStatus(Status status) {
		if(status==null)
			return "";

		switch(status) {
