← Volver a Common.Constants

ValidationConstants

Constantes y validadores centralizados para valores permitidos en el sistema

📊 Descripción General

La clase ValidationConstants contiene las constantes y validadores centralizados utilizados en todo el sistema RestMaster. Esta clase proporciona conjuntos de valores válidos para diferentes aspectos del sistema, garantizando consistencia y validación confiable.

🎯 Propósito de la Clase

  • Centralización: Centralizar valores válidos del sistema
  • Validación: Proporcionar validadores confiables
  • Consistencia: Garantizar consistencia en validaciones
  • Mantenibilidad: Facilitar el mantenimiento de valores válidos

📋 Propiedades de Validación

TiposDocumento

HashSet<string>
Conjunto de tipos de documento válidos en el sistema
Valores:
  • F: Factura
  • A: Abono

EstadosMesa

HashSet<string>
Conjunto de estados válidos para las mesas del restaurante
Valores:
  • D: Disponible
  • E: En uso
  • F: Finalizada
  • R: Reservada

FormasPago

HashSet<string>
Conjunto de formas de pago válidas en el sistema
Valores:
  • Efectivo: Pago en efectivo
  • Tarjeta / Cheque: Pago con tarjeta o cheque
  • Crédito: Pago a crédito

💡 Ejemplo de Uso

// Validar tipo de documento if (ValidationConstants.TiposDocumento.Contains(tipoDocumento)) { // Tipo de documento válido } // Validar estado de mesa if (ValidationConstants.EstadosMesa.Contains(estadoMesa)) { // Estado de mesa válido } // Validar forma de pago if (ValidationConstants.FormasPago.Contains(formaPago)) { // Forma de pago válida }

🔍 Tipos de Validación

📄 Validación de Documentos

  • Facturas (F): Documentos de venta principales
  • Abonos (A): Documentos de devolución o descuento
  • Uso: Validación en creación y modificación de documentos
  • Contexto: Facturación y contabilidad

🪑 Validación de Estados de Mesa

  • Disponible (D): Mesa libre para nuevos clientes
  • En uso (E): Mesa ocupada con clientes
  • Finalizada (F): Mesa con comanda finalizada
  • Reservada (R): Mesa reservada para fecha futura

💰 Validación de Formas de Pago

  • Efectivo: Pago directo en efectivo
  • Tarjeta / Cheque: Pago con tarjeta de crédito/débito o cheque
  • Crédito: Pago diferido o a crédito

🔗 Casos de Uso

🎯 Escenarios de Uso

  • Validación de Entrada: Validar parámetros de entrada en APIs
  • Validación de Formularios: Validar datos de formularios
  • Validación de Base de Datos: Validar antes de guardar en BD
  • Validación de Negocio: Validar reglas de negocio

📊 Beneficios

  • Consistencia: Valores consistentes en todo el sistema
  • Mantenibilidad: Fácil actualización de valores válidos
  • Rendimiento: Validación eficiente con HashSet
  • Extensibilidad: Fácil agregar nuevos valores válidos

🔗 Integración con Otros Componentes

📚 Componentes Relacionados

  • Back.API: Validación de parámetros de controladores
  • Back.Application: Validación en servicios de aplicación
  • Back.Domain: Validación en DTOs y modelos
  • Validators: Validadores de FluentValidation
  • Middleware: Validación en middleware de entrada

🎯 Aplicaciones Específicas

  • InvoiceController: Validación de tipos de documento
  • TableManagerController: Validación de estados de mesa
  • CajaController: Validación de formas de pago
  • DTOs: Validación en objetos de transferencia