/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.evasion.client.controler;
import com.evasion.common.Constante;
import com.evasion.common.controler.Don;
import com.evasion.common.controler.Person;
import com.evasion.common.controler.User;
import com.evasion.exception.PersistenceViolationException;
import com.evasion.ejb.local.AccountManagerLocal;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.ejb.EJBException;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
/**
*
* @author sebastien.glon
*/
@ManagedBean
@RequestScoped
public class Account extends Person {
@EJB
AccountManagerLocal accountMan;
private User user;
private Person person;
@PostConstruct
public void init() {
person = new Person();
user = new User();
}
public String valid() {
try {
user.validUser();
person.validPerson();
com.evasion.entity.Account account = new com.evasion.entity.Account(user.getUserEntity(), person.getPersonEntity());
accountMan.createAccount(account);
if (account.getId() == null) {
return Constante.FAIL_ACTION;
}
}
catch (PersistenceViolationException ex) {
FacesContext facesContext = FacesContext.getCurrentInstance();
facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "le nom d'uilicateur est déjà présent dans la base", ""));
}
catch (EJBException ex) {
Logger.getLogger(Account.class.getName()).log(Level.SEVERE, null, ex);
}
return Constante.SUCCESS_ACTION;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}