// using System; using Apollinare.Infrastructure.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace Apollinare.Infrastructure.Migrations { [DbContext(typeof(AppollinareDbContext))] [Migration("20251129134709_InitialCreate")] partial class InitialCreate { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "9.0.0"); modelBuilder.Entity("Apollinare.Domain.Entities.AppModule", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("BasePrice") .HasPrecision(18, 2) .HasColumnType("TEXT"); b.Property("Code") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Dependencies") .HasColumnType("TEXT"); b.Property("Description") .HasColumnType("TEXT"); b.Property("Icon") .HasColumnType("TEXT"); b.Property("IsAvailable") .HasColumnType("INTEGER"); b.Property("IsCore") .HasColumnType("INTEGER"); b.Property("MonthlyMultiplier") .HasPrecision(5, 2) .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("RoutePath") .HasColumnType("TEXT"); b.Property("SortOrder") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Code") .IsUnique(); b.HasIndex("SortOrder"); b.ToTable("AppModules"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Articolo", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("CategoriaId") .HasColumnType("INTEGER"); b.Property("Codice") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .IsRequired() .HasColumnType("TEXT"); b.Property("Immagine") .HasColumnType("BLOB"); b.Property("MimeType") .HasColumnType("TEXT"); b.Property("Note") .HasColumnType("TEXT"); b.Property("QtaDisponibile") .HasColumnType("TEXT"); b.Property("QtaStdA") .HasColumnType("TEXT"); b.Property("QtaStdB") .HasColumnType("TEXT"); b.Property("QtaStdS") .HasColumnType("TEXT"); b.Property("TipoMaterialeId") .HasColumnType("INTEGER"); b.Property("UnitaMisura") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CategoriaId"); b.HasIndex("Codice") .IsUnique(); b.HasIndex("TipoMaterialeId"); b.ToTable("Articoli"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Cliente", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Cap") .HasColumnType("TEXT"); b.Property("Citta") .HasColumnType("TEXT"); b.Property("CodiceDestinatario") .HasColumnType("TEXT"); b.Property("CodiceFiscale") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Email") .HasColumnType("TEXT"); b.Property("Indirizzo") .HasColumnType("TEXT"); b.Property("Note") .HasColumnType("TEXT"); b.Property("PartitaIva") .HasColumnType("TEXT"); b.Property("Pec") .HasColumnType("TEXT"); b.Property("Provincia") .HasColumnType("TEXT"); b.Property("RagioneSociale") .IsRequired() .HasColumnType("TEXT"); b.Property("Telefono") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("PartitaIva"); b.HasIndex("RagioneSociale"); b.ToTable("Clienti"); }); modelBuilder.Entity("Apollinare.Domain.Entities.CodiceCategoria", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Codice") .IsRequired() .HasColumnType("TEXT"); b.Property("CoeffA") .HasColumnType("TEXT"); b.Property("CoeffB") .HasColumnType("TEXT"); b.Property("CoeffS") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("CodiciCategoria"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Configurazione", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Chiave") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("Valore") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Chiave") .IsUnique(); b.ToTable("Configurazioni"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Evento", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ClienteId") .HasColumnType("INTEGER"); b.Property("Codice") .HasColumnType("TEXT"); b.Property("Confermato") .HasColumnType("INTEGER"); b.Property("CostoPersona") .HasColumnType("TEXT"); b.Property("CostoTotale") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("DataEvento") .HasColumnType("TEXT"); b.Property("DataScadenzaPreventivo") .HasColumnType("TEXT"); b.Property("Descrizione") .HasColumnType("TEXT"); b.Property("LocationId") .HasColumnType("INTEGER"); b.Property("NoteAllestimento") .HasColumnType("TEXT"); b.Property("NoteCliente") .HasColumnType("TEXT"); b.Property("NoteCucina") .HasColumnType("TEXT"); b.Property("NoteInterne") .HasColumnType("TEXT"); b.Property("NumeroOspiti") .HasColumnType("INTEGER"); b.Property("NumeroOspitiAdulti") .HasColumnType("INTEGER"); b.Property("NumeroOspitiBambini") .HasColumnType("INTEGER"); b.Property("NumeroOspitiBuffet") .HasColumnType("INTEGER"); b.Property("NumeroOspitiSeduti") .HasColumnType("INTEGER"); b.Property("OraFine") .HasColumnType("TEXT"); b.Property("OraInizio") .HasColumnType("TEXT"); b.Property("Saldo") .HasColumnType("TEXT"); b.Property("Stato") .HasColumnType("INTEGER"); b.Property("TipoEventoId") .HasColumnType("INTEGER"); b.Property("TotaleAcconti") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ClienteId"); b.HasIndex("Codice"); b.HasIndex("DataEvento"); b.HasIndex("LocationId"); b.HasIndex("Stato"); b.HasIndex("TipoEventoId"); b.ToTable("Eventi"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoAcconto", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AConferma") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("DataPagamento") .HasColumnType("TEXT"); b.Property("Descrizione") .HasColumnType("TEXT"); b.Property("EventoId") .HasColumnType("INTEGER"); b.Property("Importo") .HasColumnType("TEXT"); b.Property("MetodoPagamento") .HasColumnType("TEXT"); b.Property("Note") .HasColumnType("TEXT"); b.Property("Ordine") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("EventoId"); b.ToTable("EventiAcconti"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoAllegato", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Contenuto") .HasColumnType("BLOB"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("EventoId") .HasColumnType("INTEGER"); b.Property("MimeType") .HasColumnType("TEXT"); b.Property("NomeFile") .IsRequired() .HasColumnType("TEXT"); b.Property("Note") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("EventoId"); b.ToTable("EventiAllegati"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoAltroCosto", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AliquotaIva") .HasColumnType("TEXT"); b.Property("ApplicaIva") .HasColumnType("INTEGER"); b.Property("CostoUnitario") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .IsRequired() .HasColumnType("TEXT"); b.Property("EventoId") .HasColumnType("INTEGER"); b.Property("Ordine") .HasColumnType("INTEGER"); b.Property("Quantita") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("EventoId"); b.ToTable("EventiAltriCosti"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoDegustazione", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Completata") .HasColumnType("INTEGER"); b.Property("CostoDegustazione") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("DataDegustazione") .HasColumnType("TEXT"); b.Property("Detraibile") .HasColumnType("INTEGER"); b.Property("EventoId") .HasColumnType("INTEGER"); b.Property("Luogo") .HasColumnType("TEXT"); b.Property("Menu") .HasColumnType("TEXT"); b.Property("Note") .HasColumnType("TEXT"); b.Property("NumeroPaganti") .HasColumnType("INTEGER"); b.Property("NumeroPersone") .HasColumnType("INTEGER"); b.Property("Ora") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("EventoId"); b.ToTable("EventiDegustazioni"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoDettaglioOspiti", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CostoUnitario") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("EventoId") .HasColumnType("INTEGER"); b.Property("Note") .HasColumnType("TEXT"); b.Property("Numero") .HasColumnType("INTEGER"); b.Property("Ordine") .HasColumnType("INTEGER"); b.Property("Sconto") .HasColumnType("TEXT"); b.Property("TipoOspiteId") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("EventoId"); b.HasIndex("TipoOspiteId"); b.ToTable("EventiDettaglioOspiti"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoDettaglioPrelievo", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ArticoloId") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("EventoId") .HasColumnType("INTEGER"); b.Property("Note") .HasColumnType("TEXT"); b.Property("QtaCalcolata") .HasColumnType("TEXT"); b.Property("QtaEffettiva") .HasColumnType("TEXT"); b.Property("QtaRichiesta") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ArticoloId"); b.HasIndex("EventoId"); b.ToTable("EventiDettaglioPrelievo"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoDettaglioRisorsa", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Costo") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("EventoId") .HasColumnType("INTEGER"); b.Property("Note") .HasColumnType("TEXT"); b.Property("OraFine") .HasColumnType("TEXT"); b.Property("OraInizio") .HasColumnType("TEXT"); b.Property("OreLavoro") .HasColumnType("TEXT"); b.Property("RisorsaId") .HasColumnType("INTEGER"); b.Property("Ruolo") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("EventoId"); b.HasIndex("RisorsaId"); b.ToTable("EventiDettaglioRisorse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Location", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Cap") .HasColumnType("TEXT"); b.Property("Citta") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("DistanzaKm") .HasColumnType("TEXT"); b.Property("Email") .HasColumnType("TEXT"); b.Property("Indirizzo") .HasColumnType("TEXT"); b.Property("Nome") .IsRequired() .HasColumnType("TEXT"); b.Property("Note") .HasColumnType("TEXT"); b.Property("Provincia") .HasColumnType("TEXT"); b.Property("Referente") .HasColumnType("TEXT"); b.Property("Telefono") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Nome"); b.ToTable("Location"); }); modelBuilder.Entity("Apollinare.Domain.Entities.ModuleSubscription", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AutoRenew") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("EndDate") .HasColumnType("TEXT"); b.Property("IsEnabled") .HasColumnType("INTEGER"); b.Property("LastRenewalDate") .HasColumnType("TEXT"); b.Property("ModuleId") .HasColumnType("INTEGER"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("PaidPrice") .HasPrecision(18, 2) .HasColumnType("TEXT"); b.Property("StartDate") .HasColumnType("TEXT"); b.Property("SubscriptionType") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ModuleId") .IsUnique(); b.ToTable("ModuleSubscriptions"); }); modelBuilder.Entity("Apollinare.Domain.Entities.ReportFont", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("FileSize") .HasColumnType("INTEGER"); b.Property("FontData") .IsRequired() .HasColumnType("BLOB"); b.Property("FontFamily") .IsRequired() .HasColumnType("TEXT"); b.Property("FontStyle") .IsRequired() .HasColumnType("TEXT"); b.Property("MimeType") .IsRequired() .HasColumnType("TEXT"); b.Property("Nome") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("FontFamily"); b.ToTable("ReportFonts"); }); modelBuilder.Entity("Apollinare.Domain.Entities.ReportImage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Categoria") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("FileSize") .HasColumnType("INTEGER"); b.Property("Height") .HasColumnType("INTEGER"); b.Property("ImageData") .IsRequired() .HasColumnType("BLOB"); b.Property("MimeType") .IsRequired() .HasColumnType("TEXT"); b.Property("Nome") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("Width") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("Categoria"); b.ToTable("ReportImages"); }); modelBuilder.Entity("Apollinare.Domain.Entities.ReportTemplate", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Categoria") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .HasColumnType("TEXT"); b.Property("Nome") .IsRequired() .HasColumnType("TEXT"); b.Property("Orientation") .IsRequired() .HasColumnType("TEXT"); b.Property("PageSize") .IsRequired() .HasColumnType("TEXT"); b.Property("TemplateJson") .IsRequired() .HasColumnType("TEXT"); b.Property("Thumbnail") .HasColumnType("BLOB"); b.Property("ThumbnailMimeType") .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Categoria"); b.HasIndex("Nome"); b.ToTable("ReportTemplates"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Risorsa", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Cognome") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Email") .HasColumnType("TEXT"); b.Property("Nome") .IsRequired() .HasColumnType("TEXT"); b.Property("Note") .HasColumnType("TEXT"); b.Property("Telefono") .HasColumnType("TEXT"); b.Property("TipoRisorsaId") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("TipoRisorsaId"); b.ToTable("Risorse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoEvento", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Codice") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .IsRequired() .HasColumnType("TEXT"); b.Property("TipoPastoId") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("TipoPastoId"); b.ToTable("TipiEvento"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoMateriale", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Codice") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("TipiMateriale"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoOspite", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Codice") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("TipiOspite"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoPasto", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Codice") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("TipiPasto"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoRisorsa", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Codice") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("TipiRisorsa"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Utente", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Cognome") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Email") .HasColumnType("TEXT"); b.Property("Nome") .HasColumnType("TEXT"); b.Property("Ruolo") .HasColumnType("TEXT"); b.Property("SolaLettura") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("Username") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Username") .IsUnique(); b.ToTable("Utenti"); }); modelBuilder.Entity("Apollinare.Domain.Entities.VirtualDataset", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Attivo") .HasColumnType("INTEGER"); b.Property("Categoria") .IsRequired() .HasColumnType("TEXT"); b.Property("ConfigurationJson") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Descrizione") .HasColumnType("TEXT"); b.Property("DisplayName") .IsRequired() .HasColumnType("TEXT"); b.Property("Icon") .IsRequired() .HasColumnType("TEXT"); b.Property("Nome") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Categoria"); b.HasIndex("Nome") .IsUnique(); b.ToTable("VirtualDatasets"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.ArticleBarcode", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ArticleId") .HasColumnType("INTEGER"); b.Property("Barcode") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Description") .HasColumnType("TEXT"); b.Property("IsActive") .HasColumnType("INTEGER"); b.Property("IsPrimary") .HasColumnType("INTEGER"); b.Property("Quantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ArticleId"); b.HasIndex("Barcode") .IsUnique(); b.ToTable("ArticleBarcodes", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.ArticleBatch", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ArticleId") .HasColumnType("INTEGER"); b.Property("BatchNumber") .IsRequired() .HasColumnType("TEXT"); b.Property("Certifications") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("CurrentQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("ExpiryDate") .HasColumnType("TEXT"); b.Property("InitialQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("LastQualityCheckDate") .HasColumnType("TEXT"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("ProductionDate") .HasColumnType("TEXT"); b.Property("QualityStatus") .HasColumnType("INTEGER"); b.Property("ReservedQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("Status") .HasColumnType("INTEGER"); b.Property("SupplierBatch") .HasColumnType("TEXT"); b.Property("SupplierId") .HasColumnType("INTEGER"); b.Property("UnitCost") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ExpiryDate"); b.HasIndex("Status"); b.HasIndex("ArticleId", "BatchNumber") .IsUnique(); b.ToTable("ArticleBatches", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.ArticleSerial", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ArticleId") .HasColumnType("INTEGER"); b.Property("Attributes") .HasColumnType("TEXT"); b.Property("BatchId") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("CurrentWarehouseId") .HasColumnType("INTEGER"); b.Property("CustomerId") .HasColumnType("INTEGER"); b.Property("ManufacturerSerial") .HasColumnType("TEXT"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("ProductionDate") .HasColumnType("TEXT"); b.Property("SalesReference") .HasColumnType("TEXT"); b.Property("SerialNumber") .IsRequired() .HasColumnType("TEXT"); b.Property("SoldDate") .HasColumnType("TEXT"); b.Property("Status") .HasColumnType("INTEGER"); b.Property("SupplierId") .HasColumnType("INTEGER"); b.Property("UnitCost") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("WarrantyExpiryDate") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("BatchId"); b.HasIndex("CurrentWarehouseId"); b.HasIndex("Status"); b.HasIndex("ArticleId", "SerialNumber") .IsUnique(); b.ToTable("ArticleSerials", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.InventoryCount", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AdjustmentMovementId") .HasColumnType("INTEGER"); b.Property("CategoryId") .HasColumnType("INTEGER"); b.Property("Code") .IsRequired() .HasColumnType("TEXT"); b.Property("ConfirmedBy") .HasColumnType("TEXT"); b.Property("ConfirmedDate") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Description") .IsRequired() .HasColumnType("TEXT"); b.Property("EndDate") .HasColumnType("TEXT"); b.Property("InventoryDate") .HasColumnType("TEXT"); b.Property("NegativeDifferenceValue") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("PositiveDifferenceValue") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("StartDate") .HasColumnType("TEXT"); b.Property("Status") .HasColumnType("INTEGER"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("WarehouseId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("AdjustmentMovementId"); b.HasIndex("CategoryId"); b.HasIndex("Code") .IsUnique(); b.HasIndex("InventoryDate"); b.HasIndex("Status"); b.HasIndex("WarehouseId"); b.ToTable("InventoryCounts", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.InventoryCountLine", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ArticleId") .HasColumnType("INTEGER"); b.Property("BatchId") .HasColumnType("INTEGER"); b.Property("CountedAt") .HasColumnType("TEXT"); b.Property("CountedBy") .HasColumnType("TEXT"); b.Property("CountedQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("InventoryCountId") .HasColumnType("INTEGER"); b.Property("LocationCode") .HasColumnType("TEXT"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("SecondCountBy") .HasColumnType("TEXT"); b.Property("SecondCountQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("TheoreticalQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("UnitCost") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("WarehouseId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("ArticleId"); b.HasIndex("BatchId"); b.HasIndex("WarehouseId"); b.HasIndex("InventoryCountId", "ArticleId", "WarehouseId", "BatchId") .IsUnique(); b.ToTable("InventoryCountLines", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.MovementReason", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Code") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Description") .IsRequired() .HasColumnType("TEXT"); b.Property("IsActive") .HasColumnType("INTEGER"); b.Property("IsSystem") .HasColumnType("INTEGER"); b.Property("MovementType") .HasColumnType("INTEGER"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("RequiresExternalReference") .HasColumnType("INTEGER"); b.Property("RequiresValuation") .HasColumnType("INTEGER"); b.Property("SortOrder") .HasColumnType("INTEGER"); b.Property("StockSign") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("UpdatesAverageCost") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("Code") .IsUnique(); b.HasIndex("IsActive"); b.HasIndex("MovementType"); b.ToTable("MovementReasons", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockLevel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ArticleId") .HasColumnType("INTEGER"); b.Property("BatchId") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("LastInventoryDate") .HasColumnType("TEXT"); b.Property("LastMovementDate") .HasColumnType("TEXT"); b.Property("LocationCode") .HasColumnType("TEXT"); b.Property("OnOrderQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("Quantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("ReservedQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("StockValue") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("UnitCost") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("WarehouseId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("BatchId"); b.HasIndex("LocationCode"); b.HasIndex("WarehouseId"); b.HasIndex("ArticleId", "WarehouseId", "BatchId") .IsUnique(); b.ToTable("StockLevels", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockMovement", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ConfirmedBy") .HasColumnType("TEXT"); b.Property("ConfirmedDate") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("CustomerId") .HasColumnType("INTEGER"); b.Property("DestinationWarehouseId") .HasColumnType("INTEGER"); b.Property("DocumentNumber") .IsRequired() .HasColumnType("TEXT"); b.Property("ExternalDocumentType") .HasColumnType("INTEGER"); b.Property("ExternalReference") .HasColumnType("TEXT"); b.Property("MovementDate") .HasColumnType("TEXT"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("ReasonId") .HasColumnType("INTEGER"); b.Property("SourceWarehouseId") .HasColumnType("INTEGER"); b.Property("Status") .HasColumnType("INTEGER"); b.Property("SupplierId") .HasColumnType("INTEGER"); b.Property("TotalValue") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("DestinationWarehouseId"); b.HasIndex("DocumentNumber") .IsUnique(); b.HasIndex("ExternalReference"); b.HasIndex("MovementDate"); b.HasIndex("ReasonId"); b.HasIndex("SourceWarehouseId"); b.HasIndex("Status"); b.HasIndex("Type"); b.ToTable("StockMovements", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockMovementLine", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ArticleId") .HasColumnType("INTEGER"); b.Property("BatchId") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("DestinationLocationCode") .HasColumnType("TEXT"); b.Property("ExternalLineReference") .HasColumnType("TEXT"); b.Property("LineNumber") .HasColumnType("INTEGER"); b.Property("LineValue") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("MovementId") .HasColumnType("INTEGER"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("Quantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("SerialId") .HasColumnType("INTEGER"); b.Property("SourceLocationCode") .HasColumnType("TEXT"); b.Property("UnitCost") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("UnitOfMeasure") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ArticleId"); b.HasIndex("BatchId"); b.HasIndex("SerialId"); b.HasIndex("MovementId", "LineNumber") .IsUnique(); b.ToTable("StockMovementLines", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockValuation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ArticleId") .HasColumnType("INTEGER"); b.Property("ClosedBy") .HasColumnType("TEXT"); b.Property("ClosedDate") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("InboundQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("InboundValue") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("IsClosed") .HasColumnType("INTEGER"); b.Property("Method") .HasColumnType("INTEGER"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("OutboundQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("OutboundValue") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("Period") .HasColumnType("INTEGER"); b.Property("Quantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("TotalValue") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("UnitCost") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("ValuationDate") .HasColumnType("TEXT"); b.Property("WarehouseId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("ArticleId"); b.HasIndex("IsClosed"); b.HasIndex("ValuationDate"); b.HasIndex("WarehouseId"); b.HasIndex("Period", "ArticleId", "WarehouseId") .IsUnique(); b.ToTable("StockValuations", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockValuationLayer", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ArticleId") .HasColumnType("INTEGER"); b.Property("BatchId") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("IsExhausted") .HasColumnType("INTEGER"); b.Property("LayerDate") .HasColumnType("TEXT"); b.Property("OriginalQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("RemainingQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("SourceMovementId") .HasColumnType("INTEGER"); b.Property("UnitCost") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("WarehouseId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("BatchId"); b.HasIndex("IsExhausted"); b.HasIndex("SourceMovementId"); b.HasIndex("WarehouseId"); b.HasIndex("ArticleId", "WarehouseId", "LayerDate"); b.ToTable("StockValuationLayers", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Barcode") .HasColumnType("TEXT"); b.Property("BaseSellingPrice") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("CategoryId") .HasColumnType("INTEGER"); b.Property("Code") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Depth") .HasColumnType("TEXT"); b.Property("Description") .IsRequired() .HasColumnType("TEXT"); b.Property("ExpiryWarningDays") .HasColumnType("INTEGER"); b.Property("HasExpiry") .HasColumnType("INTEGER"); b.Property("Height") .HasColumnType("TEXT"); b.Property("Image") .HasColumnType("BLOB"); b.Property("ImageMimeType") .HasColumnType("TEXT"); b.Property("IsActive") .HasColumnType("INTEGER"); b.Property("IsBatchManaged") .HasColumnType("INTEGER"); b.Property("IsSerialManaged") .HasColumnType("INTEGER"); b.Property("LastPurchaseCost") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("LeadTimeDays") .HasColumnType("INTEGER"); b.Property("ManufacturerCode") .HasColumnType("TEXT"); b.Property("MaximumStock") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("MinimumStock") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("ReorderPoint") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("ReorderQuantity") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("SecondaryUnitOfMeasure") .HasColumnType("TEXT"); b.Property("ShortDescription") .HasColumnType("TEXT"); b.Property("StandardCost") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("StockManagement") .HasColumnType("INTEGER"); b.Property("UnitConversionFactor") .HasPrecision(18, 6) .HasColumnType("TEXT"); b.Property("UnitOfMeasure") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.Property("ValuationMethod") .HasColumnType("INTEGER"); b.Property("Volume") .HasPrecision(18, 6) .HasColumnType("TEXT"); b.Property("Weight") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("WeightedAverageCost") .HasPrecision(18, 4) .HasColumnType("TEXT"); b.Property("Width") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Barcode"); b.HasIndex("CategoryId"); b.HasIndex("Code") .IsUnique(); b.HasIndex("IsActive"); b.ToTable("WarehouseArticles", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.WarehouseArticleCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Code") .IsRequired() .HasColumnType("TEXT"); b.Property("Color") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("DefaultValuationMethod") .HasColumnType("INTEGER"); b.Property("Description") .HasColumnType("TEXT"); b.Property("FullPath") .HasColumnType("TEXT"); b.Property("Icon") .HasColumnType("TEXT"); b.Property("IsActive") .HasColumnType("INTEGER"); b.Property("Level") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("ParentCategoryId") .HasColumnType("INTEGER"); b.Property("SortOrder") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Code") .IsUnique(); b.HasIndex("FullPath"); b.HasIndex("ParentCategoryId"); b.ToTable("WarehouseArticleCategories", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.WarehouseLocation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Address") .HasColumnType("TEXT"); b.Property("City") .HasColumnType("TEXT"); b.Property("Code") .IsRequired() .HasColumnType("TEXT"); b.Property("Country") .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("TEXT"); b.Property("Description") .HasColumnType("TEXT"); b.Property("IsActive") .HasColumnType("INTEGER"); b.Property("IsDefault") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("PostalCode") .HasColumnType("TEXT"); b.Property("Province") .HasColumnType("TEXT"); b.Property("SortOrder") .HasColumnType("INTEGER"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("UpdatedBy") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Code") .IsUnique(); b.HasIndex("IsActive"); b.HasIndex("IsDefault"); b.ToTable("WarehouseLocations", (string)null); }); modelBuilder.Entity("Apollinare.Domain.Entities.Articolo", b => { b.HasOne("Apollinare.Domain.Entities.CodiceCategoria", "Categoria") .WithMany("Articoli") .HasForeignKey("CategoriaId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.TipoMateriale", "TipoMateriale") .WithMany("Articoli") .HasForeignKey("TipoMaterialeId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Categoria"); b.Navigation("TipoMateriale"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Evento", b => { b.HasOne("Apollinare.Domain.Entities.Cliente", "Cliente") .WithMany("Eventi") .HasForeignKey("ClienteId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.Location", "Location") .WithMany("Eventi") .HasForeignKey("LocationId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.TipoEvento", "TipoEvento") .WithMany("Eventi") .HasForeignKey("TipoEventoId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Cliente"); b.Navigation("Location"); b.Navigation("TipoEvento"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoAcconto", b => { b.HasOne("Apollinare.Domain.Entities.Evento", "Evento") .WithMany("Acconti") .HasForeignKey("EventoId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Evento"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoAllegato", b => { b.HasOne("Apollinare.Domain.Entities.Evento", "Evento") .WithMany("Allegati") .HasForeignKey("EventoId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Evento"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoAltroCosto", b => { b.HasOne("Apollinare.Domain.Entities.Evento", "Evento") .WithMany("AltriCosti") .HasForeignKey("EventoId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Evento"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoDegustazione", b => { b.HasOne("Apollinare.Domain.Entities.Evento", "Evento") .WithMany("Degustazioni") .HasForeignKey("EventoId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Evento"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoDettaglioOspiti", b => { b.HasOne("Apollinare.Domain.Entities.Evento", "Evento") .WithMany("DettagliOspiti") .HasForeignKey("EventoId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.TipoOspite", "TipoOspite") .WithMany("DettagliOspiti") .HasForeignKey("TipoOspiteId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Evento"); b.Navigation("TipoOspite"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoDettaglioPrelievo", b => { b.HasOne("Apollinare.Domain.Entities.Articolo", "Articolo") .WithMany("DettagliPrelievo") .HasForeignKey("ArticoloId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.Evento", "Evento") .WithMany("DettagliPrelievo") .HasForeignKey("EventoId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Articolo"); b.Navigation("Evento"); }); modelBuilder.Entity("Apollinare.Domain.Entities.EventoDettaglioRisorsa", b => { b.HasOne("Apollinare.Domain.Entities.Evento", "Evento") .WithMany("DettagliRisorse") .HasForeignKey("EventoId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.Risorsa", "Risorsa") .WithMany("DettagliRisorse") .HasForeignKey("RisorsaId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Evento"); b.Navigation("Risorsa"); }); modelBuilder.Entity("Apollinare.Domain.Entities.ModuleSubscription", b => { b.HasOne("Apollinare.Domain.Entities.AppModule", "Module") .WithOne("Subscription") .HasForeignKey("Apollinare.Domain.Entities.ModuleSubscription", "ModuleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Module"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Risorsa", b => { b.HasOne("Apollinare.Domain.Entities.TipoRisorsa", "TipoRisorsa") .WithMany("Risorse") .HasForeignKey("TipoRisorsaId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("TipoRisorsa"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoEvento", b => { b.HasOne("Apollinare.Domain.Entities.TipoPasto", "TipoPasto") .WithMany("TipiEvento") .HasForeignKey("TipoPastoId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("TipoPasto"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.ArticleBarcode", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", "Article") .WithMany("Barcodes") .HasForeignKey("ArticleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Article"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.ArticleBatch", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", "Article") .WithMany("Batches") .HasForeignKey("ArticleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Article"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.ArticleSerial", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", "Article") .WithMany("Serials") .HasForeignKey("ArticleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.Warehouse.ArticleBatch", "Batch") .WithMany("Serials") .HasForeignKey("BatchId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseLocation", "CurrentWarehouse") .WithMany() .HasForeignKey("CurrentWarehouseId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Article"); b.Navigation("Batch"); b.Navigation("CurrentWarehouse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.InventoryCount", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.StockMovement", "AdjustmentMovement") .WithMany() .HasForeignKey("AdjustmentMovementId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticleCategory", "Category") .WithMany() .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseLocation", "Warehouse") .WithMany() .HasForeignKey("WarehouseId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("AdjustmentMovement"); b.Navigation("Category"); b.Navigation("Warehouse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.InventoryCountLine", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", "Article") .WithMany() .HasForeignKey("ArticleId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.Warehouse.ArticleBatch", "Batch") .WithMany() .HasForeignKey("BatchId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.Warehouse.InventoryCount", "InventoryCount") .WithMany("Lines") .HasForeignKey("InventoryCountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseLocation", "Warehouse") .WithMany() .HasForeignKey("WarehouseId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Article"); b.Navigation("Batch"); b.Navigation("InventoryCount"); b.Navigation("Warehouse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockLevel", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", "Article") .WithMany("StockLevels") .HasForeignKey("ArticleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.Warehouse.ArticleBatch", "Batch") .WithMany("StockLevels") .HasForeignKey("BatchId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseLocation", "Warehouse") .WithMany("StockLevels") .HasForeignKey("WarehouseId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Article"); b.Navigation("Batch"); b.Navigation("Warehouse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockMovement", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseLocation", "DestinationWarehouse") .WithMany("DestinationMovements") .HasForeignKey("DestinationWarehouseId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("Apollinare.Domain.Entities.Warehouse.MovementReason", "Reason") .WithMany("Movements") .HasForeignKey("ReasonId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseLocation", "SourceWarehouse") .WithMany("SourceMovements") .HasForeignKey("SourceWarehouseId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("DestinationWarehouse"); b.Navigation("Reason"); b.Navigation("SourceWarehouse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockMovementLine", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", "Article") .WithMany("MovementLines") .HasForeignKey("ArticleId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.Warehouse.ArticleBatch", "Batch") .WithMany("MovementLines") .HasForeignKey("BatchId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.Warehouse.StockMovement", "Movement") .WithMany("Lines") .HasForeignKey("MovementId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.Warehouse.ArticleSerial", "Serial") .WithMany("MovementLines") .HasForeignKey("SerialId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Article"); b.Navigation("Batch"); b.Navigation("Movement"); b.Navigation("Serial"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockValuation", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", "Article") .WithMany() .HasForeignKey("ArticleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseLocation", "Warehouse") .WithMany() .HasForeignKey("WarehouseId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Article"); b.Navigation("Warehouse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockValuationLayer", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", "Article") .WithMany() .HasForeignKey("ArticleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Apollinare.Domain.Entities.Warehouse.ArticleBatch", "Batch") .WithMany() .HasForeignKey("BatchId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.Warehouse.StockMovement", "SourceMovement") .WithMany() .HasForeignKey("SourceMovementId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseLocation", "Warehouse") .WithMany() .HasForeignKey("WarehouseId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Article"); b.Navigation("Batch"); b.Navigation("SourceMovement"); b.Navigation("Warehouse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticleCategory", "Category") .WithMany("Articles") .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Category"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.WarehouseArticleCategory", b => { b.HasOne("Apollinare.Domain.Entities.Warehouse.WarehouseArticleCategory", "ParentCategory") .WithMany("ChildCategories") .HasForeignKey("ParentCategoryId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("ParentCategory"); }); modelBuilder.Entity("Apollinare.Domain.Entities.AppModule", b => { b.Navigation("Subscription"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Articolo", b => { b.Navigation("DettagliPrelievo"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Cliente", b => { b.Navigation("Eventi"); }); modelBuilder.Entity("Apollinare.Domain.Entities.CodiceCategoria", b => { b.Navigation("Articoli"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Evento", b => { b.Navigation("Acconti"); b.Navigation("Allegati"); b.Navigation("AltriCosti"); b.Navigation("Degustazioni"); b.Navigation("DettagliOspiti"); b.Navigation("DettagliPrelievo"); b.Navigation("DettagliRisorse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Location", b => { b.Navigation("Eventi"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Risorsa", b => { b.Navigation("DettagliRisorse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoEvento", b => { b.Navigation("Eventi"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoMateriale", b => { b.Navigation("Articoli"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoOspite", b => { b.Navigation("DettagliOspiti"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoPasto", b => { b.Navigation("TipiEvento"); }); modelBuilder.Entity("Apollinare.Domain.Entities.TipoRisorsa", b => { b.Navigation("Risorse"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.ArticleBatch", b => { b.Navigation("MovementLines"); b.Navigation("Serials"); b.Navigation("StockLevels"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.ArticleSerial", b => { b.Navigation("MovementLines"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.InventoryCount", b => { b.Navigation("Lines"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.MovementReason", b => { b.Navigation("Movements"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.StockMovement", b => { b.Navigation("Lines"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.WarehouseArticle", b => { b.Navigation("Barcodes"); b.Navigation("Batches"); b.Navigation("MovementLines"); b.Navigation("Serials"); b.Navigation("StockLevels"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.WarehouseArticleCategory", b => { b.Navigation("Articles"); b.Navigation("ChildCategories"); }); modelBuilder.Entity("Apollinare.Domain.Entities.Warehouse.WarehouseLocation", b => { b.Navigation("DestinationMovements"); b.Navigation("SourceMovements"); b.Navigation("StockLevels"); }); #pragma warning restore 612, 618 } } }