/// <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); }
/// <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); }
/// <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(); }
/// <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); }
/// <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(); }