// Path: my-aktion/src/main/java/de/dpunkt/myaktion/model/Donation.java
// @NamedQueries({
//         @NamedQuery(name = Donation.findByStatus, query = "SELECT d FROM Donation d WHERE d.status = :status")
// })
// @Entity
// public class Donation {
//     public static final String findByStatus = "Donation.findByStatus";
// 
//     @NotNull(message = "{donation.amount.notNull}")
//     @DecimalMin(value = "1.00", message = "{donation.amount.decimalMin}")
//     private Double amount;
// 
//     @NotNull
//     @Size(min = 5, max = 40, message = "{donation.donorName.size}")
//     private String donorName;
// 
//     @NotNull
//     private Boolean receiptRequested;
// 
//     @NotNull
//     private Status status;
// 
//     @NotNull
//     @Embedded
//     private Account account;
// 
//     @NotNull
//     @ManyToOne
//     private Campaign campaign;
// 
//     @GeneratedValue
//     @Id
//     private Long id;
// 
//     public enum Status {
//         TRANSFERRED, IN_PROCESS;
//     }
// 
//     public Donation() {
//         this.account = new Account();
//     }
// 
//     public Double getAmount() {
//         return amount;
//     }
// 
//     public void setAmount(Double amount) {
//         this.amount = amount;
//     }
// 
//     public String getDonorName() {
//         return donorName;
//     }
// 
//     public void setDonorName(String donorName) {
//         this.donorName = donorName;
//     }
// 
//     public Boolean getReceiptRequested() {
//         return receiptRequested;
//     }
// 
//     public void setReceiptRequested(Boolean receiptRequested) {
//         this.receiptRequested = receiptRequested;
//     }
// 
//     public Status getStatus() {
//         return status;
//     }
// 
//     public void setStatus(Status status) {
//         this.status = status;
//     }
// 
//     public Account getAccount() {
//         return account;
//     }
// 
//     public void setAccount(Account account) {
//         this.account = account;
//     }
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public Campaign getCampaign() {
//         return campaign;
//     }
// 
//     public void setCampaign(Campaign campaign) {
//         this.campaign = campaign;
//     }
// }
// 
// Path: my-aktion/src/main/java/de/dpunkt/myaktion/model/Donation.java
// public enum Status {
//     TRANSFERRED, IN_PROCESS;
// }
// 
// Path: my-aktion/src/main/java/de/dpunkt/myaktion/services/DonationService.java
// public interface DonationService {
//     List<Donation> getDonationList(Long campaignId);
// 
//     void addDonation(Long campaignId, Donation donation);
// 
//     void transferDonations();
// 
//     List<Donation> getDonationListPublic(Long campaignId) throws ObjectNotFoundException;
// }


import de.dpunkt.myaktion.model.Donation;
import de.dpunkt.myaktion.model.Donation.Status;
import de.dpunkt.myaktion.services.DonationService;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.Serializable;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
    }

    public void setDonation(Donation donation) {
        this.donation = donation;
    }

    public String getTextColor() {
        return textColor;
    }

    public void setTextColor(String textColor) {
        this.textColor = textColor;
    }

    public String getBgColor() {
        return bgColor;
    }

    public void setBgColor(String bgColor) {
        this.bgColor = bgColor;
    }

    public String doDonation() {
        getDonation().setStatus(Status.IN_PROCESS);
        donationService.addDonation(getCampaignId(), getDonation());
        logger.log(Level.INFO, "log.donateMoney.thank_you", new Object[]{getDonation().getDonorName(), getDonation().getAmount()});
        final ResourceBundle resourceBundle = facesContext.getApplication().getResourceBundle(facesContext, "msg");
        final String msg = resourceBundle.getString("donateMoney.thank_you");
        facesContext.addMessage(
                null,
// Path: my-aktion/src/main/java/de/dpunkt/myaktion/model/Donation.java
// @NamedQueries({
//         @NamedQuery(name = Donation.findByStatus, query = "SELECT d FROM Donation d WHERE d.status = :status")
// })
// @Entity
// public class Donation {
//     public static final String findByStatus = "Donation.findByStatus";
// 
//     @NotNull(message = "{donation.amount.notNull}")
//     @DecimalMin(value = "1.00", message = "{donation.amount.decimalMin}")
//     private Double amount;
// 
//     @NotNull
//     @Size(min = 5, max = 40, message = "{donation.donorName.size}")
//     private String donorName;
// 
//     @NotNull
//     private Boolean receiptRequested;
// 
//     @NotNull
//     private Status status;
// 
//     @NotNull
//     @Embedded
//     private Account account;
// 
//     @NotNull
//     @ManyToOne
//     private Campaign campaign;
// 
//     @GeneratedValue
//     @Id
//     private Long id;
// 
//     public enum Status {
//         TRANSFERRED, IN_PROCESS;
//     }
// 
//     public Donation() {
//         this.account = new Account();
//     }
// 
//     public Double getAmount() {
//         return amount;
//     }
// 
//     public void setAmount(Double amount) {
//         this.amount = amount;
//     }
// 
//     public String getDonorName() {
//         return donorName;
//     }
// 
//     public void setDonorName(String donorName) {
//         this.donorName = donorName;
//     }
// 
//     public Boolean getReceiptRequested() {
//         return receiptRequested;
//     }
// 
//     public void setReceiptRequested(Boolean receiptRequested) {
//         this.receiptRequested = receiptRequested;
//     }
// 
//     public Status getStatus() {
//         return status;
//     }
// 
//     public void setStatus(Status status) {
//         this.status = status;
//     }
// 
//     public Account getAccount() {
//         return account;
//     }
// 
//     public void setAccount(Account account) {
//         this.account = account;
//     }
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public Campaign getCampaign() {
//         return campaign;
//     }
// 
//     public void setCampaign(Campaign campaign) {
//         this.campaign = campaign;
//     }
// }
// 
// Path: my-aktion/src/main/java/de/dpunkt/myaktion/model/Donation.java
// public enum Status {
//     TRANSFERRED, IN_PROCESS;
// }
// 
// Path: my-aktion/src/main/java/de/dpunkt/myaktion/services/DonationService.java
// public interface DonationService {
//     List<Donation> getDonationList(Long campaignId);
// 
//     void addDonation(Long campaignId, Donation donation);
// 
//     void transferDonations();
// 
//     List<Donation> getDonationListPublic(Long campaignId) throws ObjectNotFoundException;
// }


// Path: my-aktion/src/main/java/de/dpunkt/myaktion/controller/DonateMoneyController.java
import de.dpunkt.myaktion.model.Donation;
import de.dpunkt.myaktion.model.Donation.Status;
import de.dpunkt.myaktion.services.DonationService;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.Serializable;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;

    }

    public void setDonation(Donation donation) {
        this.donation = donation;
    }

    public String getTextColor() {
        return textColor;
    }

    public void setTextColor(String textColor) {
        this.textColor = textColor;
    }

    public String getBgColor() {
        return bgColor;
    }

    public void setBgColor(String bgColor) {
        this.bgColor = bgColor;
    }

    public String doDonation() {
        getDonation().setStatus(Status.IN_PROCESS);
        donationService.addDonation(getCampaignId(), getDonation());
        logger.log(Level.INFO, "log.donateMoney.thank_you", new Object[]{getDonation().getDonorName(), getDonation().getAmount()});
        final ResourceBundle resourceBundle = facesContext.getApplication().getResourceBundle(facesContext, "msg");
        final String msg = resourceBundle.getString("donateMoney.thank_you");
        facesContext.addMessage(
                null,
                new FacesMessage(FacesMessage.SEVERITY_INFO, msg, null));