From a5fe908034e5d042451bd424a9946eb4be234d30 Mon Sep 17 00:00:00 2001 From: Gianmarco Date: Tue, 20 Jan 2026 14:49:59 +0100 Subject: [PATCH] Pagina iscrizione --- .../Entita/IscrizioneEvento.cs | 1 - .../Entita/IscrizioneEventoPerMail.cs | 10 + .../DAL/Context/StandManagerDbContext.cs | 1 + ...130758_IscrizioneEventoPerMail.Designer.cs | 1333 +++++++++++++++++ .../20260120130758_IscrizioneEventoPerMail.cs | 61 + .../StandManagerDbContextModelSnapshot.cs | 55 + StandManager.MailProcessor/appsettings.json | 4 +- .../IIscrizioneEventoPerMailService.cs | 9 + .../Interfaces/IIscrizioneEventoService.cs | 2 +- .../Interfaces/IManagerService.cs | 1 + .../IscrizioneEventoPerMailService.cs | 33 + StandManager.Service/ManagerService.cs | 4 +- StandManager/Components/App.razor | 1 + StandManager/Components/AppHeader.razor | 58 +- .../Components/Layout/PublicLayout.razor | 2 +- .../Pages/Component_Registrazione.razor | 14 +- .../Pages/{Footer.razor => DacFooter.razor} | 0 StandManager/Components/Pages/Grazie.razor | 14 +- .../Components/Pages/Registrazione.razor | 117 +- .../Pages/RegistrazioneInFiera.razor | 76 + StandManager/Components/Pages/Scan.razor | 2 +- .../Components/Widget/ShareLink.razor | 75 + .../Model/IscrizioneEventoPerMailViewModel.cs | 23 + .../Model/IscrizioneEventoViewModel.cs | 5 +- StandManager/wwwroot/js/site.js | 13 +- 25 files changed, 1815 insertions(+), 99 deletions(-) create mode 100644 StandManager.Domain/Entita/IscrizioneEventoPerMail.cs create mode 100644 StandManager.Infrastructure/Migrations/20260120130758_IscrizioneEventoPerMail.Designer.cs create mode 100644 StandManager.Infrastructure/Migrations/20260120130758_IscrizioneEventoPerMail.cs create mode 100644 StandManager.Service/Interfaces/IIscrizioneEventoPerMailService.cs create mode 100644 StandManager.Service/IscrizioneEventoPerMailService.cs rename StandManager/Components/Pages/{Footer.razor => DacFooter.razor} (100%) create mode 100644 StandManager/Components/Pages/RegistrazioneInFiera.razor create mode 100644 StandManager/Components/Widget/ShareLink.razor create mode 100644 StandManager/Model/IscrizioneEventoPerMailViewModel.cs diff --git a/StandManager.Domain/Entita/IscrizioneEvento.cs b/StandManager.Domain/Entita/IscrizioneEvento.cs index d7110de..072c694 100644 --- a/StandManager.Domain/Entita/IscrizioneEvento.cs +++ b/StandManager.Domain/Entita/IscrizioneEvento.cs @@ -54,5 +54,4 @@ public enum RuoloTipo Dipendente = 10, [Description("Libera Professione")] LiberaProfessione = 100, - } \ No newline at end of file diff --git a/StandManager.Domain/Entita/IscrizioneEventoPerMail.cs b/StandManager.Domain/Entita/IscrizioneEventoPerMail.cs new file mode 100644 index 0000000..e23d34b --- /dev/null +++ b/StandManager.Domain/Entita/IscrizioneEventoPerMail.cs @@ -0,0 +1,10 @@ +using StandManager.Domain.Entita.Base; + +namespace StandManager.Domain.Entita; + +public class IscrizioneEventoPerMail : EntitaBase +{ + public string Mail { get; set; } + public bool Processata { get; set; } + public bool Inviata { get; set; } +} \ No newline at end of file diff --git a/StandManager.Infrastructure/DAL/Context/StandManagerDbContext.cs b/StandManager.Infrastructure/DAL/Context/StandManagerDbContext.cs index e536683..9e155de 100644 --- a/StandManager.Infrastructure/DAL/Context/StandManagerDbContext.cs +++ b/StandManager.Infrastructure/DAL/Context/StandManagerDbContext.cs @@ -17,6 +17,7 @@ public class StandManagerDbContext : OAServiceContext public DbSet Evento { get; set; } public DbSet InvitoEvento { get; set; } public DbSet IscrizioneEvento { get; set; } + public DbSet IscrizioneEventoPerMail { get; set; } public DbSet MailQueue { get; set; } public DbSet Permission { get; set; } public DbSet Province { get; set; } diff --git a/StandManager.Infrastructure/Migrations/20260120130758_IscrizioneEventoPerMail.Designer.cs b/StandManager.Infrastructure/Migrations/20260120130758_IscrizioneEventoPerMail.Designer.cs new file mode 100644 index 0000000..91d5afd --- /dev/null +++ b/StandManager.Infrastructure/Migrations/20260120130758_IscrizioneEventoPerMail.Designer.cs @@ -0,0 +1,1333 @@ +// +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("20260120130758_IscrizioneEventoPerMail")] + partial class IscrizioneEventoPerMail + { + /// + 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("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AgenteId") + .HasColumnType("uniqueidentifier"); + + b.Property("Cap") + .HasColumnType("nvarchar(max)"); + + b.Property("CapoareaId") + .HasColumnType("uniqueidentifier"); + + b.Property("Citta") + .HasColumnType("nvarchar(max)"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("EmailInvito") + .HasColumnType("nvarchar(max)"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Indirizzo") + .HasColumnType("nvarchar(max)"); + + b.Property("NumeroTelefono") + .HasColumnType("nvarchar(max)"); + + b.Property("PartitaIva") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RagioneSociale") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Rid") + .HasColumnType("nvarchar(max)"); + + b.Property("StatoCliente") + .HasColumnType("int"); + + b.Property("TipologiaClienteId") + .HasColumnType("uniqueidentifier"); + + b.Property("TipologiaGestionale") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("AgenteId"); + + b.HasIndex("CapoareaId"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.HasIndex("TipologiaClienteId"); + + b.ToTable("Cliente"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.ComuneIstat", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("CodFisco") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Comune") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Istat") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Prefisso") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Provincia") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ProvinciaIstatId") + .HasColumnType("uniqueidentifier"); + + b.Property("Regione") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.HasIndex("ProvinciaIstatId"); + + b.ToTable("ComuneIstat"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Destinazione", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AgenteId") + .HasColumnType("uniqueidentifier"); + + b.Property("Cap") + .HasColumnType("nvarchar(max)"); + + b.Property("Citta") + .HasColumnType("nvarchar(max)"); + + b.Property("ClienteId") + .HasColumnType("uniqueidentifier"); + + b.Property("CodiceFiscale") + .HasColumnType("nvarchar(max)"); + + b.Property("ComuneIstatId") + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("EmailInvito") + .HasColumnType("nvarchar(max)"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Indirizzo") + .HasColumnType("nvarchar(max)"); + + b.Property("NumeroTelefono") + .HasColumnType("nvarchar(max)"); + + b.Property("PartitaIva") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Provincia") + .HasColumnType("nvarchar(max)"); + + b.Property("ProvinciaIstatId") + .HasColumnType("uniqueidentifier"); + + b.Property("RagioneSociale") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Rid") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("AgenteId"); + + b.HasIndex("ClienteId"); + + b.HasIndex("ComuneIstatId"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.HasIndex("ProvinciaIstatId"); + + b.ToTable("Destinazione"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Evento", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DataA") + .HasColumnType("datetime2"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataDa") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Descrizione") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("IscrizioneA") + .HasColumnType("datetime2"); + + b.Property("IscrizioneDa") + .HasColumnType("datetime2"); + + b.Property("Luogo") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("TemplateHtmlMailInvito") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("TemplateHtmlMailIscrizione") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Titolo") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("Evento"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Feature", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Descrizione") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Nome") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Ordinamento") + .HasColumnType("int"); + + b.Property("SezioneId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.HasIndex("SezioneId"); + + b.ToTable("Feature"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.InvitoEvento", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ClienteId") + .HasColumnType("uniqueidentifier"); + + b.Property("CodiceFornito") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("EventoId") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("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("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Cap") + .HasColumnType("nvarchar(max)"); + + b.Property("ClienteId") + .HasColumnType("uniqueidentifier"); + + b.Property("Cognome") + .HasColumnType("nvarchar(max)"); + + b.Property("ComuneId") + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("DataScan") + .HasColumnType("datetime2"); + + b.Property("DestinazioneId") + .HasColumnType("uniqueidentifier"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("EsperienzaConDAC") + .HasColumnType("nvarchar(max)"); + + b.Property("EventoId") + .HasColumnType("uniqueidentifier"); + + b.Property("GiornoPresenza") + .HasColumnType("datetime2"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("InvitoEventoId") + .HasColumnType("uniqueidentifier"); + + b.Property("Nome") + .HasColumnType("nvarchar(max)"); + + b.Property("Note") + .HasColumnType("nvarchar(max)"); + + b.Property("NumeroTelefono") + .HasColumnType("nvarchar(max)"); + + b.Property("Partecipanti") + .HasColumnType("int"); + + b.Property("PartitaIva") + .HasColumnType("nvarchar(max)"); + + b.Property("ProvinciaId") + .HasColumnType("uniqueidentifier"); + + b.Property("RagioneSociale") + .HasColumnType("nvarchar(max)"); + + b.Property("Ruolo") + .HasColumnType("int"); + + b.Property("ScanCompleto") + .HasColumnType("bit"); + + b.Property("TipologiaClienteId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("ClienteId"); + + b.HasIndex("ComuneId"); + + b.HasIndex("DestinazioneId"); + + b.HasIndex("EventoId"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.HasIndex("InvitoEventoId"); + + b.HasIndex("ProvinciaId"); + + b.HasIndex("TipologiaClienteId"); + + b.ToTable("IscrizioneEvento"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.IscrizioneEventoPerMail", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Inviata") + .HasColumnType("bit"); + + b.Property("Mail") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Processata") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("IscrizioneEventoPerMail"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.MailQueue", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Args") + .HasColumnType("nvarchar(max)"); + + b.Property("Body") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("Error") + .HasColumnType("nvarchar(max)"); + + b.Property("From") + .HasColumnType("int"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Sent") + .HasColumnType("bit"); + + b.Property("Subject") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ToList") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("MailQueue"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("IdFeature") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("RuoloId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("IdFeature"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.HasIndex("RuoloId"); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.ProvinciaIstat", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Provincia") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Sigla") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("Province"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Referente", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Cognome") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("DestinazioneId") + .HasColumnType("uniqueidentifier"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Nome") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("NumeroTelefono") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Ruolo") + .HasColumnType("int"); + + b.Property("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.Ruolo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Nome") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("Ruolo"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Sezione", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Nome") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Ordinamento") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("Sezione"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.TipologiaCliente", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("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("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("CapoareaId") + .HasColumnType("uniqueidentifier"); + + b.Property("CodiceAgente") + .HasColumnType("nvarchar(max)"); + + b.Property("Cognome") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("IsCapoarea") + .HasColumnType("bit"); + + b.Property("Nome") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RuoloId") + .HasColumnType("uniqueidentifier"); + + b.Property("Username") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("CapoareaId"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.HasIndex("RuoloId"); + + 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", "Capoarea") + .WithMany() + .HasForeignKey("CapoareaId"); + + 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("Capoarea"); + + b.Navigation("TipologiaCliente"); + + b.Navigation("UtenteCreazione"); + + b.Navigation("UtenteModifica"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.ComuneIstat", b => + { + 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.ProvinciaIstat", "ProvinciaIstat") + .WithMany() + .HasForeignKey("ProvinciaIstatId"); + + b.Navigation("ProvinciaIstat"); + + 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.ComuneIstat", "ComuneIstat") + .WithMany() + .HasForeignKey("ComuneIstatId"); + + 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.ProvinciaIstat", "ProvinciaIstat") + .WithMany() + .HasForeignKey("ProvinciaIstatId"); + + b.Navigation("Agente"); + + b.Navigation("Cliente"); + + b.Navigation("ComuneIstat"); + + b.Navigation("ProvinciaIstat"); + + 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.Feature", b => + { + 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.Sezione", "Sezione") + .WithMany("Features") + .HasForeignKey("SezioneId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Sezione"); + + 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("InvitoEventoList") + .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.ComuneIstat", "Comune") + .WithMany() + .HasForeignKey("ComuneId"); + + b.HasOne("StandManager.Domain.Entita.Destinazione", "Destinazione") + .WithMany() + .HasForeignKey("DestinazioneId"); + + b.HasOne("StandManager.Domain.Entita.Evento", "Evento") + .WithMany("IscrizioneEventoList") + .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.ProvinciaIstat", "Provincia") + .WithMany() + .HasForeignKey("ProvinciaId"); + + b.HasOne("StandManager.Domain.Entita.TipologiaCliente", "TipologiaCliente") + .WithMany() + .HasForeignKey("TipologiaClienteId"); + + b.Navigation("Cliente"); + + b.Navigation("Comune"); + + b.Navigation("Destinazione"); + + b.Navigation("Evento"); + + b.Navigation("InvitoEvento"); + + b.Navigation("Provincia"); + + b.Navigation("TipologiaCliente"); + + b.Navigation("UtenteCreazione"); + + b.Navigation("UtenteModifica"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.IscrizioneEventoPerMail", 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.MailQueue", 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.Permission", b => + { + b.HasOne("StandManager.Domain.Entita.Feature", "Feature") + .WithMany() + .HasForeignKey("IdFeature") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + 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.Ruolo", "Ruolo") + .WithMany("Permessi") + .HasForeignKey("RuoloId"); + + b.Navigation("Feature"); + + b.Navigation("Ruolo"); + + b.Navigation("UtenteCreazione"); + + b.Navigation("UtenteModifica"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.ProvinciaIstat", 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.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.Ruolo", 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.Sezione", 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.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", "Capoarea") + .WithMany() + .HasForeignKey("CapoareaId"); + + 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.Ruolo", "Ruolo") + .WithMany("Utenti") + .HasForeignKey("RuoloId"); + + b.Navigation("Capoarea"); + + b.Navigation("Ruolo"); + + 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.Evento", b => + { + b.Navigation("InvitoEventoList"); + + b.Navigation("IscrizioneEventoList"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.InvitoEvento", b => + { + b.Navigation("IscrizioniEvento"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Ruolo", b => + { + b.Navigation("Permessi"); + + b.Navigation("Utenti"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Sezione", b => + { + b.Navigation("Features"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/StandManager.Infrastructure/Migrations/20260120130758_IscrizioneEventoPerMail.cs b/StandManager.Infrastructure/Migrations/20260120130758_IscrizioneEventoPerMail.cs new file mode 100644 index 0000000..6d7db8f --- /dev/null +++ b/StandManager.Infrastructure/Migrations/20260120130758_IscrizioneEventoPerMail.cs @@ -0,0 +1,61 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace StandManager.Infrastructure.Migrations +{ + /// + public partial class IscrizioneEventoPerMail : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "IscrizioneEventoPerMail", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Mail = table.Column(type: "nvarchar(max)", nullable: false), + Processata = table.Column(type: "bit", nullable: false), + Inviata = table.Column(type: "bit", nullable: false), + DataCreazione = table.Column(type: "datetime2", nullable: false), + DataModifica = table.Column(type: "datetime2", nullable: true), + Eliminato = table.Column(type: "bit", nullable: false), + IdUtenteCreazione = table.Column(type: "uniqueidentifier", nullable: true), + IdUtenteModifica = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IscrizioneEventoPerMail", x => x.Id); + table.ForeignKey( + name: "FK_IscrizioneEventoPerMail_Utente_IdUtenteCreazione", + column: x => x.IdUtenteCreazione, + principalTable: "Utente", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_IscrizioneEventoPerMail_Utente_IdUtenteModifica", + column: x => x.IdUtenteModifica, + principalTable: "Utente", + principalColumn: "Id"); + }); + + migrationBuilder.CreateIndex( + name: "IX_IscrizioneEventoPerMail_IdUtenteCreazione", + table: "IscrizioneEventoPerMail", + column: "IdUtenteCreazione"); + + migrationBuilder.CreateIndex( + name: "IX_IscrizioneEventoPerMail_IdUtenteModifica", + table: "IscrizioneEventoPerMail", + column: "IdUtenteModifica"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "IscrizioneEventoPerMail"); + } + } +} diff --git a/StandManager.Infrastructure/Migrations/StandManagerDbContextModelSnapshot.cs b/StandManager.Infrastructure/Migrations/StandManagerDbContextModelSnapshot.cs index 97fbc32..c8c59f9 100644 --- a/StandManager.Infrastructure/Migrations/StandManagerDbContextModelSnapshot.cs +++ b/StandManager.Infrastructure/Migrations/StandManagerDbContextModelSnapshot.cs @@ -508,6 +508,46 @@ namespace StandManager.Infrastructure.Migrations b.ToTable("IscrizioneEvento"); }); + modelBuilder.Entity("StandManager.Domain.Entita.IscrizioneEventoPerMail", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Inviata") + .HasColumnType("bit"); + + b.Property("Mail") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Processata") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("IscrizioneEventoPerMail"); + }); + modelBuilder.Entity("StandManager.Domain.Entita.MailQueue", b => { b.Property("Id") @@ -1084,6 +1124,21 @@ namespace StandManager.Infrastructure.Migrations b.Navigation("UtenteModifica"); }); + modelBuilder.Entity("StandManager.Domain.Entita.IscrizioneEventoPerMail", 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.MailQueue", b => { b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione") diff --git a/StandManager.MailProcessor/appsettings.json b/StandManager.MailProcessor/appsettings.json index e5edbd4..2ecb831 100644 --- a/StandManager.MailProcessor/appsettings.json +++ b/StandManager.MailProcessor/appsettings.json @@ -10,8 +10,8 @@ }, "AllowedHosts": "*", "EmailConfig": { - "From": "", - "ServerAddress": "", + "From": "registrazioni@gruppodac.eu", + "ServerAddress": "https://mailbridge.gruppodac.eu/api/graph/NewMessageHtml", "MailSplitChar": "#" } } diff --git a/StandManager.Service/Interfaces/IIscrizioneEventoPerMailService.cs b/StandManager.Service/Interfaces/IIscrizioneEventoPerMailService.cs new file mode 100644 index 0000000..ed7aeca --- /dev/null +++ b/StandManager.Service/Interfaces/IIscrizioneEventoPerMailService.cs @@ -0,0 +1,9 @@ +using OAService.Service.Repository; +using OAService.Service.Servizi.Interfacce; +using StandManager.Domain.Entita; + +namespace StandManager.Service.Interfaces; + +public interface IIscrizioneEventoPerMailService : ITService{ + Task Salva(IscrizioneEventoPerMail entita); +} \ No newline at end of file diff --git a/StandManager.Service/Interfaces/IIscrizioneEventoService.cs b/StandManager.Service/Interfaces/IIscrizioneEventoService.cs index 0eb37d2..92af702 100644 --- a/StandManager.Service/Interfaces/IIscrizioneEventoService.cs +++ b/StandManager.Service/Interfaces/IIscrizioneEventoService.cs @@ -5,4 +5,4 @@ namespace StandManager.Service.Interfaces; public interface IIscrizioneEventoService : ITService{ Task Salva(IscrizioneEvento model); -} +} \ No newline at end of file diff --git a/StandManager.Service/Interfaces/IManagerService.cs b/StandManager.Service/Interfaces/IManagerService.cs index bdae10c..f61ef13 100644 --- a/StandManager.Service/Interfaces/IManagerService.cs +++ b/StandManager.Service/Interfaces/IManagerService.cs @@ -9,6 +9,7 @@ public IFeatureService FeatureService{ get; set; } public IInvitoEventoService InvitoEventoService{ get; set; } public IIscrizioneEventoService IscrizioneEventoService{ get; set; } + public IIscrizioneEventoPerMailService IscrizioneEventoPerMailService{ get; set; } public IMailQueueService MailQueueService{ get; set; } public IPermissionService PermissionService{ get; set; } public IProvinciaIstatService ProvinciaIstatService{ get; set; } diff --git a/StandManager.Service/IscrizioneEventoPerMailService.cs b/StandManager.Service/IscrizioneEventoPerMailService.cs new file mode 100644 index 0000000..e45298d --- /dev/null +++ b/StandManager.Service/IscrizioneEventoPerMailService.cs @@ -0,0 +1,33 @@ +using OAService.Service.Servizi.Implementazioni; +using StandManager.Domain.Entita; +using StandManager.Service.Interfaces; +using StandManager.Service.Repository; + +namespace StandManager.Service; + +public class IscrizioneEventoPerMailService : TService, IIscrizioneEventoPerMailService +{ + private readonly IStandManagerUnitOfWork _unitOfWork; + + public IscrizioneEventoPerMailService(IStandManagerUnitOfWork unitOfWork) : base(unitOfWork) + { + _unitOfWork = unitOfWork; + } + + public async Task Salva(IscrizioneEventoPerMail entita) + { + bool isNuovaEntita = entita.Id == Guid.Empty; + + entita.DataCreazione = isNuovaEntita ? DateTime.Now : entita.DataCreazione; + entita.DataModifica = isNuovaEntita == false ? DateTime.Now : null; + entita.IdUtenteCreazione = isNuovaEntita ? null : entita.IdUtenteCreazione; + entita.IdUtenteModifica = isNuovaEntita == false ? null : null; + + if (isNuovaEntita) + await _unitOfWork.GetRepository().Put(entita); + + int result = await _unitOfWork.Salva(); + + return entita; + } +} \ No newline at end of file diff --git a/StandManager.Service/ManagerService.cs b/StandManager.Service/ManagerService.cs index 12bdac7..ea2c25f 100644 --- a/StandManager.Service/ManagerService.cs +++ b/StandManager.Service/ManagerService.cs @@ -7,7 +7,7 @@ public class ManagerService : IManagerService public ManagerService(IUtenteService utenteService, IClienteService clienteService, IComuneIstatService comuneIstatService, IDestinazioneService destinazioneService, IEventoService eventoService, IInvitoEventoService invitoEventoService, IIscrizioneEventoService iscrizioneEventoService, IReferenteService referenteService, ITipologiaClienteService tipologiaClienteService, IFeatureService featureService, IPermissionService permissionService, IRuoloService ruoloService, - ISezioneService sezioneService, IProvinciaIstatService provinciaIstatService, IMailQueueService mailQueueService) + ISezioneService sezioneService, IProvinciaIstatService provinciaIstatService, IMailQueueService mailQueueService, IIscrizioneEventoPerMailService iscrizioneEventoPerMailService) { UtenteService = utenteService; ClienteService = clienteService; @@ -24,6 +24,7 @@ public class ManagerService : IManagerService SezioneService = sezioneService; ProvinciaIstatService = provinciaIstatService; MailQueueService = mailQueueService; + IscrizioneEventoPerMailService = iscrizioneEventoPerMailService; } public IUtenteService UtenteService { get; set; } @@ -33,6 +34,7 @@ public class ManagerService : IManagerService public IFeatureService FeatureService { get; set; } public IInvitoEventoService InvitoEventoService{ get; set; } public IIscrizioneEventoService IscrizioneEventoService { get; set; } + public IIscrizioneEventoPerMailService IscrizioneEventoPerMailService { get; set; } public IMailQueueService MailQueueService { get; set; } public IPermissionService PermissionService { get; set; } public IProvinciaIstatService ProvinciaIstatService { get; set; } diff --git a/StandManager/Components/App.razor b/StandManager/Components/App.razor index 8a731bb..fbc17ff 100644 --- a/StandManager/Components/App.razor +++ b/StandManager/Components/App.razor @@ -41,5 +41,6 @@ + diff --git a/StandManager/Components/AppHeader.razor b/StandManager/Components/AppHeader.razor index 7a32265..04ff14f 100644 --- a/StandManager/Components/AppHeader.razor +++ b/StandManager/Components/AppHeader.razor @@ -9,34 +9,42 @@ - + } - \ No newline at end of file + +@code { + + [Parameter] public bool ShowNavigation { get; set; } = true; + +} \ No newline at end of file diff --git a/StandManager/Components/Layout/PublicLayout.razor b/StandManager/Components/Layout/PublicLayout.razor index 2224f25..7f0a8dd 100644 --- a/StandManager/Components/Layout/PublicLayout.razor +++ b/StandManager/Components/Layout/PublicLayout.razor @@ -1,5 +1,5 @@ @inherits LayoutComponentBase - + @Body diff --git a/StandManager/Components/Pages/Component_Registrazione.razor b/StandManager/Components/Pages/Component_Registrazione.razor index 00fb1f1..01bd21f 100644 --- a/StandManager/Components/Pages/Component_Registrazione.razor +++ b/StandManager/Components/Pages/Component_Registrazione.razor @@ -99,12 +99,6 @@ -
- - - - -
@@ -208,11 +202,11 @@ TipologiaClienteId = iscrizione.TipologiaClienteId }; - if (invito.EventoId != Guid.Empty && iscrizione.DestinazioneId == Guid.Empty) + /*if (invito.EventoId != Guid.Empty && iscrizione.DestinazioneId == Guid.Empty) { _dialogService.Alert("Selezionare una destinazione valida.", "Attenzione"); return; - } + }*/ model = iscrizione.Map(model); @@ -236,7 +230,7 @@ public void NoCliente() { - destinazioniList = new List() { new DestinazioneViewModel() { RagioneSociale = "--Nessuna" } }; + destinazioniList = new List() { new() { RagioneSociale = "--Nessuna" } }; hasCliente = false; iscrizione.EsperienzaConDAC = "No"; } @@ -249,7 +243,7 @@ private async Task onProvinciaChanged(object args) { Guid parsed; - var guidId = Guid.TryParse(args.ToString(), out parsed); + Guid.TryParse(args.ToString(), out parsed); var prov = await _managerService.ProvinciaIstatService.RicercaPer(x => x.Id == parsed); if (prov == null) diff --git a/StandManager/Components/Pages/Footer.razor b/StandManager/Components/Pages/DacFooter.razor similarity index 100% rename from StandManager/Components/Pages/Footer.razor rename to StandManager/Components/Pages/DacFooter.razor diff --git a/StandManager/Components/Pages/Grazie.razor b/StandManager/Components/Pages/Grazie.razor index 2e29d03..3ef3130 100644 --- a/StandManager/Components/Pages/Grazie.razor +++ b/StandManager/Components/Pages/Grazie.razor @@ -1,5 +1,6 @@ @page "/Grazie" @using StandManager.Components.Layout +@using StandManager.Components.Widget @layout PublicLayout @@ -8,6 +9,7 @@ @rendermode InteractiveServer Grazie +
@@ -22,9 +24,9 @@
-

Ti aspettiamo!

+

Grazie

- Controlla la tua email per verificare di aver ricevuto il QR code di invito. + Operazione completata. La tua richiesta di ingresso è stata inoltrata al team DAC. Riceverai presto il tuo invito.

@@ -40,6 +42,12 @@ +
+ +
+ + +