Exemple #1
0
 public void TerminarPregao()
 {
     Ganhador = Lances
                .DefaultIfEmpty(new Lance(null, 0))
                .OrderBy(l => l.Valor)
                .LastOrDefault();
 }
 public void TerminaPregao()
 {
     Ganhador = Lances
                .DefaultIfEmpty(new Lance(null, 0))
                .OrderBy(l => l.Valor).LastOrDefault();
     Estado = EstadoLeilao.LeilaoFinalizado;
 }
Exemple #3
0
        public void TerminaPregao()
        {
            if (Estado != EstadoLeilao.LeilaoEmAndamento)
            {
                throw new InvalidOperationException("Não é possível terminar o pregão sem que tenha começado. Para isso utilize o método inicia pregão.");
            }

            Ganhador = Lances
                       .DefaultIfEmpty(new Lance(null, 0))
                       .OrderBy(l => l.Valor).LastOrDefault();
            Estado = EstadoLeilao.LeilaoFinalizado;
        }
        public void TerminaPregao()
        {
            if (Estado != EstadoLeilao.LeilaoEmAndamento)
            {
                throw new InvalidOperationException("Não é possível terminar sem que ele tenha começado.");
            }

            Ganhador = Lances
                       .DefaultIfEmpty(new Lance(null, 0))
                       .OrderBy(x => x.Valor)
                       .LastOrDefault();

            Estado = EstadoLeilao.LeilaoFinalizado;
        }
Exemple #5
0
        public void ChecarSeLancePodeSerAdicionado(Lance lance)
        {
            bool leilaoNaoPermiteAceitarLances = EstadoLeilao != EstadoLeilao.EmAndamento;

            bool eOClienteDoUltimoLance = Lances
                                          .DefaultIfEmpty(new Lance(null, 0))
                                          .LastOrDefault()
                                          .Cliente == lance.Cliente;

            if (leilaoNaoPermiteAceitarLances)
            {
                throw GetLeilaoExceptionFactory().CriarLeilaoExceptionParaRecebeLance(EstadoLeilao);
            }

            if (eOClienteDoUltimoLance)
            {
                throw GetLeilaoExceptionFactory().CriarLeilaoException("Cliente deu o último lance! Ação negada!");
            }
        }
Exemple #6
0
 public void TerminaPregao()
 {
     if (Estado != EstadoLeilao.LeilaoEmAndamento)
     {
         throw new System.InvalidOperationException();
     }
     if (ValorDestino > 0)
     {
         //modelidade oferta superior mais proxima
     }
     else
     {
         Ganhador = Lances
                    .DefaultIfEmpty(new Lance(null, 0))
                    .OrderBy(l => l.Valor)
                    .LastOrDefault();
     }
     Estado = EstadoLeilao.LeilaoFinalizado;
 }
Exemple #7
0
        public void TerminarPregao()
        {
            if (this.Estado != EstadoLeilao.LeilaoEmAndamento)
            {
                throw new InvalidOperationException();
            }

            if (ValorBase > 0)
            {
                Vencedor = Lances.DefaultIfEmpty(new Lance(new Cliente("", new Leilao("", 0, new Bem("", ""))), 0))
                           .Where(x => x.Valor >= ValorBase)
                           .OrderBy(x => x.Valor).FirstOrDefault();
            }
            else
            {
                Vencedor = Lances.DefaultIfEmpty(new Lance(new Cliente("", new Leilao("", 0, new Bem("", ""))), 0))
                           .OrderBy(x => x.Valor).LastOrDefault();
            }

            this.Estado = EstadoLeilao.LeilaoFinalizado;
        }