package businessLogic;
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+
+import javax.mail.MessagingException;
+
+import common.AccountInterface;
import dataAccess.DB4oManager;
import domain.Account;
+import domain.Administrator;
+import domain.Owner;
-public class AccountManager {
-
+public class AccountManager extends UnicastRemoteObject implements
+ AccountInterface {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
private DB4oManager dbMngr;
-
-
- public AccountManager() {
+
+ public AccountManager() throws RemoteException {
try {
dbMngr = DB4oManager.getInstance();
} catch (Exception e) {
e.printStackTrace();
}
}
-
- public boolean addAccount(Account ac){
- if(this.dbMngr.addAccount(ac))
+
+ public boolean addAccount(int index) throws RemoteException {
+ Account ac = Administrator.getInstance().getNewOwnerRequest()
+ .get(index);
+ if (this.dbMngr.addAccount(ac)) {
+ try {
+ MailManager.getInstance().Send(ac.getOwner().getMailAccount(),
+ "Entered into the system", "Congratulations");
+ } catch (MessagingException e) {
+ e.printStackTrace();
+ }
return true;
+ }
return false;
-
+
}
-
- public boolean removeAccount(Account ac){
- if(this.dbMngr.removeAccount(ac))
- return true;
+
+ public boolean removeAccount(int index) throws RemoteException {
+ AdminManager adm = new AdminManager();
+ Owner own = adm.getAllOwners().get(index);
+ try {
+ if (this.dbMngr.removeAccount(own)) {
+ try {
+ MailManager.getInstance().Send(own.getMailAccount(), "Removed from the system", "We are sorry");
+ } catch (MessagingException e) {
+ e.printStackTrace();
+ }
+ return true;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
return false;
-
+
}
}