use of domaine.Utilisateur in project Synthese_2BIN by TheYoungSensei.
the class GestionEncheres method listerObjetsVendus.
public SortedSet<Objet> listerObjetsVendus(Utilisateur acheteur, Utilisateur vendeur) throws UtilisateurInexistantException {
Utilisateur aSt = rechercherUtilisateur(acheteur);
Utilisateur vSt = rechercherUtilisateur(vendeur);
// déjà cloné dans Utilisateur
return aSt.objetsAchetes(vSt);
}
use of domaine.Utilisateur in project Synthese_2BIN by TheYoungSensei.
the class GestionEncheres method accepter.
public boolean accepter(Objet objet) throws ObjetInexistantException, EnchereInexistanteException {
Objet oSt = rechercherObjet(objet);
Enchere enchere = oSt.meilleureEnchere();
if (enchere == null)
throw new EnchereInexistanteException();
Utilisateur encherisseur = utilisateurs.get(enchere.getEncherisseur().getNum());
if (!encherisseur.ajouterObjetAchete(oSt))
return false;
objetsEnVente.remove(oSt);
objetsVendus.add(oSt);
return true;
}
use of domaine.Utilisateur in project Synthese_2BIN by TheYoungSensei.
the class GestionEncheres method rechercherUtilisateur.
private Utilisateur rechercherUtilisateur(Utilisateur utilisateur) throws UtilisateurInexistantException {
checkObject(utilisateur);
Utilisateur uSt = utilisateurs.get(utilisateur.getNum());
if (uSt == null)
throw new UtilisateurInexistantException();
return uSt;
}
use of domaine.Utilisateur in project Synthese_2BIN by TheYoungSensei.
the class GestionEncheres method inscrire.
public Utilisateur inscrire(String nom, String prenom, String mail) {
Utilisateur utilisateur = new Utilisateur(nom, prenom, mail);
utilisateurs.put(utilisateur.getNum(), utilisateur);
// renvoie un clone et conserve la bonne
return utilisateur.clone();
// copie dans utilisateurs
}
use of domaine.Utilisateur in project Synthese_2BIN by TheYoungSensei.
the class GestionEncheres method encherir.
public Enchere encherir(Objet objet, Utilisateur encherisseur, double montant, LocalDateTime date) throws ObjetInexistantException, UtilisateurInexistantException {
checkPositive(montant);
checkObject(date);
Utilisateur uSt = rechercherUtilisateur(encherisseur);
Objet oSt = rechercherObjet(objet);
try {
LocalDate dateEnchere = date.toLocalDate();
SortedSet<Enchere> encheresDuJour = encheres.get(dateEnchere);
if (encheresDuJour != null) {
// s'ajoutera pas dans la map à cause du equals/hashCode
for (Enchere e : encheresDuJour) {
if (e.getLocalDateTime().equals(date) && e.getEncherisseur().equals(uSt))
return null;
}
}
Enchere enchere = new Enchere(oSt, date, montant, uSt);
if (encheresDuJour == null) {
encheresDuJour = new TreeSet<>(comp);
encheres.put(dateEnchere, encheresDuJour);
}
encheresDuJour.add(enchere);
// enchere immuable
return enchere;
} catch (IllegalArgumentException e) {
// Exception lancée par le constructeur d'enchère
return null;
}
}
Aggregations