Class Menu

java.lang.Object
model.Menu

public class Menu extends Object
Clase que representa el menu del restaurante/cafeteria. Gestiona la coleccion de productos disponibles, permitiendo agregar, eliminar, buscar por ID o categoria, listar productos disponibles y actualizar precios masivamente.
Version:
1.0
Author:
ISC Israel de Jesus Mar Parada
See Also:
  • Constructor Details

    • Menu

      public Menu(String nombreMenu)
      Constructor para crear un nuevo menu. Inicializa la lista de productos como vacia y establece la fecha de actualizacion como la fecha actual.
      Parameters:
      nombreMenu - Nombre identificador del menu
  • Method Details

    • AgregarProducto

      public void AgregarProducto(Producto producto)
      Agrega un producto al menu. No permite duplicados. Actualiza la fecha de modificacion.
      Parameters:
      producto - Producto a agregar al menu
    • EliminarProducto

      public boolean EliminarProducto(int idProducto)
      Elimina un producto del menu por su ID. Actualiza la fecha de modificacion si se elimina exitosamente.
      Parameters:
      idProducto - Identificador del producto a eliminar
      Returns:
      true si el producto fue eliminado, false si no existia
    • BuscarProductoPorId

      public Producto BuscarProductoPorId(int id)
      Busca un producto por su identificador unico.
      Parameters:
      id - Identificador del producto
      Returns:
      Producto encontrado o null si no existe
    • BuscarProductosPorCategoria

      public List<Producto> BuscarProductosPorCategoria(String categoria)
      Busca productos por categoria (Bebida, Comida, Postre, Combo).
      Parameters:
      categoria - Tipo de producto a filtrar
      Returns:
      Lista de productos que pertenecen a la categoria especificada
    • BuscarProductosDisponibles

      public List<Producto> BuscarProductosDisponibles()
      Obtiene todos los productos que estan actualmente disponibles.
      Returns:
      Lista de productos con disponibilidad true
    • ActualizarPrecios

      public void ActualizarPrecios(double porcentaje)
      Actualiza los precios de todos los productos del menu por un porcentaje.
      Parameters:
      porcentaje - Porcentaje de aumento (positivo) o descuento (negativo)
    • getNombreMenu

      public String getNombreMenu()
      Returns:
      Nombre del menu
    • setNombreMenu

      public void setNombreMenu(String nombreMenu)
      Parameters:
      nombreMenu - Nuevo nombre del menu
    • getListaProductos

      public List<Producto> getListaProductos()
      Returns:
      Lista completa de productos del menu
    • setListaProductos

      public void setListaProductos(List<Producto> listaProductos)
      Parameters:
      listaProductos - Nueva lista de productos
    • getFechaActualizacion

      public LocalDateTime getFechaActualizacion()
      Returns:
      Fecha de la ultima actualizacion
    • setFechaActualizacion

      public void setFechaActualizacion(LocalDateTime fechaActualizacion)
      Parameters:
      fechaActualizacion - Nueva fecha de actualizacion
    • getCategoriaDestacada

      public String getCategoriaDestacada()
      Returns:
      Categoria destacada del menu
    • setCategoriaDestacada

      public void setCategoriaDestacada(String categoriaDestacada)
      Parameters:
      categoriaDestacada - Nueva categoria destacada