Class GestionDescuentos
java.lang.Object
model.control.GestionDescuentos
Clase que gestiona la aplicacion de descuentos en el sistema.
Permite aplicar descuentos por categoria, descuentos especiales
por tipo de articulo, descuentos por cantidad y activar temporadas
promocionales.
- Version:
- 1.0
- Author:
- ISC Israel de Jesus Mar Parada
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactivarTemporada(String temporada) Activa una temporada de descuentos.voidAplicarDescuentoCategoria(Categoria categoria, BigDecimal porcentaje) Aplica un descuento a todos los articulos de una categoria.AplicarDescuentoEspecial(Articulo articulo) Aplica un descuento especial a un articulo segun su tipo.CalcularDescuentoPorCantidad(int cantidad) Calcula el descuento por cantidad de unidades compradas.voidsetDescuentosActivos(List<String> descuentosActivos) voidsetTemporadaDescuentos(String temporadaDescuentos)
-
Constructor Details
-
GestionDescuentos
public GestionDescuentos()Constructor de la gestion de descuentos. Inicializa la lista de descuentos activos como vacia y la temporada como "NINGUNA".
-
-
Method Details
-
AplicarDescuentoCategoria
Aplica un descuento a todos los articulos de una categoria.- Parameters:
categoria- Categoria a la que aplicar el descuentoporcentaje- Porcentaje de descuento (ej: 0.15 = 15%)
-
AplicarDescuentoEspecial
Aplica un descuento especial a un articulo segun su tipo. Utiliza los metodos especificos de cada subclase: - ArticuloLibreria: descuento por peso - ArticuloOficina: descuento por volumen - ArticuloEscolar: descuento por temporada- Parameters:
articulo- Articulo a evaluar- Returns:
- Porcentaje de descuento aplicado
-
CalcularDescuentoPorCantidad
Calcula el descuento por cantidad de unidades compradas. Escala de descuentos: - 10+ unidades: 5% - 20+ unidades: 10% - 50+ unidades: 15% - 100+ unidades: 20%- Parameters:
cantidad- Cantidad de unidades- Returns:
- Porcentaje de descuento aplicable
-
activarTemporada
Activa una temporada de descuentos. Aplica descuentos predefinidos segun la temporada: - VUELTA A CLASES: 15% en categoria ESCOLAR - NAVIDAD: 10% en categoria OFICINA- Parameters:
temporada- Nombre de la temporada
-
getDescuentosActivos
-
setDescuentosActivos
-
getTemporadaDescuentos
- Returns:
- Temporada de descuentos actual
-
setTemporadaDescuentos
- Parameters:
temporadaDescuentos- Nueva temporada
-