Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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;
            }
        }