Search in sources :

Example 11 with Utilisateur

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);
}
Also used : Utilisateur(domaine.Utilisateur)

Example 12 with Utilisateur

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;
}
Also used : Objet(domaine.Objet) EnchereInexistanteException(exceptions.EnchereInexistanteException) Enchere(domaine.Enchere) Utilisateur(domaine.Utilisateur)

Example 13 with Utilisateur

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;
}
Also used : UtilisateurInexistantException(exceptions.UtilisateurInexistantException) Utilisateur(domaine.Utilisateur)

Example 14 with Utilisateur

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
}
Also used : Utilisateur(domaine.Utilisateur)

Example 15 with Utilisateur

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;
    }
}
Also used : Objet(domaine.Objet) Utilisateur(domaine.Utilisateur) Enchere(domaine.Enchere) LocalDate(java.time.LocalDate)

Aggregations

Utilisateur (domaine.Utilisateur)16 Enchere (domaine.Enchere)11 Objet (domaine.Objet)11 Test (org.junit.Test)4 Before (org.junit.Before)3 LocalDate (java.time.LocalDate)2 EnchereInexistanteException (exceptions.EnchereInexistanteException)1 UtilisateurInexistantException (exceptions.UtilisateurInexistantException)1 HashSet (java.util.HashSet)1