Ejemplo n.º 1
0
    def propoe(self, lance: Lance):

        #Verificando se nao ha lances no leilao
        if not self.__tem_lances():
            #Salvando o menor lance
            self.__menor_lance = lance.valor

            #Salvando o maior lance
            self.__maior_lance = lance.valor

            #Adicionando o lance
            self.__lances.append(lance)

        #Verificando se o mesmo usuario nao fez dois lances seguidos e se o valor do lance eh maior que o valor do lance anterior
        elif (self.__usuarios_diferentes(lance)) and (
                self.__valor_maior_que_o_anterior(lance)):

            #Salvando o maior lance
            self.__maior_lance = lance.valor

            #Adicionando o lance
            self.__lances.append(lance)

        #Gerando excecao caso um mesmo usuario proponha dois lances seguidos
        elif (self.__lances[-1].usuario == lance.usuario):
            raise LanceInvalido(
                "Um usuário não pode propor dois lances seguidos.")

        #Gerando excecao caso o valor de um lance seja inferior ao de um lance anterior
        elif (lance.valor <= self.__lances[-1].valor):
            raise LanceInvalido("O lance deve ser maior que o lance anterior.")
Ejemplo n.º 2
0
    def propoe_lance(self, leilao, valor):
        if valor > self.__carteira:
            raise LanceInvalido('Não tem saldo suficiente na carteira')

        lance = Lance(self, valor)
        leilao.propoe(lance)
        self.__carteira -= valor
Ejemplo n.º 3
0
    def propoe_lance(self, leilao, valor):
        if not self._valor_eh_valido(valor):
            raise LanceInvalido('Não pode propor um lance superior ao valor da carteira')

        lance = Lance(self, valor)
        leilao.propoe(lance)
        self.__carteira -= valor
Ejemplo n.º 4
0
    def propoe_lance(self, leilao, valor):
        if not self._valor_valido(valor):
            raise LanceInvalido(
                'Usuário deve ter saldo maior que o lance proposto.')

        leilao.propoe(Lance(self, valor))
        self.__carteira -= valor
Ejemplo n.º 5
0
    def propoe_lance(self, leilao, valor):
        if not self.__valor_e_valido(valor):
            raise LanceInvalido('Não pode propor lance maior que o valor da carteira')

        lance = Lance(self, valor)
        leilao.propoe(lance)
        self.__carteira -= valor
Ejemplo n.º 6
0
    def propoe_lance(self, leilao, valor):
        if self._valor_e_valido(valor):
            raise LanceInvalido('Saldo Insuficiente')

        lance = Lance(self, valor)
        leilao.propoe(lance)
        self.__carteira -= valor
Ejemplo n.º 7
0
 def propoe_lance(self, leilao, valor):
     if not self._valor_eh_valido(valor):
         raise LanceInvalido("Valor maior que o disponível na carteira!")
     else:
         lance = Lance(self, valor)
         leilao.propoe(lance)
         self.__carteira -= valor
Ejemplo n.º 8
0
    def propoe_lance(self, leilao, valor):

        if self._valor_e_valido(valor):
            lance = Lance(self, valor)
            leilao.propoe(lance)
            self.__carteira -= valor
        else:
            raise LanceInvalido("Lance maior que valor disponivel em carteira")
Ejemplo n.º 9
0
    def propoe_lance(self, leilao, valor):
        if not self._valor_valido(valor):
            raise LanceInvalido('Não é possível propor um lance com o valor menor que o da carteira.')

        lance = Lance(self, valor)
        leilao.propoe(lance)

        self.__carteira -= valor
Ejemplo n.º 10
0
    def propoe_lance(self, leilao: Leilao, valor: float):
        if not self.__valor_eh_valido(valor):
            raise LanceInvalido(
                "O valor proposto eh maior que o valor da carteira.")
        lance = Lance(self, valor)
        leilao.propoe(lance)

        self.__carteira -= valor
