package appointment.business;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import appointment.helper.BeanConnector;
import appointment.objects.User;
@Stateless
public class IUserManagement implements IUserManagementLocal {
@PersistenceContext
EntityManager entityManager;
private IAppointmentManagementLocal appointmentManagement;
public IUserManagement()
{
appointmentManagement = BeanConnector.getBean("IAppointmentManagement/local",IAppointmentManagementLocal.class);
}
public boolean isUser(String username) {
try {
return entityManager.find(User.class, username) != null;
} catch (Exception e) {
System.out.println(e.getMessage());
}
return false;
}
public boolean addUser(String username, String email, String password) {
if (!isUser(username)) {
User u = new User(username, email, password);
try {
entityManager.persist(u);
} catch (Exception e) {
System.out.println(e.toString());
}
} else
return false;
return isUser(username);
}
public User getUser(String username) {
User user = null;
try {
user = entityManager.find(User.class, username);
} catch (Exception e) {
System.out.println(e.toString());
}
return user;
}
@SuppressWarnings("unchecked")
public List<User> getUsers() {
return entityManager.createQuery("SELECT u FROM User u")
.getResultList();
}
public boolean removeUser(User user) {
try {
appointmentManagement.removeAppointments(user);
entityManager.remove(user);
} catch (Exception e) {
System.out.println(e.toString());
}
return !isUser(user.getUsername());
}
}