public static Distribuicao GeraMassa3Clientes() { Distribuicao dist = new Distribuicao(); List <Boleta> lstBoletas = new List <Boleta>(); lstBoletas.Add(new Boleta(1, 1, new decimal(10.01))); lstBoletas.Add(new Boleta(2, 1, new decimal(10.02))); lstBoletas.Add(new Boleta(3, 1, new decimal(10.03))); lstBoletas.Add(new Boleta(4, 1, new decimal(10.04))); lstBoletas.Add(new Boleta(5, 1, new decimal(10.05))); lstBoletas.Add(new Boleta(6, 1, new decimal(10.06))); lstBoletas.Add(new Boleta(7, 1, new decimal(10.07))); lstBoletas.Add(new Boleta(8, 1, new decimal(10.08))); lstBoletas.Add(new Boleta(9, 1, new decimal(10.09))); lstBoletas.Add(new Boleta(10, 1, new decimal(10.10))); dist.Boletas = lstBoletas; List <Cliente> lstClientes = new List <Cliente>(); lstClientes.Add(new Cliente(1, 10, new decimal(10.055))); dist.Clientes = lstClientes; return(dist); }
public static Distribuicao GeraMassaDoisClientes() { Distribuicao dist = new Distribuicao(); List <Boleta> lstBoletas = new List <Boleta>(); lstBoletas.Add(new Boleta(1, 1, new decimal(10.01))); lstBoletas.Add(new Boleta(2, 1, new decimal(10.02))); lstBoletas.Add(new Boleta(3, 1, new decimal(10.03))); lstBoletas.Add(new Boleta(4, 1, new decimal(10.04))); lstBoletas.Add(new Boleta(5, 1, new decimal(10.05))); lstBoletas.Add(new Boleta(6, 1, new decimal(10.06))); lstBoletas.Add(new Boleta(7, 1, new decimal(10.07))); lstBoletas.Add(new Boleta(8, 1, new decimal(10.08))); lstBoletas.Add(new Boleta(9, 1, new decimal(10.09))); lstBoletas.Add(new Boleta(10, 1, new decimal(10.10))); dist.Boletas = lstBoletas; List <Cliente> lstClientes = new List <Cliente>(); lstClientes.Add(new Cliente(1, 5, new decimal(10.03))); //PRIMEIRAS 5 lstClientes.Add(new Cliente(2, 5, new decimal(10.08))); //DEPOIS AS PROXIMAS 3 //lstClientes.Add(new Cliente(3, 2, new decimal(10.95)));//AS ULTIMAS 2 dist.Clientes = lstClientes; return(dist); }
public static void CalculaDistribuicao(Distribuicao dist) { Resultado resultado = new Resultado(); resultado.NotIncluded.AddRange(dist.Boletas); List <Resultado> lstResultadoAnterior = new List <Resultado>(); bool first = true; foreach (var item in dist.Clientes) { List <Resultado> resultadoDesteFilhote = new List <Resultado>(); if (first) { CalculateNextFilhote(resultado, resultadoDesteFilhote, item); first = false; } else { foreach (var resultadoAnterior in lstResultadoAnterior) { CalculateNextFilhote(resultadoAnterior, resultadoDesteFilhote, item); } } if (resultadoDesteFilhote.Count == 0) { break; } lstResultadoAnterior = resultadoDesteFilhote; } }