Ejemplo n.º 11
0
    def propoe_lance(self, leilao, valor):
        if not self._valor_e_valido(valor):
            raise LanceInvalido(
                "O valor do lance é maior que quantia em carteira.")

        lance = Lance(self, valor)
        leilao.propoe(lance)

        self.__carteira -= valor
    def propoe(self, lance: Lance):
        if self._lance_eh_valido(lance):
            if not self._tem_lances():
                self.menor_lance = lance.valor

            self.maior_lance = lance.valor
            self.__lances.append(lance)
        else:
            raise LanceInvalido('Erro ao propor lance')
Ejemplo n.º 13
0
    def propoe_lance(self, leilao, valor):
        if (not self._valor_eh_valido(valor)):
            raise LanceInvalido(
                "Não pode propor um lance com o valor maior que o valor da carteira"
            )
        lance = Lance(self, valor)
        leilao.propoe(lance)

        self.__carteira -= valor
Ejemplo n.º 14
0
    def propoe_lance(self, leilao: Leilao, valor):

        if valor > self.__carteira:
            raise LanceInvalido(
                "Não pode propor um lance com o valor maior do que o valor da carteira"
            )

        lance = Lance(self, valor)
        leilao.propoe(lance)
        self.__carteira -= valor
Ejemplo n.º 15
0
    def propoe(self, lance: Lance):  # anotação (type hint), só para ajudar a não se perder no código
        # -1: acesso ao último elemento da lista
        if self._lance_valido(lance):
            if not self._tem_lances():
                self.menor_lance = lance.valor

            self.maior_lance = lance.valor

            self.__lances.append(lance)
        else:
            raise LanceInvalido('Erro ao propor lance.')
Ejemplo n.º 16
0
 def _usuarios_diferentes(self, lance):
     if self.__lances[-1].usuario != lance.usuario:
         return True
     raise LanceInvalido('O mesmo usuário não pode dar dois lances seguidos')
Ejemplo n.º 17
0
 def _lance_maior(self, lance):
     if lance.valor > self.maior_lance:
         return True
     raise LanceInvalido('O valor do lance deve ser maior que o anterior.')
Ejemplo n.º 18
0
 def _usuarios_diferentes(self, lance):
     if self.__lances[-1].usuario != lance.usuario:
         return True
     raise LanceInvalido('Não é permitido um usuário dar lances seguidos.')
Ejemplo n.º 19
0
 def _valor_valido(self, valor):
     if self.__carteira >= valor:
         return True
     raise LanceInvalido(
         "Saldo indisponível em carteira para executar o lance")
Ejemplo n.º 20
0
 def propor_lance(self, leilao, valor):
     if not self._valor_e_valido(valor):
         raise LanceInvalido('Erro ao propor lance')
     lance = Lance(self, valor)
     leilao.propor(lance)
     self.__carteira -= valor
Ejemplo n.º 21
0
 def _valor_maior_que_lance_anterior(self, lance):
     if (lance.valor > self.__lances[-1].valor):
         return True
     raise LanceInvalido(
         "O valor do lance deve ser maior que o lance anterior")
Ejemplo n.º 22
0
 def valor_maior_lance_anterior(self, lance):
     if lance.valor > self.__lances[-1].valor:
         return True
     raise LanceInvalido(
         'O valor do lance não pode ser maior que a carteira')
Ejemplo n.º 23
0
    def propor_lance(self, leilao, valor: float):
        if not self.__valor_valido(valor):
            raise LanceInvalido('Valor proposto maior que saldo disponível')

        leilao.propor_lance(Lance(self, valor))
        self.__saldo -= valor
Ejemplo n.º 24
0
 def _valor_maior_que_lance_anterior(self, lance):
     if lance.valor > self.__lances[-1].valor:
         return True
     raise LanceInvalido('O lance não pode ser menor que o anterior')
Ejemplo n.º 25
0
 def _lance_maior_que_o_anterior(self, lance):
     if lance.valor > self.__lances[-1].valor:
         return True
     raise LanceInvalido('O valor do lance deve ser maior que o lance anterior')
Ejemplo n.º 26
0
 def _usuarios_diferentes(self, lance):
     if self.__lances[-1].user != lance.user:
         return True
     raise LanceInvalido(
         "O mesmo usuario nao pode dar dois lances seguidos")