示例#1
0
        /// <summary>
        /// El metodo estatico Comprar controlara que el pedido no este vacio
        /// y agregara el pedido al historial del inventario (lista de pedidos)
        /// vaciara el carrito
        /// </summary>
        /// <returns></returns>
        public static bool Comprar()
        {
            int i = 0;

            foreach (Producto item in Tienda.carrito.ListaDePedidos)
            {
                i++;
            }
            if (i > 0)
            {
                Tienda.inventario += Tienda.carrito;
                Tienda.VaciarCarrito();
                return(true);
            }
            return(false);
        }
示例#2
0
 /// <summary>
 /// El metodo estatico AgregarAlCarrito controlara cada vez
 /// que se quiera agregar un producto a un pedido. y actualizara
 /// el stock del producto y si este producto se quedara sin stock
 /// lo eliminara de la lista de productos en stock del inventario
 /// </summary>
 /// <param name="p"></param>
 /// <returns></returns>
 public static bool AgregarAlCarrito(Producto p)
 {
     if (p.Stock > 0)
     {
         p.Stock--;
         if (!(p.Stock > 0))
         {
             Tienda.QuitarProductoDeInventario(p);
         }
         if (Tienda.carrito + p)
         {
             return(true);
         }
     }
     return(false);
 }
示例#3
0
        /// <summary>
        /// El metodo estatico ActualizarStock controla que una compra quede
        /// incoclusa y devuelve los productos que contenga el carrito frustrado
        /// al inventario actualizando su stock. finaliza vaciando el carrito
        /// </summary>
        /// <param name="pedido"></param>
        public static void ActualizaStock(Pedido pedido)
        {
            bool loEncontro = false;

            foreach (Producto item in pedido.ListaDePedidos)
            {
                foreach (Producto item2 in Tienda.inventario.ListaProductos)
                {
                    if (item2 == item)
                    {
                        item2.Stock++;
                        loEncontro = true;
                        break;
                    }
                }
                if (!(loEncontro))
                {
                    item.Stock = 1;
                }
                bool pudo = Tienda.inventario.ListaProductos + item;
            }
            Tienda.VaciarCarrito();
        }
示例#4
0
        /// <summary>
        /// El metodo estatico QuitarDelCarrito controlara cada vez
        /// que se quiera quitar un producto a un pedido. y actualizara
        /// el stock del producto y si este producto no se encontrara en el
        /// listado de productos del inventario por quedarse sin stock se lo
        /// reincorporara al mismo.
        /// </summary>
        /// <param name="p"></param>
        /// <returns></returns>
        public static bool QuitarDelCarrito(Producto p)
        {
            Producto p2;

            p.Stock++;
            if (Tienda.carrito == p)
            {
                if (Tienda.carrito - p)
                {
                    //busca si Producto p fue quitado del inventario x falta
                    //de stock si es asi, cuando lo saca del carrito lo agrega al inventario

                    p2 = Tienda.BuscarProducto(Tienda.inventario.ListaProductos,
                                               p.Descripcion, p.TipoAmbitoH, p.TipoUsuarioH);
                    if (p2 is null)
                    {
                        Tienda.AgregarProducto(Tienda.Inventario.ListaProductos, p);
                    }

                    return(true);
                }
            }
            return(false);
        }
示例#5
0
        /// <summary>
        /// Metodo estatico que harcodea datos para poder realizar pruebas con
        /// datos cargados de antemano
        /// </summary>
        static void HardCored()
        {
            //Se crean 7 objetos productos de 3 Derivadas (Buloneria - HerramientasElectricas - MaterialesElectricos)

            Producto clavo = new Buloneria(1, "Clavo Zincado x 100u", 275, 1, TipoAmbito.Hogar, TipoUsuario.Principiante,
                                           1.0f, 1.0f, Buloneria.TipoRosca.NoTiene);
            Producto bulon = new Buloneria(2, "Bulon Acero x 100u", 380, 15, TipoAmbito.Hogar, TipoUsuario.Principiante,
                                           1.5f, 3.0f, Buloneria.TipoRosca.PasoGrueso);
            Producto bulonBronce = new Buloneria(3, "Bulon Bronce x 100u", 425, 12, TipoAmbito.Hogar, TipoUsuario.Principiante,
                                                 2.0f, 2.5f, Buloneria.TipoRosca.PasoFino);

            Producto amoladora = new HerramientasElectricas(4, "Amoladora Gama", 1500, 5, TipoAmbito.Hogar,
                                                            TipoUsuario.Principiante, 1, HerramientasElectricas.TipoManual.ManualMoladora);
            Producto taladro = new HerramientasElectricas(5, "Taladro Percutor", 2500, 12, TipoAmbito.Profesional,
                                                          TipoUsuario.Experimentado, 1, HerramientasElectricas.TipoManual.ManualTaladro);


            Producto apliquePared = new MaterialesElectricos(6, "Aplique pared 3 lamparas", 500, 3, TipoAmbito.Hogar,
                                                             TipoUsuario.Experimentado, "China", true, 220);
            Producto alargue = new MaterialesElectricos(7, "Alargue 25 mts", 280, 30, TipoAmbito.Hogar,
                                                        TipoUsuario.Principiante, "China", false, 220);


            //utilizando el metodo static AgregarProducto - se cargan los productos a la lista productos del inventario

            Tienda.AgregarProducto(Tienda.inventario.ListaProductos, clavo);
            Tienda.AgregarProducto(Tienda.inventario.ListaProductos, bulon);
            Tienda.AgregarProducto(Tienda.inventario.ListaProductos, bulonBronce);
            Tienda.AgregarProducto(Tienda.inventario.ListaProductos, amoladora);
            Tienda.AgregarProducto(Tienda.inventario.ListaProductos, taladro);
            Tienda.AgregarProducto(Tienda.inventario.ListaProductos, apliquePared);
            Tienda.AgregarProducto(Tienda.inventario.ListaProductos, alargue);

            //utilizando el metodo static AgregarProducto - se cargan los productos a la lista de Productos

            Tienda.AgregarProducto(Tienda.productosGral, clavo);
            Tienda.AgregarProducto(Tienda.productosGral, bulon);
            Tienda.AgregarProducto(Tienda.productosGral, bulonBronce);
            Tienda.AgregarProducto(Tienda.productosGral, amoladora);
            Tienda.AgregarProducto(Tienda.productosGral, taladro);
            Tienda.AgregarProducto(Tienda.productosGral, apliquePared);
            Tienda.AgregarProducto(Tienda.productosGral, alargue);

            //se crea el carrito del tipo Pedido - se cargan tres carritos y se incorporan al inventario a la lista de pedidos
            Pedido Carrito = new Pedido();

            bool pudo = (carrito + clavo);

            pudo = (carrito + bulon);
            pudo = (carrito + bulonBronce);

            Tienda.inventario = Tienda.inventario + carrito;
            //---------------------------------------------------------
            //---------------------------------------------------------
            Tienda.VaciarCarrito();

            pudo = (carrito + amoladora);
            pudo = (carrito + taladro);

            Tienda.inventario = Tienda.inventario + carrito;
            //---------------------------------------------------------
            Tienda.VaciarCarrito();

            pudo = (carrito + apliquePared);
            pudo = (carrito + alargue);

            Tienda.inventario = Tienda.inventario + carrito;

            Tienda.VaciarCarrito();
        }