public static void QuitarProductoCarrito(string descripcion) { ArticuloCompra auxArt = compraEnCurso.Productos.Find(x => x.Producto.Equals(descripcion)); compraEnCurso.Productos.Remove(auxArt); compraEnCurso.PrecioTotal -= auxArt.PrecioFinal; }
/// <summary> /// Busca un ArticuloCompra en una lista teniendo en cuenta su ID. /// </summary> /// <param name="lista"></param> /// <param name="id"></param> /// <returns>Retorna la Indumentaria en caso de encontrarlo. Caso contrario retorna null</returns> public static ArticuloCompra <Producto> FindArticuloInList(this List <ArticuloCompra <Producto> > lista, int id) { ArticuloCompra <Producto> auxArt = null; if (lista.Exists(x => x.IdProducto == id)) { auxArt = lista.Find(x => x.IdProducto == id); } return(auxArt); }
/// <summary> /// Agrega un artículo a la lista de ArticuloCompra de la Compra, sumando su valor al precioTotal. /// </summary> /// <param name="articuloCompra"></param> public void AgregarArticulo(ArticuloCompra <T> articuloCompra) { precioTotal += articuloCompra.PrecioFinal; if (Productos.Exists(x => x.IdProducto == articuloCompra.IdProducto)) { ArticuloCompra <T> auxArt = Productos.Find(x => x.IdProducto == articuloCompra.IdProducto); auxArt.Cantidad += articuloCompra.Cantidad; auxArt.PrecioFinal = auxArt.Cantidad * auxArt.PrecioUnitario; } else { productos.Add(articuloCompra); } }
public void AgregarArticulo(ArticuloCompra articuloCompra) { precioTotal += articuloCompra.PrecioFinal; if (Productos.Exists(x => x.Producto.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase))) { ArticuloCompra auxArt = Productos.Find(x => x.Producto.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase)); auxArt.Cantidad += articuloCompra.Cantidad; auxArt.PrecioFinal = auxArt.Cantidad * auxArt.PrecioUnitario; } else { productos.Add(articuloCompra); } }
/// <summary> /// Agrega el ArticuloCompra que recibe por parametro, el cual contiene un alimento, a la lista de Articulos de la compra en curso. En caso de que se repita, solo agrega la cantidad seleccionada. /// </summary> /// <param name="articuloCompra"></param> /// <returns>Retorna True EXITO. En caso contrario False.</returns> public static bool AgregarAlimentoAlCarrito(ArticuloCompra <Producto> articuloCompra) { if (CompraEnCurso.Productos.Exists(x => x.Producto.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase))) { if (listaAlimentos.Find(x => x.Descripcion.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase)).Stock >= (articuloCompra.Cantidad + CompraEnCurso.Productos.Find(x => x.Producto.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase)).Cantidad)) { compraEnCurso.AgregarArticulo(articuloCompra); return(true); } } else { if (listaAlimentos.Find(x => x.Descripcion.Equals(articuloCompra.Producto, StringComparison.OrdinalIgnoreCase)).Stock >= articuloCompra.Cantidad) { compraEnCurso.AgregarArticulo(articuloCompra); return(true); } } return(false); }
/// <summary> /// Agrega el ArticuloCompra que recibe por parametro, el cual contiene una Indumentaria, a la lista de Articulos de la compra en curso. En caso de que se repita, solo agrega la cantidad seleccionada. /// </summary> /// <param name="articuloCompra"></param> /// <returns>Retorna True EXITO. En caso contrario False.</returns> public static bool AgregarIndumentariaAlCarrito(ArticuloCompra <Producto> articuloCompra) { if (CompraEnCurso.Productos.ExistsArticuloInList(articuloCompra.IdProducto)) { if (listaIndumentaria.FindIndumentariaInList(articuloCompra.IdProducto).Stock >= (articuloCompra.Cantidad + CompraEnCurso.Productos.FindArticuloInList(articuloCompra.IdProducto).Cantidad)) { compraEnCurso.AgregarArticulo(articuloCompra); return(true); } } else { if (listaIndumentaria.FindIndumentariaInList(articuloCompra.IdProducto).Stock >= articuloCompra.Cantidad) { compraEnCurso.AgregarArticulo(articuloCompra); return(true); } } return(false); }