from Contrato import Contrato
class Compraventa(Contrato):
    def __init__(self, codigo, fecha, valor, inmueble, medioPago, comprador=None):
        super().__init__(codigo,fecha,valor,inmueble)
        self._comprador=comprador
        self._medioPago=medioPago


    def getComprador(self):
        return self._comprador

    def setComprador(self,cliente):
        self._comprador=cliente

    def getMedioPago():
        return self._medioPago

    def setMedioPago(self,medioPago):
        self._medioPago=medioPago

    def __str__(self):
        printer = "Compraventa: {"+"codigo: "+str(self._codigo)+", fecha: "+str(self._fecha)+", costo total: "+str(self._valor)+", inmueble: "+str(self._inmueble.__str__())+", comprador: "+str(self._comprador)+" }"
        return printer
    
    @staticmethod
    def mostrarCompraventas(compraventas):
        r=""
        for compraventa in compraventas:
            r+=compraventa.__str__()+"\n"
        return r
    #Metodo para buscar compraventas disponibles
    @staticmethod
    def compraventasDisponibles(compraventas):
        r=""
        for compraventa in compraventas:
            if compraventa.getDisponible():
                r+=compraventa.__str__()+"\n"
        return r
    #Buscar compraventa por codigo
    @staticmethod
    def buscarCompraventa(compraventas, codigo):
        for compraventa in compraventas:
            if compraventa.getCodigo()==codigo:
                return compraventa
        return None

