You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.9 KiB
Java
73 lines
1.9 KiB
Java
public class GestionProtocole {
|
|
private BanqueSimple bs;
|
|
|
|
public GestionProtocole() {
|
|
bs = new BanqueSimple();
|
|
}
|
|
|
|
public String traite(String requete){
|
|
if(requete != null){
|
|
String [] tab = requete.split(" ");
|
|
|
|
switch(tab[0]){
|
|
case "CREATION":
|
|
if(tab.length == 3){
|
|
if(bs.compteExiste(tab[1])) {
|
|
return "ERREUR Compte déjà existant";
|
|
}
|
|
try {
|
|
double somme = Double.parseDouble(tab[2]);
|
|
bs.creerCompte(tab[1], somme);
|
|
return "OK CREATION";
|
|
} catch (Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
break;
|
|
case "POSITION":
|
|
if(tab.length == 2){
|
|
if(bs.compteExiste(tab[1])) {
|
|
return "POS " + bs.getSolde(tab[1]) + " " + bs.getDerniereOperation(tab[1]);
|
|
}
|
|
else {
|
|
return "ERREUR compte inexistant";
|
|
}
|
|
}
|
|
break;
|
|
case "AJOUT":
|
|
if (tab.length == 3) {
|
|
if (bs.compteExiste(tab[1])) {
|
|
try {
|
|
double somme = Double.parseDouble(tab[2]);
|
|
bs.ajouter(tab[1], somme);
|
|
return "OK AJOUT";
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case "RETRAIT":
|
|
if (tab.length == 3) {
|
|
if (bs.compteExiste(tab[1])) {
|
|
try {
|
|
double somme = Double.parseDouble(tab[2]);
|
|
if (bs.getSolde(tab[1]) >= somme) {
|
|
bs.retirer(tab[1], somme);
|
|
return "OK RETRAIT";
|
|
}
|
|
else {
|
|
return "KO RETRAIT: pas assez d'argent sur le compte";
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
return "ERREUR Requête mal formée";
|
|
}
|
|
}
|