← Volver a Common.Domain.StoreData

Estructura del Proyecto

Organización y arquitectura de Common.Domain.StoreData

📁 Estructura de Directorios

🗂️ Organización del Proyecto

Common.Domain.StoreData/
├── Models/
│   ├── StoreDataContext.cs              # Contexto principal de Entity Framework
│   ├── StoreDataContextProcedures.cs    # Procedimientos almacenados
│   ├── IStoreDataContextProcedures.cs   # Interfaz de procedimientos
│   ├── DbContextExtensions.cs           # Extensiones del contexto
│   │
│   ├── Factura.cs                       # Entidad principal de facturas
│   ├── FacturaLinea.cs                  # Líneas de factura
│   ├── FacturaLineaAnuladum.cs          # Líneas de factura anuladas
│   ├── FacturaLineaModificador.cs       # Modificadores de líneas
│   ├── FacturaIva.cs                    # IVA de facturas
│   ├── FacturaPrepago.cs                # Facturas prepago
│   ├── FacturasCobro.cs                 # Cobros de facturas
│   ├── VentaCosto.cs                    # Costos de venta
│   │
│   ├── Cierre.cs                        # Cierres de caja
│   ├── CierresDesglose.cs               # Desgloses de cierre
│   ├── ESCaja.cs                        # Apuntes de caja
│   │
│   ├── ConsumoCosto.cs                  # Costos de consumo
│   ├── ConsumoPersonal.cs               # Consumo de personal
│   │
│   ├── Merma.cs                         # Mermas del sistema
│   ├── MermasCosto.cs                   # Costos de mermas
│   │
│   ├── MesasCabeceraAnuladum.cs         # Cabeceras de mesas anuladas
│   ├── MesasLineasAnulada.cs            # Líneas de mesas anuladas
│   │
│   ├── Permiso.cs                       # Permisos del sistema
│   └── Reposicione.cs                   # Reposiciones
│
├── Common.Domain.StoreData.csproj       # Archivo de proyecto
├── bin/                                 # Archivos compilados
└── obj/                                 # Archivos temporales
                

🏗️ Arquitectura del Proyecto

🎯 Patrón de Diseño

  • Entity Framework Core: ORM para acceso a datos
  • Code First: Generación de entidades desde código
  • Repository Pattern: Patrón de repositorio implícito
  • Unit of Work: Patrón de unidad de trabajo

🔧 Tecnologías Utilizadas

  • .NET 6+: Framework de desarrollo
  • Entity Framework Core: ORM para SQL Server
  • SQL Server: Base de datos principal
  • Code Generation: Generación automática de código

📊 Estadísticas del Proyecto

20
Entidades
5
Categorías
179
Líneas Context
72
Líneas Procedures

🔗 Relaciones entre Entidades

📦 Entidades de Facturación

  • Factura: Entidad principal de facturas
  • FacturaLinea: Líneas relacionadas con Factura
  • FacturaLineaAnuladum: Líneas anuladas
  • FacturaLineaModificador: Modificadores de líneas
  • FacturaIva: IVA relacionado con Factura
  • FacturaPrepago: Facturas prepago
  • FacturasCobro: Cobros de facturas
  • VentaCosto: Costos de venta

💰 Entidades de Caja

  • Cierre: Cierres de caja por fecha
  • CierresDesglose: Desgloses relacionados con Cierre
  • ESCaja: Apuntes de caja independientes

📊 Entidades de Consumo y Mermas

  • ConsumoCosto: Costos de consumo por fecha
  • ConsumoPersonal: Consumo de personal
  • Merma: Mermas por fecha
  • MermasCosto: Costos de mermas

🔧 Configuración de Base de Datos

🗄️ Configuración del Contexto

  • Proveedor: SQL Server
  • Compatibilidad: Nivel 120
  • Logging: Habilitado para desarrollo
  • Connection String: Configuración estática

🔑 Configuración de Claves Primarias

  • Claves Compuestas: Múltiples campos como clave
  • Índices: Configurados automáticamente
  • Relaciones: Definidas en OnModelCreating

🎯 Casos de Uso Principales

📋 Funcionalidades del Sistema

  • Facturación: Generación y almacenamiento de facturas
  • Control de Caja: Cierres y desgloses de caja
  • Análisis de Costos: Control de mermas y consumos
  • Auditoría: Registros históricos completos
  • Reportes: Informes basados en datos históricos
  • Backup: Respaldo de datos críticos

🔍 Operaciones Principales

  • CRUD: Operaciones básicas de datos
  • Queries: Consultas complejas con Entity Framework
  • Migrations: Migraciones de base de datos
  • Procedures: Procedimientos almacenados