From 7eaa96281cade655dfbbcecc466f25575d8428aa Mon Sep 17 00:00:00 2001 From: Gianmarco Date: Mon, 1 Dec 2025 15:49:52 +0100 Subject: [PATCH] Servizi e cose --- StandManager.Domain/Entita/ApplicationUser.cs | 8 - StandManager.Domain/Entita/Cliente.cs | 23 + StandManager.Domain/Entita/Destinazione.cs | 26 + StandManager.Domain/Entita/Evento.cs | 14 + .../Entita/IscrizioneEvento.cs | 24 + StandManager.Domain/Entita/Referente.cs | 24 + .../DAL/Context/StandManagerDbContext.cs | 9 +- .../20251201143504_EntitaEventi.Designer.cs | 537 ++++++++++++++++++ .../Migrations/20251201143504_EntitaEventi.cs | 325 +++++++++++ .../StandManagerDbContextModelSnapshot.cs | 442 ++++++++++++++ StandManager.Service/ClienteService.cs | 16 + StandManager.Service/DestinazioneService.cs | 16 + StandManager.Service/EventoService.cs | 16 + .../Interfaces/IClienteService.cs | 8 + .../Interfaces/IDestinazioneService.cs | 6 + .../Interfaces/IEventoService.cs | 6 + .../Interfaces/IIscrizioneEventoService.cs | 6 + .../Interfaces/IManagerService.cs | 5 + .../Interfaces/IReferenteService.cs | 6 + .../IscrizioneEventoService.cs | 16 + StandManager.Service/ManagerService.cs | 13 +- StandManager.Service/ReferenteService.cs | 16 + StandManager.Service/UtenteService.cs | 3 +- StandManager/Components/App.razor | 2 + .../Pages/Management/Dashboard.razor | 1 + StandManager/Components/_Imports.razor | 3 + 26 files changed, 1560 insertions(+), 11 deletions(-) delete mode 100644 StandManager.Domain/Entita/ApplicationUser.cs create mode 100644 StandManager.Domain/Entita/Cliente.cs create mode 100644 StandManager.Domain/Entita/Destinazione.cs create mode 100644 StandManager.Domain/Entita/Evento.cs create mode 100644 StandManager.Domain/Entita/IscrizioneEvento.cs create mode 100644 StandManager.Domain/Entita/Referente.cs create mode 100644 StandManager.Infrastructure/Migrations/20251201143504_EntitaEventi.Designer.cs create mode 100644 StandManager.Infrastructure/Migrations/20251201143504_EntitaEventi.cs create mode 100644 StandManager.Service/ClienteService.cs create mode 100644 StandManager.Service/DestinazioneService.cs create mode 100644 StandManager.Service/EventoService.cs create mode 100644 StandManager.Service/Interfaces/IClienteService.cs create mode 100644 StandManager.Service/Interfaces/IDestinazioneService.cs create mode 100644 StandManager.Service/Interfaces/IEventoService.cs create mode 100644 StandManager.Service/Interfaces/IIscrizioneEventoService.cs create mode 100644 StandManager.Service/Interfaces/IReferenteService.cs create mode 100644 StandManager.Service/IscrizioneEventoService.cs create mode 100644 StandManager.Service/ReferenteService.cs diff --git a/StandManager.Domain/Entita/ApplicationUser.cs b/StandManager.Domain/Entita/ApplicationUser.cs deleted file mode 100644 index 33eb17e..0000000 --- a/StandManager.Domain/Entita/ApplicationUser.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Microsoft.AspNetCore.Identity; - -namespace StandManager.Domain.Entita; - -// Add profile data for application users by adding properties to the ApplicationUser class -public class ApplicationUser : IdentityUser -{ -} \ No newline at end of file diff --git a/StandManager.Domain/Entita/Cliente.cs b/StandManager.Domain/Entita/Cliente.cs new file mode 100644 index 0000000..fd0ebac --- /dev/null +++ b/StandManager.Domain/Entita/Cliente.cs @@ -0,0 +1,23 @@ +using StandManager.Domain.Entita.Base; +using System.ComponentModel.DataAnnotations.Schema; + +namespace StandManager.Domain.Entita; + +public class Cliente : EntitaBase +{ + public string RagioneSociale { get; set; } + public string PartitaIva { get; set; } + public string Cap { get; set; } + public string Citta { get; set; } + public string Indirizzo { get; set; } + public string Email { get; set; } + public string EmailInvito { get; set; } + public string NumeroTelefono { get; set; } + + [ForeignKey(nameof(Agente))] + public Guid? AgenteId { get; set; } + public Utente Agente { get; set; } + + [InverseProperty(nameof(Destinazione.Cliente))] + public List Destinazioni { get; set; } +} diff --git a/StandManager.Domain/Entita/Destinazione.cs b/StandManager.Domain/Entita/Destinazione.cs new file mode 100644 index 0000000..9ffa660 --- /dev/null +++ b/StandManager.Domain/Entita/Destinazione.cs @@ -0,0 +1,26 @@ +using StandManager.Domain.Entita.Base; +using System.ComponentModel.DataAnnotations.Schema; + +namespace StandManager.Domain.Entita; + +public class Destinazione : EntitaBase +{ + [ForeignKey(nameof(Cliente))] + public Guid? Clienteid { get; set; } + public Cliente Cliente { get; set; } + public string RagioneSociale { get; set; } + public string PartitaIva { get; set; } + public string Cap { get; set; } + public string Citta { get; set; } + public string Indirizzo { get; set; } + public string Email { get; set; } + public string EmailInvito { get; set; } + public string NumeroTelefono { get; set; } + + [ForeignKey(nameof(Agente))] + public Guid? AgenteId { get; set; } + public Utente Agente { get; set; } + + [InverseProperty(nameof(Referente.Destinazione))] + public List Referenti { get; set; } +} \ No newline at end of file diff --git a/StandManager.Domain/Entita/Evento.cs b/StandManager.Domain/Entita/Evento.cs new file mode 100644 index 0000000..f695285 --- /dev/null +++ b/StandManager.Domain/Entita/Evento.cs @@ -0,0 +1,14 @@ +using StandManager.Domain.Entita.Base; + +namespace StandManager.Domain.Entita; + +public class Evento : EntitaBase +{ + public string Titolo { get; set; } + public string Descrizione { get; set; } + public string Luogo { get; set; } + public string TemplateHtmlMailInvito { get; set; } + public string TemplateHtmlMailIscrizione { get; set; } + public DateTime DataDa { get; set; } + public DateTime DataA { get; set; } +} diff --git a/StandManager.Domain/Entita/IscrizioneEvento.cs b/StandManager.Domain/Entita/IscrizioneEvento.cs new file mode 100644 index 0000000..6f8a2cd --- /dev/null +++ b/StandManager.Domain/Entita/IscrizioneEvento.cs @@ -0,0 +1,24 @@ +using StandManager.Domain.Entita.Base; +using System.ComponentModel.DataAnnotations.Schema; + +namespace StandManager.Domain.Entita; + +public class IscrizioneEvento : EntitaBase +{ + [ForeignKey(nameof(Evento))] + public Guid? EventoId { get; set; } + public Evento Evento{ get; set; } + + [ForeignKey(nameof(Cliente))] + public Guid? ClienteId { get; set; } + public Cliente Cliente { get; set; } + + [ForeignKey(nameof(Destinazione))] + public Guid? DestinazioneId { get; set; } + public Destinazione Destinazione { get; set; } + public int Partecipanti{ get; set; } + public string Note{ get; set; } + public string QrCodeCode{ get; set; } + public bool ScanCompleto{ get; set; } + public DateTime? DataScan{ get; set; } +} \ No newline at end of file diff --git a/StandManager.Domain/Entita/Referente.cs b/StandManager.Domain/Entita/Referente.cs new file mode 100644 index 0000000..be35519 --- /dev/null +++ b/StandManager.Domain/Entita/Referente.cs @@ -0,0 +1,24 @@ +using StandManager.Domain.Entita.Base; +using System.ComponentModel.DataAnnotations.Schema; + +namespace StandManager.Domain.Entita; + +public class Referente : EntitaBase +{ + [ForeignKey(nameof(Destinazione))] + public Guid? DestinazioneId { get; set; } + public Destinazione Destinazione { get; set; } + public string Nome { get; set; } + public string Cognome { get; set; } + public string Email { get; set; } + public string NumeroTelefono { get; set; } + public Ruolo Ruolo { get; set; } + public string RuoloNote { get; set; } +} + +public enum Ruolo +{ + Ruolo1 = 0, + Ruolo2, + Ruolo3 +} \ No newline at end of file diff --git a/StandManager.Infrastructure/DAL/Context/StandManagerDbContext.cs b/StandManager.Infrastructure/DAL/Context/StandManagerDbContext.cs index 1133bac..d2fc879 100644 --- a/StandManager.Infrastructure/DAL/Context/StandManagerDbContext.cs +++ b/StandManager.Infrastructure/DAL/Context/StandManagerDbContext.cs @@ -10,8 +10,15 @@ public class StandManagerDbContext : OAServiceContext public StandManagerDbContext() : base() { } public StandManagerDbContext(DbContextOptions options) : base(options) { } - public DbSet Utente { get; set; } + public DbSet Cliente { get; set; } + public DbSet Destinazione { get; set; } + public DbSet Evento { get; set; } + public DbSet IscrizioneEvento { get; set; } + public DbSet Referente { get; set; } + public DbSet Utente { get; set; } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); diff --git a/StandManager.Infrastructure/Migrations/20251201143504_EntitaEventi.Designer.cs b/StandManager.Infrastructure/Migrations/20251201143504_EntitaEventi.Designer.cs new file mode 100644 index 0000000..295f4c1 --- /dev/null +++ b/StandManager.Infrastructure/Migrations/20251201143504_EntitaEventi.Designer.cs @@ -0,0 +1,537 @@ +// +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("20251201143504_EntitaEventi")] + partial class EntitaEventi + { + /// + 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") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Citta") + .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("EmailInvito") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Indirizzo") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("NumeroTelefono") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("PartitaIva") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RagioneSociale") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("AgenteId"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("Cliente"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Destinazione", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AgenteId") + .HasColumnType("uniqueidentifier"); + + b.Property("Cap") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Citta") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Clienteid") + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("EmailInvito") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Indirizzo") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("NumeroTelefono") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("PartitaIva") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RagioneSociale") + .IsRequired() + .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("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("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.IscrizioneEvento", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ClienteId") + .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("EventoId") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Note") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Partecipanti") + .HasColumnType("int"); + + b.Property("QrCodeCode") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ScanCompleto") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.HasIndex("ClienteId"); + + b.HasIndex("DestinazioneId"); + + b.HasIndex("EventoId"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("IscrizioneEvento"); + }); + + 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.Utente", 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("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("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("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.Navigation("Agente"); + + 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.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.Navigation("Cliente"); + + b.Navigation("Destinazione"); + + b.Navigation("Evento"); + + 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.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"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/StandManager.Infrastructure/Migrations/20251201143504_EntitaEventi.cs b/StandManager.Infrastructure/Migrations/20251201143504_EntitaEventi.cs new file mode 100644 index 0000000..4097dc7 --- /dev/null +++ b/StandManager.Infrastructure/Migrations/20251201143504_EntitaEventi.cs @@ -0,0 +1,325 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace StandManager.Infrastructure.Migrations +{ + /// + public partial class EntitaEventi : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Cliente", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + RagioneSociale = table.Column(type: "nvarchar(max)", nullable: false), + PartitaIva = table.Column(type: "nvarchar(max)", nullable: false), + Cap = table.Column(type: "nvarchar(max)", nullable: false), + Citta = table.Column(type: "nvarchar(max)", nullable: false), + Indirizzo = table.Column(type: "nvarchar(max)", nullable: false), + Email = table.Column(type: "nvarchar(max)", nullable: false), + EmailInvito = table.Column(type: "nvarchar(max)", nullable: false), + NumeroTelefono = table.Column(type: "nvarchar(max)", nullable: false), + AgenteId = table.Column(type: "uniqueidentifier", nullable: true), + 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_Cliente", x => x.Id); + table.ForeignKey( + name: "FK_Cliente_Utente_AgenteId", + column: x => x.AgenteId, + principalTable: "Utente", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_Cliente_Utente_IdUtenteCreazione", + column: x => x.IdUtenteCreazione, + principalTable: "Utente", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_Cliente_Utente_IdUtenteModifica", + column: x => x.IdUtenteModifica, + principalTable: "Utente", + principalColumn: "Id"); + }); + + migrationBuilder.CreateTable( + name: "Evento", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Titolo = table.Column(type: "nvarchar(max)", nullable: false), + Descrizione = table.Column(type: "nvarchar(max)", nullable: false), + Luogo = table.Column(type: "nvarchar(max)", nullable: false), + TemplateHtmlMailInvito = table.Column(type: "nvarchar(max)", nullable: false), + TemplateHtmlMailIscrizione = table.Column(type: "nvarchar(max)", nullable: false), + DataDa = table.Column(type: "datetime2", nullable: false), + DataA = table.Column(type: "datetime2", 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_Evento", x => x.Id); + table.ForeignKey( + name: "FK_Evento_Utente_IdUtenteCreazione", + column: x => x.IdUtenteCreazione, + principalTable: "Utente", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_Evento_Utente_IdUtenteModifica", + column: x => x.IdUtenteModifica, + principalTable: "Utente", + principalColumn: "Id"); + }); + + migrationBuilder.CreateTable( + name: "Destinazione", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Clienteid = table.Column(type: "uniqueidentifier", nullable: true), + RagioneSociale = table.Column(type: "nvarchar(max)", nullable: false), + PartitaIva = table.Column(type: "nvarchar(max)", nullable: false), + Cap = table.Column(type: "nvarchar(max)", nullable: false), + Citta = table.Column(type: "nvarchar(max)", nullable: false), + Indirizzo = table.Column(type: "nvarchar(max)", nullable: false), + Email = table.Column(type: "nvarchar(max)", nullable: false), + EmailInvito = table.Column(type: "nvarchar(max)", nullable: false), + NumeroTelefono = table.Column(type: "nvarchar(max)", nullable: false), + AgenteId = table.Column(type: "uniqueidentifier", nullable: true), + 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_Destinazione", x => x.Id); + table.ForeignKey( + name: "FK_Destinazione_Cliente_Clienteid", + column: x => x.Clienteid, + principalTable: "Cliente", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_Destinazione_Utente_AgenteId", + column: x => x.AgenteId, + principalTable: "Utente", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_Destinazione_Utente_IdUtenteCreazione", + column: x => x.IdUtenteCreazione, + principalTable: "Utente", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_Destinazione_Utente_IdUtenteModifica", + column: x => x.IdUtenteModifica, + principalTable: "Utente", + principalColumn: "Id"); + }); + + migrationBuilder.CreateTable( + name: "IscrizioneEvento", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + EventoId = table.Column(type: "uniqueidentifier", nullable: true), + ClienteId = table.Column(type: "uniqueidentifier", nullable: true), + DestinazioneId = table.Column(type: "uniqueidentifier", nullable: true), + Partecipanti = table.Column(type: "int", nullable: false), + Note = table.Column(type: "nvarchar(max)", nullable: false), + QrCodeCode = table.Column(type: "nvarchar(max)", nullable: false), + ScanCompleto = table.Column(type: "bit", nullable: false), + DataScan = table.Column(type: "datetime2", nullable: true), + 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_IscrizioneEvento", x => x.Id); + table.ForeignKey( + name: "FK_IscrizioneEvento_Cliente_ClienteId", + column: x => x.ClienteId, + principalTable: "Cliente", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_IscrizioneEvento_Destinazione_DestinazioneId", + column: x => x.DestinazioneId, + principalTable: "Destinazione", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_IscrizioneEvento_Evento_EventoId", + column: x => x.EventoId, + principalTable: "Evento", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_IscrizioneEvento_Utente_IdUtenteCreazione", + column: x => x.IdUtenteCreazione, + principalTable: "Utente", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_IscrizioneEvento_Utente_IdUtenteModifica", + column: x => x.IdUtenteModifica, + principalTable: "Utente", + principalColumn: "Id"); + }); + + migrationBuilder.CreateTable( + name: "Referente", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + DestinazioneId = table.Column(type: "uniqueidentifier", nullable: true), + Nome = table.Column(type: "nvarchar(max)", nullable: false), + Cognome = table.Column(type: "nvarchar(max)", nullable: false), + Email = table.Column(type: "nvarchar(max)", nullable: false), + NumeroTelefono = table.Column(type: "nvarchar(max)", nullable: false), + Ruolo = table.Column(type: "int", nullable: false), + RuoloNote = table.Column(type: "nvarchar(max)", 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_Referente", x => x.Id); + table.ForeignKey( + name: "FK_Referente_Destinazione_DestinazioneId", + column: x => x.DestinazioneId, + principalTable: "Destinazione", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_Referente_Utente_IdUtenteCreazione", + column: x => x.IdUtenteCreazione, + principalTable: "Utente", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_Referente_Utente_IdUtenteModifica", + column: x => x.IdUtenteModifica, + principalTable: "Utente", + principalColumn: "Id"); + }); + + migrationBuilder.CreateIndex( + name: "IX_Cliente_AgenteId", + table: "Cliente", + column: "AgenteId"); + + migrationBuilder.CreateIndex( + name: "IX_Cliente_IdUtenteCreazione", + table: "Cliente", + column: "IdUtenteCreazione"); + + migrationBuilder.CreateIndex( + name: "IX_Cliente_IdUtenteModifica", + table: "Cliente", + column: "IdUtenteModifica"); + + migrationBuilder.CreateIndex( + name: "IX_Destinazione_AgenteId", + table: "Destinazione", + column: "AgenteId"); + + migrationBuilder.CreateIndex( + name: "IX_Destinazione_Clienteid", + table: "Destinazione", + column: "Clienteid"); + + migrationBuilder.CreateIndex( + name: "IX_Destinazione_IdUtenteCreazione", + table: "Destinazione", + column: "IdUtenteCreazione"); + + migrationBuilder.CreateIndex( + name: "IX_Destinazione_IdUtenteModifica", + table: "Destinazione", + column: "IdUtenteModifica"); + + migrationBuilder.CreateIndex( + name: "IX_Evento_IdUtenteCreazione", + table: "Evento", + column: "IdUtenteCreazione"); + + migrationBuilder.CreateIndex( + name: "IX_Evento_IdUtenteModifica", + table: "Evento", + column: "IdUtenteModifica"); + + migrationBuilder.CreateIndex( + name: "IX_IscrizioneEvento_ClienteId", + table: "IscrizioneEvento", + column: "ClienteId"); + + migrationBuilder.CreateIndex( + name: "IX_IscrizioneEvento_DestinazioneId", + table: "IscrizioneEvento", + column: "DestinazioneId"); + + migrationBuilder.CreateIndex( + name: "IX_IscrizioneEvento_EventoId", + table: "IscrizioneEvento", + column: "EventoId"); + + migrationBuilder.CreateIndex( + name: "IX_IscrizioneEvento_IdUtenteCreazione", + table: "IscrizioneEvento", + column: "IdUtenteCreazione"); + + migrationBuilder.CreateIndex( + name: "IX_IscrizioneEvento_IdUtenteModifica", + table: "IscrizioneEvento", + column: "IdUtenteModifica"); + + migrationBuilder.CreateIndex( + name: "IX_Referente_DestinazioneId", + table: "Referente", + column: "DestinazioneId"); + + migrationBuilder.CreateIndex( + name: "IX_Referente_IdUtenteCreazione", + table: "Referente", + column: "IdUtenteCreazione"); + + migrationBuilder.CreateIndex( + name: "IX_Referente_IdUtenteModifica", + table: "Referente", + column: "IdUtenteModifica"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "IscrizioneEvento"); + + migrationBuilder.DropTable( + name: "Referente"); + + migrationBuilder.DropTable( + name: "Evento"); + + migrationBuilder.DropTable( + name: "Destinazione"); + + migrationBuilder.DropTable( + name: "Cliente"); + } + } +} diff --git a/StandManager.Infrastructure/Migrations/StandManagerDbContextModelSnapshot.cs b/StandManager.Infrastructure/Migrations/StandManagerDbContextModelSnapshot.cs index b85a771..254b11a 100644 --- a/StandManager.Infrastructure/Migrations/StandManagerDbContextModelSnapshot.cs +++ b/StandManager.Infrastructure/Migrations/StandManagerDbContextModelSnapshot.cs @@ -22,6 +22,321 @@ namespace StandManager.Infrastructure.Migrations SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + modelBuilder.Entity("StandManager.Domain.Entita.Cliente", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AgenteId") + .HasColumnType("uniqueidentifier"); + + b.Property("Cap") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Citta") + .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("EmailInvito") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Indirizzo") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("NumeroTelefono") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("PartitaIva") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RagioneSociale") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("AgenteId"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("Cliente"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Destinazione", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AgenteId") + .HasColumnType("uniqueidentifier"); + + b.Property("Cap") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Citta") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Clienteid") + .HasColumnType("uniqueidentifier"); + + b.Property("DataCreazione") + .HasColumnType("datetime2"); + + b.Property("DataModifica") + .HasColumnType("datetime2"); + + b.Property("Eliminato") + .HasColumnType("bit"); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("EmailInvito") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Indirizzo") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("NumeroTelefono") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("PartitaIva") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RagioneSociale") + .IsRequired() + .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("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("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.IscrizioneEvento", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ClienteId") + .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("EventoId") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteCreazione") + .HasColumnType("uniqueidentifier"); + + b.Property("IdUtenteModifica") + .HasColumnType("uniqueidentifier"); + + b.Property("Note") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Partecipanti") + .HasColumnType("int"); + + b.Property("QrCodeCode") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ScanCompleto") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.HasIndex("ClienteId"); + + b.HasIndex("DestinazioneId"); + + b.HasIndex("EventoId"); + + b.HasIndex("IdUtenteCreazione"); + + b.HasIndex("IdUtenteModifica"); + + b.ToTable("IscrizioneEvento"); + }); + + 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.Utente", b => { b.Property("Id") @@ -72,6 +387,123 @@ namespace StandManager.Infrastructure.Migrations 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.Navigation("Agente"); + + 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.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.Navigation("Cliente"); + + b.Navigation("Destinazione"); + + b.Navigation("Evento"); + + 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.Utente", b => { b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione") @@ -86,6 +518,16 @@ namespace StandManager.Infrastructure.Migrations b.Navigation("UtenteModifica"); }); + + modelBuilder.Entity("StandManager.Domain.Entita.Cliente", b => + { + b.Navigation("Destinazioni"); + }); + + modelBuilder.Entity("StandManager.Domain.Entita.Destinazione", b => + { + b.Navigation("Referenti"); + }); #pragma warning restore 612, 618 } } diff --git a/StandManager.Service/ClienteService.cs b/StandManager.Service/ClienteService.cs new file mode 100644 index 0000000..bdf15a9 --- /dev/null +++ b/StandManager.Service/ClienteService.cs @@ -0,0 +1,16 @@ +using OAService.Service.Servizi.Implementazioni; +using StandManager.Domain.Entita; +using StandManager.Service.Interfaces; +using StandManager.Service.Repository; + +namespace StandManager.Service; + +public class ClienteService : TService, IClienteService +{ + private readonly IStandManagerUnitOfWork _unitOfWork; + + public ClienteService(IStandManagerUnitOfWork unitOfWork) : base(unitOfWork) + { + _unitOfWork = unitOfWork; + } +} diff --git a/StandManager.Service/DestinazioneService.cs b/StandManager.Service/DestinazioneService.cs new file mode 100644 index 0000000..280a33c --- /dev/null +++ b/StandManager.Service/DestinazioneService.cs @@ -0,0 +1,16 @@ +using OAService.Service.Servizi.Implementazioni; +using StandManager.Domain.Entita; +using StandManager.Service.Interfaces; +using StandManager.Service.Repository; + +namespace StandManager.Service; + +public class DestinazioneService : TService, IDestinazioneService +{ + private readonly IStandManagerUnitOfWork _unitOfWork; + + public DestinazioneService(IStandManagerUnitOfWork unitOfWork) : base(unitOfWork) + { + _unitOfWork = unitOfWork; + } +} diff --git a/StandManager.Service/EventoService.cs b/StandManager.Service/EventoService.cs new file mode 100644 index 0000000..bdef2f5 --- /dev/null +++ b/StandManager.Service/EventoService.cs @@ -0,0 +1,16 @@ +using OAService.Service.Servizi.Implementazioni; +using StandManager.Domain.Entita; +using StandManager.Service.Interfaces; +using StandManager.Service.Repository; + +namespace StandManager.Service; + +public class EventoService : TService, IEventoService +{ + private readonly IStandManagerUnitOfWork _unitOfWork; + + public EventoService(IStandManagerUnitOfWork unitOfWork) : base(unitOfWork) + { + _unitOfWork = unitOfWork; + } +} diff --git a/StandManager.Service/Interfaces/IClienteService.cs b/StandManager.Service/Interfaces/IClienteService.cs new file mode 100644 index 0000000..304c17f --- /dev/null +++ b/StandManager.Service/Interfaces/IClienteService.cs @@ -0,0 +1,8 @@ +using OAService.Service.Servizi.Interfacce; +using StandManager.Domain.Entita; + +namespace StandManager.Service.Interfaces; + +public interface IClienteService : ITService +{ +} diff --git a/StandManager.Service/Interfaces/IDestinazioneService.cs b/StandManager.Service/Interfaces/IDestinazioneService.cs new file mode 100644 index 0000000..8367639 --- /dev/null +++ b/StandManager.Service/Interfaces/IDestinazioneService.cs @@ -0,0 +1,6 @@ +using OAService.Service.Servizi.Interfacce; +using StandManager.Domain.Entita; + +namespace StandManager.Service.Interfaces; + +public interface IDestinazioneService : ITService{} diff --git a/StandManager.Service/Interfaces/IEventoService.cs b/StandManager.Service/Interfaces/IEventoService.cs new file mode 100644 index 0000000..4201172 --- /dev/null +++ b/StandManager.Service/Interfaces/IEventoService.cs @@ -0,0 +1,6 @@ +using OAService.Service.Servizi.Interfacce; +using StandManager.Domain.Entita; + +namespace StandManager.Service.Interfaces; + +public interface IEventoService : ITService{} diff --git a/StandManager.Service/Interfaces/IIscrizioneEventoService.cs b/StandManager.Service/Interfaces/IIscrizioneEventoService.cs new file mode 100644 index 0000000..5869676 --- /dev/null +++ b/StandManager.Service/Interfaces/IIscrizioneEventoService.cs @@ -0,0 +1,6 @@ +using OAService.Service.Servizi.Interfacce; +using StandManager.Domain.Entita; + +namespace StandManager.Service.Interfaces; + +public interface IIscrizioneEventoService : ITService{} diff --git a/StandManager.Service/Interfaces/IManagerService.cs b/StandManager.Service/Interfaces/IManagerService.cs index 67291b0..98339d3 100644 --- a/StandManager.Service/Interfaces/IManagerService.cs +++ b/StandManager.Service/Interfaces/IManagerService.cs @@ -2,6 +2,11 @@ { public interface IManagerService { + public IClienteService ClienteService{ get; set; } + public IDestinazioneService DestinazioneService{ get; set; } + public IEventoService EventoService{ get; set; } + public IIscrizioneEventoService IscrizioneEventoService{ get; set; } + public IReferenteService ReferenteService{ get; set; } public IUtenteService UtenteService { get; set; } } } diff --git a/StandManager.Service/Interfaces/IReferenteService.cs b/StandManager.Service/Interfaces/IReferenteService.cs new file mode 100644 index 0000000..fac791f --- /dev/null +++ b/StandManager.Service/Interfaces/IReferenteService.cs @@ -0,0 +1,6 @@ +using OAService.Service.Servizi.Interfacce; +using StandManager.Domain.Entita; + +namespace StandManager.Service.Interfaces; + +public interface IReferenteService : ITService{} diff --git a/StandManager.Service/IscrizioneEventoService.cs b/StandManager.Service/IscrizioneEventoService.cs new file mode 100644 index 0000000..73a9d43 --- /dev/null +++ b/StandManager.Service/IscrizioneEventoService.cs @@ -0,0 +1,16 @@ +using OAService.Service.Servizi.Implementazioni; +using StandManager.Domain.Entita; +using StandManager.Service.Interfaces; +using StandManager.Service.Repository; + +namespace StandManager.Service; + +public class IscrizioneEventoService : TService, IIscrizioneEventoService +{ + private readonly IStandManagerUnitOfWork _unitOfWork; + + public IscrizioneEventoService(IStandManagerUnitOfWork unitOfWork) : base(unitOfWork) + { + _unitOfWork = unitOfWork; + } +} diff --git a/StandManager.Service/ManagerService.cs b/StandManager.Service/ManagerService.cs index a7b0141..3015164 100644 --- a/StandManager.Service/ManagerService.cs +++ b/StandManager.Service/ManagerService.cs @@ -4,10 +4,21 @@ namespace StandManager.Service; public class ManagerService : IManagerService { - public ManagerService(IUtenteService utenteService) + public ManagerService(IUtenteService utenteService, IClienteService clienteService, IDestinazioneService destinazioneService, IEventoService eventoService, + IIscrizioneEventoService iscrizioneEventoService, IReferenteService referenteService) { UtenteService = utenteService; + ClienteService = clienteService; + DestinazioneService = destinazioneService; + EventoService = eventoService; + IscrizioneEventoService = iscrizioneEventoService; + ReferenteService = referenteService; } public IUtenteService UtenteService { get; set; } + public IClienteService ClienteService { get; set; } + public IDestinazioneService DestinazioneService { get; set; } + public IEventoService EventoService { get; set; } + public IIscrizioneEventoService IscrizioneEventoService { get; set; } + public IReferenteService ReferenteService { get; set; } } \ No newline at end of file diff --git a/StandManager.Service/ReferenteService.cs b/StandManager.Service/ReferenteService.cs new file mode 100644 index 0000000..35f0b36 --- /dev/null +++ b/StandManager.Service/ReferenteService.cs @@ -0,0 +1,16 @@ +using OAService.Service.Servizi.Implementazioni; +using StandManager.Domain.Entita; +using StandManager.Service.Interfaces; +using StandManager.Service.Repository; + +namespace StandManager.Service; + +public class ReferenteService : TService, IReferenteService +{ + private readonly IStandManagerUnitOfWork _unitOfWork; + + public ReferenteService(IStandManagerUnitOfWork unitOfWork) : base(unitOfWork) + { + _unitOfWork = unitOfWork; + } +} \ No newline at end of file diff --git a/StandManager.Service/UtenteService.cs b/StandManager.Service/UtenteService.cs index 36687e4..da964dc 100644 --- a/StandManager.Service/UtenteService.cs +++ b/StandManager.Service/UtenteService.cs @@ -1,3 +1,4 @@ +using OAService.Service.Repository; using OAService.Service.Servizi.Implementazioni; using StandManager.Domain.Entita; using StandManager.Service.Interfaces; @@ -13,4 +14,4 @@ public class UtenteService : TService, IUtenteService { _unitOfWork = unitOfWork; } -} \ No newline at end of file +} diff --git a/StandManager/Components/App.razor b/StandManager/Components/App.razor index 6062600..f33df94 100644 --- a/StandManager/Components/App.razor +++ b/StandManager/Components/App.razor @@ -17,6 +17,7 @@ + @@ -34,5 +35,6 @@ + diff --git a/StandManager/Components/Pages/Management/Dashboard.razor b/StandManager/Components/Pages/Management/Dashboard.razor index 390a650..a8d43b8 100644 --- a/StandManager/Components/Pages/Management/Dashboard.razor +++ b/StandManager/Components/Pages/Management/Dashboard.razor @@ -19,6 +19,7 @@ + @code { override protected void OnInitialized() diff --git a/StandManager/Components/_Imports.razor b/StandManager/Components/_Imports.razor index add9439..e580f08 100644 --- a/StandManager/Components/_Imports.razor +++ b/StandManager/Components/_Imports.razor @@ -9,3 +9,6 @@ @using Microsoft.JSInterop @using StandManager @using StandManager.Components + +@using Radzen +@using Radzen.Blazor