// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using StandManager.Infrastructure.DAL.Context;

#nullable disable

namespace StandManager.Infrastructure.Migrations
{
    [DbContext(typeof(StandManagerDbContext))]
    [Migration("20251215161117_PartitaIvaGiorniPresenza")]
    partial class PartitaIvaGiorniPresenza
    {
        /// <inheritdoc />
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "9.0.11")
                .HasAnnotation("Relational:MaxIdentifierLength", 128);

            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);

            modelBuilder.Entity("StandManager.Domain.Entita.Cliente", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("AgenteId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Cap")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Citta")
                        .HasColumnType("nvarchar(max)");

                    b.Property<DateTime>("DataCreazione")
                        .HasColumnType("datetime2");

                    b.Property<DateTime?>("DataModifica")
                        .HasColumnType("datetime2");

                    b.Property<bool>("Eliminato")
                        .HasColumnType("bit");

                    b.Property<string>("Email")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("EmailInvito")
                        .HasColumnType("nvarchar(max)");

                    b.Property<Guid?>("IdUtenteCreazione")
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("IdUtenteModifica")
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Indirizzo")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("NumeroTelefono")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("PartitaIva")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("RagioneSociale")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Rid")
                        .HasColumnType("nvarchar(max)");

                    b.Property<int>("StatoCliente")
                        .HasColumnType("int");

                    b.Property<Guid?>("TipologiaClienteId")
                        .HasColumnType("uniqueidentifier");

                    b.HasKey("Id");

                    b.HasIndex("AgenteId");

                    b.HasIndex("IdUtenteCreazione");

                    b.HasIndex("IdUtenteModifica");

                    b.HasIndex("TipologiaClienteId");

                    b.ToTable("Cliente");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Destinazione", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("AgenteId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Cap")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Citta")
                        .HasColumnType("nvarchar(max)");

                    b.Property<Guid?>("ClienteId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("CodiceFiscale")
                        .HasColumnType("nvarchar(max)");

                    b.Property<DateTime>("DataCreazione")
                        .HasColumnType("datetime2");

                    b.Property<DateTime?>("DataModifica")
                        .HasColumnType("datetime2");

                    b.Property<bool>("Eliminato")
                        .HasColumnType("bit");

                    b.Property<string>("Email")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("EmailInvito")
                        .HasColumnType("nvarchar(max)");

                    b.Property<Guid?>("IdUtenteCreazione")
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("IdUtenteModifica")
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Indirizzo")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("NumeroTelefono")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("PartitaIva")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("RagioneSociale")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Rid")
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.HasIndex("AgenteId");

                    b.HasIndex("ClienteId");

                    b.HasIndex("IdUtenteCreazione");

                    b.HasIndex("IdUtenteModifica");

                    b.ToTable("Destinazione");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Evento", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");

                    b.Property<DateTime>("DataA")
                        .HasColumnType("datetime2");

                    b.Property<DateTime>("DataCreazione")
                        .HasColumnType("datetime2");

                    b.Property<DateTime>("DataDa")
                        .HasColumnType("datetime2");

                    b.Property<DateTime?>("DataModifica")
                        .HasColumnType("datetime2");

                    b.Property<string>("Descrizione")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<bool>("Eliminato")
                        .HasColumnType("bit");

                    b.Property<Guid?>("IdUtenteCreazione")
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("IdUtenteModifica")
                        .HasColumnType("uniqueidentifier");

                    b.Property<DateTime>("IscrizioneA")
                        .HasColumnType("datetime2");

                    b.Property<DateTime>("IscrizioneDa")
                        .HasColumnType("datetime2");

                    b.Property<string>("Luogo")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("TemplateHtmlMailInvito")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("TemplateHtmlMailIscrizione")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Titolo")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.HasIndex("IdUtenteCreazione");

                    b.HasIndex("IdUtenteModifica");

                    b.ToTable("Evento");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.InvitoEvento", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("ClienteId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<DateTime>("DataCreazione")
                        .HasColumnType("datetime2");

                    b.Property<DateTime?>("DataModifica")
                        .HasColumnType("datetime2");

                    b.Property<bool>("Eliminato")
                        .HasColumnType("bit");

                    b.Property<Guid?>("EventoId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("IdUtenteCreazione")
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("IdUtenteModifica")
                        .HasColumnType("uniqueidentifier");

                    b.HasKey("Id");

                    b.HasIndex("ClienteId");

                    b.HasIndex("EventoId");

                    b.HasIndex("IdUtenteCreazione");

                    b.HasIndex("IdUtenteModifica");

                    b.ToTable("InvitoEvento");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.IscrizioneEvento", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Cap")
                        .HasColumnType("nvarchar(max)");

                    b.Property<Guid?>("ClienteId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Cognome")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Comune")
                        .HasColumnType("nvarchar(max)");

                    b.Property<DateTime>("DataCreazione")
                        .HasColumnType("datetime2");

                    b.Property<DateTime?>("DataModifica")
                        .HasColumnType("datetime2");

                    b.Property<DateTime?>("DataScan")
                        .HasColumnType("datetime2");

                    b.Property<Guid?>("DestinazioneId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<bool>("Eliminato")
                        .HasColumnType("bit");

                    b.Property<string>("Email")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("EsperienzaConDAC")
                        .HasColumnType("nvarchar(max)");

                    b.Property<Guid?>("EventoId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<DateTime>("GiornoPresenzaAl")
                        .HasColumnType("datetime2");

                    b.Property<DateTime>("GiornoPresenzaDal")
                        .HasColumnType("datetime2");

                    b.Property<Guid?>("IdUtenteCreazione")
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("IdUtenteModifica")
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("InvitoEventoId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Nome")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Note")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("NumeroTelefono")
                        .HasColumnType("nvarchar(max)");

                    b.Property<int>("Partecipanti")
                        .HasColumnType("int");

                    b.Property<string>("PartitaIva")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Provincia")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("RagioneSociale")
                        .HasColumnType("nvarchar(max)");

                    b.Property<int>("Ruolo")
                        .HasColumnType("int");

                    b.Property<bool>("ScanCompleto")
                        .HasColumnType("bit");

                    b.Property<Guid?>("TipologiaClienteId")
                        .HasColumnType("uniqueidentifier");

                    b.HasKey("Id");

                    b.HasIndex("ClienteId");

                    b.HasIndex("DestinazioneId");

                    b.HasIndex("EventoId");

                    b.HasIndex("IdUtenteCreazione");

                    b.HasIndex("IdUtenteModifica");

                    b.HasIndex("InvitoEventoId");

                    b.HasIndex("TipologiaClienteId");

                    b.ToTable("IscrizioneEvento");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Referente", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Cognome")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<DateTime>("DataCreazione")
                        .HasColumnType("datetime2");

                    b.Property<DateTime?>("DataModifica")
                        .HasColumnType("datetime2");

                    b.Property<Guid?>("DestinazioneId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<bool>("Eliminato")
                        .HasColumnType("bit");

                    b.Property<string>("Email")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<Guid?>("IdUtenteCreazione")
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("IdUtenteModifica")
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Nome")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("NumeroTelefono")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<int>("Ruolo")
                        .HasColumnType("int");

                    b.Property<string>("RuoloNote")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.HasIndex("DestinazioneId");

                    b.HasIndex("IdUtenteCreazione");

                    b.HasIndex("IdUtenteModifica");

                    b.ToTable("Referente");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.TipologiaCliente", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");

                    b.Property<DateTime>("DataCreazione")
                        .HasColumnType("datetime2");

                    b.Property<DateTime?>("DataModifica")
                        .HasColumnType("datetime2");

                    b.Property<bool>("Eliminato")
                        .HasColumnType("bit");

                    b.Property<Guid?>("IdUtenteCreazione")
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("IdUtenteModifica")
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Nome")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.HasIndex("IdUtenteCreazione");

                    b.HasIndex("IdUtenteModifica");

                    b.ToTable("TipologiaCliente");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Utente", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("CodiceAgente")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Cognome")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<DateTime>("DataCreazione")
                        .HasColumnType("datetime2");

                    b.Property<DateTime?>("DataModifica")
                        .HasColumnType("datetime2");

                    b.Property<bool>("Eliminato")
                        .HasColumnType("bit");

                    b.Property<string>("Email")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<Guid?>("IdUtenteCreazione")
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid?>("IdUtenteModifica")
                        .HasColumnType("uniqueidentifier");

                    b.Property<string>("Nome")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Password")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Username")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.HasIndex("IdUtenteCreazione");

                    b.HasIndex("IdUtenteModifica");

                    b.ToTable("Utente");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Cliente", b =>
                {
                    b.HasOne("StandManager.Domain.Entita.Utente", "Agente")
                        .WithMany()
                        .HasForeignKey("AgenteId");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione")
                        .WithMany()
                        .HasForeignKey("IdUtenteCreazione");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteModifica")
                        .WithMany()
                        .HasForeignKey("IdUtenteModifica");

                    b.HasOne("StandManager.Domain.Entita.TipologiaCliente", "TipologiaCliente")
                        .WithMany()
                        .HasForeignKey("TipologiaClienteId");

                    b.Navigation("Agente");

                    b.Navigation("TipologiaCliente");

                    b.Navigation("UtenteCreazione");

                    b.Navigation("UtenteModifica");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Destinazione", b =>
                {
                    b.HasOne("StandManager.Domain.Entita.Utente", "Agente")
                        .WithMany()
                        .HasForeignKey("AgenteId");

                    b.HasOne("StandManager.Domain.Entita.Cliente", "Cliente")
                        .WithMany("Destinazioni")
                        .HasForeignKey("ClienteId");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione")
                        .WithMany()
                        .HasForeignKey("IdUtenteCreazione");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteModifica")
                        .WithMany()
                        .HasForeignKey("IdUtenteModifica");

                    b.Navigation("Agente");

                    b.Navigation("Cliente");

                    b.Navigation("UtenteCreazione");

                    b.Navigation("UtenteModifica");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Evento", b =>
                {
                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione")
                        .WithMany()
                        .HasForeignKey("IdUtenteCreazione");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteModifica")
                        .WithMany()
                        .HasForeignKey("IdUtenteModifica");

                    b.Navigation("UtenteCreazione");

                    b.Navigation("UtenteModifica");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.InvitoEvento", b =>
                {
                    b.HasOne("StandManager.Domain.Entita.Cliente", "Cliente")
                        .WithMany()
                        .HasForeignKey("ClienteId");

                    b.HasOne("StandManager.Domain.Entita.Evento", "Evento")
                        .WithMany()
                        .HasForeignKey("EventoId");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione")
                        .WithMany()
                        .HasForeignKey("IdUtenteCreazione");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteModifica")
                        .WithMany()
                        .HasForeignKey("IdUtenteModifica");

                    b.Navigation("Cliente");

                    b.Navigation("Evento");

                    b.Navigation("UtenteCreazione");

                    b.Navigation("UtenteModifica");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.IscrizioneEvento", b =>
                {
                    b.HasOne("StandManager.Domain.Entita.Cliente", "Cliente")
                        .WithMany()
                        .HasForeignKey("ClienteId");

                    b.HasOne("StandManager.Domain.Entita.Destinazione", "Destinazione")
                        .WithMany()
                        .HasForeignKey("DestinazioneId");

                    b.HasOne("StandManager.Domain.Entita.Evento", "Evento")
                        .WithMany()
                        .HasForeignKey("EventoId");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione")
                        .WithMany()
                        .HasForeignKey("IdUtenteCreazione");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteModifica")
                        .WithMany()
                        .HasForeignKey("IdUtenteModifica");

                    b.HasOne("StandManager.Domain.Entita.InvitoEvento", "InvitoEvento")
                        .WithMany("IscrizioniEvento")
                        .HasForeignKey("InvitoEventoId");

                    b.HasOne("StandManager.Domain.Entita.TipologiaCliente", "TipologiaCliente")
                        .WithMany()
                        .HasForeignKey("TipologiaClienteId");

                    b.Navigation("Cliente");

                    b.Navigation("Destinazione");

                    b.Navigation("Evento");

                    b.Navigation("InvitoEvento");

                    b.Navigation("TipologiaCliente");

                    b.Navigation("UtenteCreazione");

                    b.Navigation("UtenteModifica");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Referente", b =>
                {
                    b.HasOne("StandManager.Domain.Entita.Destinazione", "Destinazione")
                        .WithMany("Referenti")
                        .HasForeignKey("DestinazioneId");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione")
                        .WithMany()
                        .HasForeignKey("IdUtenteCreazione");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteModifica")
                        .WithMany()
                        .HasForeignKey("IdUtenteModifica");

                    b.Navigation("Destinazione");

                    b.Navigation("UtenteCreazione");

                    b.Navigation("UtenteModifica");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.TipologiaCliente", b =>
                {
                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione")
                        .WithMany()
                        .HasForeignKey("IdUtenteCreazione");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteModifica")
                        .WithMany()
                        .HasForeignKey("IdUtenteModifica");

                    b.Navigation("UtenteCreazione");

                    b.Navigation("UtenteModifica");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Utente", b =>
                {
                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione")
                        .WithMany()
                        .HasForeignKey("IdUtenteCreazione");

                    b.HasOne("StandManager.Domain.Entita.Utente", "UtenteModifica")
                        .WithMany()
                        .HasForeignKey("IdUtenteModifica");

                    b.Navigation("UtenteCreazione");

                    b.Navigation("UtenteModifica");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Cliente", b =>
                {
                    b.Navigation("Destinazioni");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.Destinazione", b =>
                {
                    b.Navigation("Referenti");
                });

            modelBuilder.Entity("StandManager.Domain.Entita.InvitoEvento", b =>
                {
                    b.Navigation("IscrizioniEvento");
                });
#pragma warning restore 612, 618
        }
    }
}
