# -*- coding:utf-8 -*-

__projet__ = "Corrections"
__nom_fichier__ = "ouvrage"
__author__ = "Christine Fay-Varnier"
__date__ = "avril 2023"

# programme de gestion d'une librairie disposant  d'ouvrages culturels
# de différents types

class Ouvrage:
    """ modelise un ouvrage d'un ouvrage culturel """
    
    def __init__(self, ref, titre, prix, stock):
        """ un ouvrage culturel dispose d'une référence, d'un titre, d'un prix
            et d'un nombre d'exemplaires en stock                           """
        self.ref_ = ref
        self.titre_ = titre
        self.prixHT_ = prix
        self.stock_ = stock
        self.TVA_ = 19.6
        self.stockmin_ = 5

        self.calculePrixTTC()   # calcul du prix TTC de l'ouvrage
        
    def calculePrixTTC(self):
        """

        :return: calcule le prix TTC d'un ouvrage culturel
            en supposant que la TVA qui lui est appliquée est un attribut
            de classe
        """
        self.prixTTC_ = self.prixHT_ * (1 + self.TVA_/100.)
        
    def __repr__(self):
        """ affiche les attributs d'un objet de la classe Ouvrage """
        return "Reference : " + self.ref_ + "\nTitre : " + self.titre_ + \
               "\nPrix Hors Taxe : " + str(self.prixHT_) + "\nPrix TTC : " + str(self.prixTTC_)

    def reapprovisionnement(self):
        """ méthode qui calcule s'il y a besoin d'un réapprovisionnement
            sachant que le stockminimal est un attribut de classe """
        if self.stock_ <= self.stockmin_:
            return True
        else:
            return False

if __name__ == '__main__':
    tutoSwinnen = Ouvrage("978-2-212-12708-9", "Apprendre a programmer avec Python", 25.5, 30)
    print(tutoSwinnen)

    print("Besoin de reapprovisionnement : ", tutoSwinnen.reapprovisionnement())
    print()

        

        
        


