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); }
//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); }
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); }