示例#1
0
        public void Avalia(Leilao leilao)
        {
            if (leilao.Lances.Count == 0)
            {
                throw new Exception("Um leilão deve possuir pelo menos um lance!");
            }

            foreach (Lance lance in leilao.Lances)
            {
                if (lance.Valor > maiorDeTodos)
                {
                    maiorDeTodos = lance.Valor;
                }
                if (lance.Valor < menorDeTodos)
                {
                    menorDeTodos = lance.Valor;
                }
                mediaDosLances += lance.Valor;
            }
            mediaDosLances /= leilao.Lances.Count();
            pegaOsMaioresNo(leilao);
        }
示例#2
0
 //Padrão de Builder devolve a própria classe para poder usar .Lance.Lance...
 public CriadorDeLeilao Para(string descricao)
 {
     leilao = new Leilao(descricao);
     return(this);
 }
示例#3
0
 private void pegaOsMaioresNo(Leilao leilao)
 {
     //linq
     maioresLances = new List <Lance>(leilao.Lances.OrderByDescending(x => x.Valor));
     maioresLances = maioresLances.GetRange(0, maioresLances.Count > 3 ? 3 : maioresLances.Count);
 }