← Volver a Entidades de Sistema

UltimoConsecutivo

Entidad para control del último consecutivo global del sistema

📊 Descripción General

La entidad UltimoConsecutivo representa el control del último consecutivo global utilizado en el sistema RestMaster. Esta entidad mantiene un contador único que se utiliza para generar números consecutivos en diferentes partes del sistema.

🎯 Propósito de la Entidad

  • Contador Global: Último consecutivo del sistema
  • Numeración Única: Generación de números únicos
  • Control Centralizado: Gestión centralizada de consecutivos
  • Sincronización: Control de concurrencia global
  • Auditoría: Trazabilidad de numeración

📋 Propiedades de la Entidad

Numero

double
Número del último consecutivo generado (clave primaria)

🔗 Relaciones con Otras Entidades

⚙️ Entidades de Sistema

  • Secuencia: Secuencias relacionadas
  • UltimaFactura: Última factura generada
  • UltimoPedido: Último pedido generado

🎯 Funcionalidades Relacionadas

  • Numeración Global: Control de consecutivos
  • Generación Única: Números únicos
  • Sincronización: Control de concurrencia
  • Auditoría: Trazabilidad

💡 Ejemplo de Uso

// Crear control de último consecutivo var ultimoConsecutivo = new UltimoConsecutivo { Numero = 1000 }; // Obtener último consecutivo var ultimoConsecutivoActual = context.UltimoConsecutivos .FirstOrDefault(); if (ultimoConsecutivoActual != null) { var siguienteConsecutivo = ultimoConsecutivoActual.Numero + 1; ultimoConsecutivoActual.Numero = siguienteConsecutivo; context.SaveChanges(); } // Consultar último consecutivo var consecutivo = context.UltimoConsecutivos .FirstOrDefault(); if (consecutivo != null) { Console.WriteLine($"Último consecutivo: {consecutivo.Numero}"); } // Reiniciar consecutivo var consecutivoActual = context.UltimoConsecutivos .FirstOrDefault(); if (consecutivoActual != null) { consecutivoActual.Numero = 1; context.SaveChanges(); } // Verificar si existe consecutivo var existeConsecutivo = context.UltimoConsecutivos .Any(); if (!existeConsecutivo) { var nuevoConsecutivo = new UltimoConsecutivo { Numero = 1 }; context.UltimoConsecutivos.Add(nuevoConsecutivo); context.SaveChanges(); } // Obtener siguiente número consecutivo var consecutivoSiguiente = context.UltimoConsecutivos .FirstOrDefault(); if (consecutivoSiguiente != null) { var siguiente = consecutivoSiguiente.Numero + 1; // Usar el número para algún propósito específico Console.WriteLine($"Siguiente consecutivo: {siguiente}"); }

🔧 Configuración de Base de Datos

🗄️ Configuración de Tabla

  • Tabla: ULTIMO_CONSECUTIVO
  • Clave Primaria: NUMERO
  • Esquema: Maestro

🔑 Restricciones

  • Numero: Clave primaria, valor requerido
  • Tipo: double (número de punto flotante)
  • Unicidad: Valor único en la tabla

🔗 Integración con Otros Componentes

📚 Componentes Relacionados

  • Back.API: Controladores que usan consecutivos
  • Back.Application: Servicios de consecutivos
  • Back.Domain: DTOs de consecutivos
  • Common.Constants: Validaciones de consecutivos

🎯 Casos de Uso

  • Numeración Global: Control de consecutivos
  • Generación Única: Números únicos
  • Sincronización: Control de concurrencia
  • Auditoría: Trazabilidad
  • Reportes: Análisis de consecutivos
  • Backup: Respaldo de consecutivos