예제 #1
0
 public override string ToString()
 {
     return(Exemplaire.ToString()
            + " | Date Emprunt : " + DateEmprunt.ToShortDateString()
            + " | Date Retour : " + (DateRetour == DateTime.MinValue ?
                                     "?" : DateRetour.ToShortDateString()));
 }
예제 #2
0
 //Constructors
 public Pret()
 {
     this.DateEmprunt = DateTime.Now;
     this.DateRetour  = DateTime.MinValue;
     this.Adherent    = null;
     this.Exemplaire  = null;
 }
예제 #3
0
        public virtual void Retourne(Exemplaire exemplaire)
        {
            Pret pretAdherent = this.Prets.FirstOrDefault(p => !p.EstTermine() && p.Exemplaire.Id == exemplaire.Id);

            if (pretAdherent == null)
            {
                throw new Exception("L'adhérent n'a pas emprunté cet exemplaire.");
            }
            pretAdherent.Termine();
            exemplaire.Rendre();
        }
예제 #4
0
 public virtual void Retourne(Exemplaire exemplaire)
 {
     if (exemplaire == Prets[this.Prets.Count - 1].Exemplaire)
     {
         Prets[this.Prets.Count - 1].DateRetour          = DateTime.Now;
         Prets[this.Prets.Count - 1].Exemplaire.Adherent = null;
     }
     else
     {
         throw new Exception("Vous n'avez pas emprunté ce livre !");
     }
 }
예제 #5
0
 public virtual Pret Emprunte(Exemplaire exemplaire)
 {
     if (exemplaire.EstDisponible())
     {
         Pret pret = new Pret {
             Exemplaire = exemplaire
         };
         pret.Exemplaire.Adherent = this;
         this.Prets.Add(pret);
         return(pret);
     }
     throw new Exception("Le livre n'est pas disponible !");
 }
예제 #6
0
        public virtual void Retourne(Exemplaire exemplaire)

        {
            Pret pret = ObtenirLePret(exemplaire);

            if (pret != null)
            {
                exemplaire.Adherent = null;
                pret.DateRetour     = DateTime.Now;
            }
            else
            {
                throw new Exception("L'exemplaire est déjà retourné");
            }
        }
예제 #7
0
        //Méthodes
        public virtual Pret Emprunte(Exemplaire exemplaire)
        {
            if (!exemplaire.EstDisponible())
            {
                throw new Exception($"L'exemplaire n'est pas disponible.");
            }

            Pret newPret = new Pret();

            newPret.Concerne(exemplaire);
            this.Add(newPret);

            exemplaire.Loue(this);

            return(newPret);
        }
예제 #8
0
 public virtual Pret Emprunte(Exemplaire ex)
 {
     if (Prets.Count(p => !p.EstTermine()) < 5)
     {
         if (ex.EstDisponible())
         {
             ex.Adherent = this;
             Pret pret = new Pret();
             pret.DateEmprunt = DateTime.Now;
             pret.Adherent    = this;
             pret.Exemplaire  = ex;
             Prets.Add(pret);
             return(pret);
         }
         else
         {
             throw new Exception("L'exemplaire est dejà emprunté");
         }
     }
     else
     {
         throw new Exception("Limite de 5 ouvrages empruntés atteinte !");
     }
 }
예제 #9
0
 public virtual void Remove(Exemplaire exemplaire)
 {
     exemplaire.Ouvrage = null;
     this.Exemplaires.Remove(exemplaire);
 }
예제 #10
0
 //Méthodes
 public virtual void Add(Exemplaire exemplaire)
 {
     exemplaire.Ouvrage = this;
     this.Exemplaires.Add(exemplaire);
 }
예제 #11
0
 private Pret ObtenirLePret(Exemplaire livre)
 {
     return(Prets.FirstOrDefault(
                pret => (pret.Exemplaire.Id == livre.Id && !pret.EstTermine())
                ));
 }
예제 #12
0
 public virtual void Concerne(Exemplaire exemplaire)
 {
     this.Exemplaire = exemplaire;
 }