Beispiel #1
0
        public List <Linea> ProductoMasComprado(Usuario usuario)
        {
            List <Compra> comprasUsuario = FiltrarComprasPorUsuario(usuario);
            List <Linea>  aux            = new List <Linea>();

            foreach (Compra c in comprasUsuario)
            {
                foreach (Linea l in c.Lineas)
                {
                    Producto p      = l.Producto;
                    bool     existe = false;
                    foreach (Linea linea in aux)
                    {
                        if (linea.Producto.Id == p.Id)
                        {
                            linea.Cantidad += l.Cantidad;
                            existe          = true;
                        }
                    }
                    if (!existe)
                    {
                        Linea nueva = new Linea(l.Producto, l.Cantidad);
                        aux.Add(nueva);
                    }
                }
            }
            aux.Sort();
            decimal      cant    = 0;
            List <Linea> retorno = new List <Linea>();

            foreach (Linea l in aux)
            {
                if (l.Cantidad >= cant)
                {
                    retorno.Add(l);
                    cant = l.Cantidad;
                }
            }
            return(retorno);
        }
Beispiel #2
0
        private Sistema()
        {
            new List <Producto>();
            new List <Categoria>();
            new List <Usuario>();
            new List <Cliente>();
            new List <Compra>();

            AgregarCategoria("Frescos");
            AgregarCategoria("Congelados");
            AgregarCategoria("Hogar");
            AgregarCategoria("Textiles");
            AgregarCategoria("Tecnologia");
            AgregarCategoria("Bebidas");


            AgregarProducto(new Producto("Asado", "De exportación", true, new Categoria("Frescos"), 335));
            AgregarProducto(new Producto("Chorizo", "De rueda", true, new Categoria("Frescos"), 395));
            AgregarProducto(new Producto("Empanadas", "Supercongeladas de queso y cebolla", true, new Categoria("Congelados"), 262));
            AgregarProducto(new Producto("Escarbadientes", "Palillos de madera", true, new Categoria("Hogar"), 23));
            AgregarProducto(new Producto("Repasador", "A cuadros", false, new Categoria("Textiles"), 115));
            AgregarProducto(new Producto("Fernet", "Directo de Cordoba Capital", true, new Categoria("Bebidas"), 578));
            AgregarProducto(new Producto("Wisky", "Edición Game Of Thrones", true, new Categoria("Bebidas"), 1990));
            AgregarProducto(new Producto("Cerveza", "Nacional", false, new Categoria("Bebidas"), 129));
            AgregarProducto(new Producto("Vino", "Espumante", false, new Categoria("Bebidas"), 388));
            AgregarProducto(new Producto("Pizza", "A la piedra y con muzzarella", true, new Categoria("Congelados"), 320));
            AgregarProducto(new Producto("Hamburguesas", "Extra Carne Vacuna", false, new Categoria("Frescos"), 241));
            AgregarProducto(new Producto("Mantel", "Redondo", false, new Categoria("Textiles"), 890));
            AgregarProducto(new Producto("Sillon", "Plegable para exterior", false, new Categoria("Hogar"), 1300));
            AgregarProducto(new Producto("Canasto", "Para la basura", false, new Categoria("Hogar"), 371));
            AgregarProducto(new Producto("Agua", "Sin gas", true, new Categoria("Bebidas"), 94));



            usuarios.Add(new Usuario("sofi", "sofi", "adm", null));
            usuarios.Add(new Usuario("fede", "fede", "adm", null));
            usuarios.Add(new Usuario("luis", "luis", "adm", null));


            //Precarga clientes comunes
            DateTime fecha = new DateTime(2017, 02, 19);

            AgregarClienteComun("Nombre 1", "*****@*****.**", "Direccion 1", true, fecha, 12345678, 098123123);
            AgregarUsuario("usuario1", "clave1", "cliente", 3);
            fecha = new DateTime(2019, 07, 23);
            AgregarClienteComun("Nombre 2", "*****@*****.**", "Direccion 2", true, fecha, 12223334, 091456456);
            AgregarUsuario("usuario2", "clave2", "cliente", 5);
            fecha = new DateTime(2018, 12, 04);
            AgregarClienteComun("Nombre 3", "*****@*****.**", "Direccion 3", false, fecha, 56667778, 094789789);
            AgregarUsuario("usuario3", "clave3", "cliente", 7);

            // Precarga de Cliente/Empresa
            fecha = new DateTime(2018, 12, 04);
            AgregarClienteEmpresa("Empresa 1", "*****@*****.**", "Direccion 4", false, fecha, "Empresa 1 SA", 123456, 0.25);
            AgregarUsuario("usuario4", "clave4", "cliente", 9);

            fecha = new DateTime(2012, 06, 21);
            AgregarClienteEmpresa("Empresa 2", "*****@*****.**", "Direccion 5", true, fecha, "Empresa 2 SRL", 123124125, 0.15);
            AgregarUsuario("usuario5", "clave5", "cliente", 11);

            AgregarClienteEmpresa("Empresa 3", "*****@*****.**", "Direccion 6", true, fecha, "Empresa 3 Ltda", 2123654378, 0.30);
            AgregarUsuario("usuario6", "clave6", "cliente", 13);



            //Precarga de compras
            DateTime     fechaC   = new DateTime(2017, 03, 05);
            List <Linea> lineas   = new List <Linea>();
            Linea        unaLinea = new Linea(ObtenerProducto(1), 10);

            lineas.Add(unaLinea);
            AgregarCompra("usuario1", fechaC, lineas, true, false, 1000);

            fechaC   = new DateTime(2018, 04, 23);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(1), 5);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(2), 1);
            lineas.Add(unaLinea);
            AgregarCompra("usuario1", fechaC, lineas, false, true, 379);


            fechaC   = new DateTime(2018, 06, 20);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(2), 5);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(3), 1);
            lineas.Add(unaLinea);
            AgregarCompra("usuario2", fechaC, lineas, false, true, 379);


            fechaC   = new DateTime(2019, 11, 09);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(1), 6);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(2), 1);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(3), 1);
            AgregarCompra("usuario6", fechaC, lineas, false, true, 1200);



            fechaC   = new DateTime(2018, 11, 23);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(3), 5);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(4), 1);
            lineas.Add(unaLinea);
            AgregarCompra("usuario2", fechaC, lineas, true, true, 379);

            fechaC   = new DateTime(2019, 10, 09);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(1), 8);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(2), 6);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(5), 2);
            lineas.Add(unaLinea);
            AgregarCompra("usuario4", fechaC, lineas, false, true, 600);

            fechaC   = new DateTime(2019, 08, 13);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(3), 5);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(4), 4);
            lineas.Add(unaLinea);
            AgregarCompra("usuario4", fechaC, lineas, false, false, 100);

            fechaC   = new DateTime(2019, 07, 15);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(2), 7);
            lineas.Add(unaLinea);
            AgregarCompra("usuario5", fechaC, lineas, true, false, 1000);

            fechaC   = new DateTime(2019, 10, 09);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(1), 6);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(2), 4);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(3), 5);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(4), 3);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(5), 2);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(14), 3);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(11), 4);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(9), 5);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(7), 3);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(6), 2);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(13), 1);
            lineas.Add(unaLinea);
            AgregarCompra("usuario3", fechaC, lineas, true, true, 2500);

            fechaC   = new DateTime(2019, 01, 13);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(2), 1);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(1), 3);
            lineas.Add(unaLinea);
            AgregarCompra("usuario2", fechaC, lineas, false, true, 4);

            fechaC   = new DateTime(2019, 02, 14);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(1), 2);
            lineas.Add(unaLinea);
            unaLinea = new Linea(ObtenerProducto(3), 5);
            lineas.Add(unaLinea);
            AgregarCompra("usuario3", fechaC, lineas, false, true, 5);

            fechaC   = new DateTime(2019, 03, 16);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(5), 2);
            lineas.Add(unaLinea);
            AgregarCompra("usuario4", fechaC, lineas, false, true, 6);

            fechaC   = new DateTime(2019, 04, 17);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(0), 2);
            lineas.Add(unaLinea);
            AgregarCompra("usuario5", fechaC, lineas, false, true, 7);

            fechaC   = new DateTime(2019, 04, 29);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(2), 2);
            lineas.Add(unaLinea);
            AgregarCompra("usuario6", fechaC, lineas, false, true, 8);

            fechaC   = new DateTime(2019, 11, 3);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(1), 2);
            lineas.Add(unaLinea);
            AgregarCompra("usuario2", fechaC, lineas, false, true, 10);

            fechaC   = new DateTime(2019, 12, 5);
            lineas   = new List <Linea>();
            unaLinea = new Linea(ObtenerProducto(3), 3);
            lineas.Add(unaLinea);
            AgregarCompra("usuario4", fechaC, lineas, false, true, 11);
        }