/*
* 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.Person;
import com.evasion.common.controler.User;
import com.evasion.exception.EvasionException;
import com.evasion.exception.PersistenceViolationException;
import com.evasion.module.common.ICommonModule;
import com.evasion.module.common.entity.AccountDTO;
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 {
/**
* *
* serialVersionUID.
*/
private static final long serialVersionUID = 1L;
@EJB
private ICommonModule accountMan;
private User user;
private Person person;
@PostConstruct
public void init() {
person = new Person();
user = new User();
}
public String valid() {
String result = Constante.FAIL_ACTION;
AccountDTO account = new AccountDTO();
try {
user.validUser();
person.validPerson();
account.setPerson(person.getPersonEntity());
account.setEmail(person.getEmail());
account.setUsername(user.getUserEntity().getUsername());
account.setPassword(user.getUserEntity().getPassword());
accountMan.createAccount(account);
result = "confirmationAccount.xhtml";
} catch (EvasionException ex) {
FacesContext facesContext = FacesContext.getCurrentInstance();
facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Ce nom d'utilisateur est déjà utilisé par une autre personne", ""));
} catch (EJBException ex) {
FacesContext facesContext = FacesContext.getCurrentInstance();
facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, "Une erreur technique est survenue; Merci de re tester ultérieurement", ""));
Logger.getLogger(Account.class.getName()).log(Level.SEVERE, null, ex);
}
return result;
}
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;
}
}