private IEnumerable <PotencialOrdemCorretora> ObtemPotenciaisOportunidades(Dictionary <string, Ordem> topOrdensCorretoras) { var listaOportunidades = new List <PotencialOrdemCorretora>(); foreach (var corretoraOrigem in topOrdensCorretoras) { foreach (var corretoraDestino in topOrdensCorretoras) { if (corretoraOrigem.Key == corretoraDestino.Key) { continue; } var potencial = new PotencialOrdemCorretora() { Origem = new OrdemPorCorretora(corretoraOrigem.Key, corretoraOrigem.Value), Destino = new OrdemPorCorretora(corretoraDestino.Key, corretoraDestino.Value) }; listaOportunidades.Add(potencial); } } return(listaOportunidades); }
private OportunidadeSpread CalculaOportunidade(PotencialOrdemCorretora potencialDeOrdem) { var oportunidade = new OportunidadeSpread(); oportunidade.QuantidadeLimite = potencialDeOrdem.QuantidadeMaximaFirst(); oportunidade.Spread = potencialDeOrdem.SpreadFirst(); if (oportunidade.EhValida()) { oportunidade.Calcular(); } return(oportunidade); }