Permessi_Migration

This commit is contained in:
2025-12-17 08:56:38 +01:00
parent 18e39cc6a1
commit d443ece2ca
3 changed files with 1512 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,247 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace StandManager.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class AggiuntaPermessi : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<Guid>(
name: "RuoloId",
table: "Utente",
type: "uniqueidentifier",
nullable: true);
migrationBuilder.CreateTable(
name: "Ruolo",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Nome = table.Column<string>(type: "nvarchar(max)", nullable: false),
DataCreazione = table.Column<DateTime>(type: "datetime2", nullable: false),
DataModifica = table.Column<DateTime>(type: "datetime2", nullable: true),
Eliminato = table.Column<bool>(type: "bit", nullable: false),
IdUtenteCreazione = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IdUtenteModifica = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Ruolo", x => x.Id);
table.ForeignKey(
name: "FK_Ruolo_Utente_IdUtenteCreazione",
column: x => x.IdUtenteCreazione,
principalTable: "Utente",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Ruolo_Utente_IdUtenteModifica",
column: x => x.IdUtenteModifica,
principalTable: "Utente",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "Sezione",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Nome = table.Column<string>(type: "nvarchar(max)", nullable: false),
Ordinamento = table.Column<int>(type: "int", nullable: false),
DataCreazione = table.Column<DateTime>(type: "datetime2", nullable: false),
DataModifica = table.Column<DateTime>(type: "datetime2", nullable: true),
Eliminato = table.Column<bool>(type: "bit", nullable: false),
IdUtenteCreazione = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IdUtenteModifica = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Sezione", x => x.Id);
table.ForeignKey(
name: "FK_Sezione_Utente_IdUtenteCreazione",
column: x => x.IdUtenteCreazione,
principalTable: "Utente",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Sezione_Utente_IdUtenteModifica",
column: x => x.IdUtenteModifica,
principalTable: "Utente",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "Feature",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Nome = table.Column<string>(type: "nvarchar(max)", nullable: false),
Descrizione = table.Column<string>(type: "nvarchar(max)", nullable: false),
Ordinamento = table.Column<int>(type: "int", nullable: false),
SezioneId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Type = table.Column<int>(type: "int", nullable: false),
DataCreazione = table.Column<DateTime>(type: "datetime2", nullable: false),
DataModifica = table.Column<DateTime>(type: "datetime2", nullable: true),
Eliminato = table.Column<bool>(type: "bit", nullable: false),
IdUtenteCreazione = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IdUtenteModifica = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Feature", x => x.Id);
table.ForeignKey(
name: "FK_Feature_Sezione_SezioneId",
column: x => x.SezioneId,
principalTable: "Sezione",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Feature_Utente_IdUtenteCreazione",
column: x => x.IdUtenteCreazione,
principalTable: "Utente",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Feature_Utente_IdUtenteModifica",
column: x => x.IdUtenteModifica,
principalTable: "Utente",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "Permission",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
RuoloId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IdFeature = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
DataCreazione = table.Column<DateTime>(type: "datetime2", nullable: false),
DataModifica = table.Column<DateTime>(type: "datetime2", nullable: true),
Eliminato = table.Column<bool>(type: "bit", nullable: false),
IdUtenteCreazione = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IdUtenteModifica = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Permission", x => x.Id);
table.ForeignKey(
name: "FK_Permission_Feature_IdFeature",
column: x => x.IdFeature,
principalTable: "Feature",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Permission_Ruolo_RuoloId",
column: x => x.RuoloId,
principalTable: "Ruolo",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Permission_Utente_IdUtenteCreazione",
column: x => x.IdUtenteCreazione,
principalTable: "Utente",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Permission_Utente_IdUtenteModifica",
column: x => x.IdUtenteModifica,
principalTable: "Utente",
principalColumn: "Id");
});
migrationBuilder.CreateIndex(
name: "IX_Utente_RuoloId",
table: "Utente",
column: "RuoloId");
migrationBuilder.CreateIndex(
name: "IX_Feature_IdUtenteCreazione",
table: "Feature",
column: "IdUtenteCreazione");
migrationBuilder.CreateIndex(
name: "IX_Feature_IdUtenteModifica",
table: "Feature",
column: "IdUtenteModifica");
migrationBuilder.CreateIndex(
name: "IX_Feature_SezioneId",
table: "Feature",
column: "SezioneId");
migrationBuilder.CreateIndex(
name: "IX_Permission_IdFeature",
table: "Permission",
column: "IdFeature");
migrationBuilder.CreateIndex(
name: "IX_Permission_IdUtenteCreazione",
table: "Permission",
column: "IdUtenteCreazione");
migrationBuilder.CreateIndex(
name: "IX_Permission_IdUtenteModifica",
table: "Permission",
column: "IdUtenteModifica");
migrationBuilder.CreateIndex(
name: "IX_Permission_RuoloId",
table: "Permission",
column: "RuoloId");
migrationBuilder.CreateIndex(
name: "IX_Ruolo_IdUtenteCreazione",
table: "Ruolo",
column: "IdUtenteCreazione");
migrationBuilder.CreateIndex(
name: "IX_Ruolo_IdUtenteModifica",
table: "Ruolo",
column: "IdUtenteModifica");
migrationBuilder.CreateIndex(
name: "IX_Sezione_IdUtenteCreazione",
table: "Sezione",
column: "IdUtenteCreazione");
migrationBuilder.CreateIndex(
name: "IX_Sezione_IdUtenteModifica",
table: "Sezione",
column: "IdUtenteModifica");
migrationBuilder.AddForeignKey(
name: "FK_Utente_Ruolo_RuoloId",
table: "Utente",
column: "RuoloId",
principalTable: "Ruolo",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Utente_Ruolo_RuoloId",
table: "Utente");
migrationBuilder.DropTable(
name: "Permission");
migrationBuilder.DropTable(
name: "Feature");
migrationBuilder.DropTable(
name: "Ruolo");
migrationBuilder.DropTable(
name: "Sezione");
migrationBuilder.DropIndex(
name: "IX_Utente_RuoloId",
table: "Utente");
migrationBuilder.DropColumn(
name: "RuoloId",
table: "Utente");
}
}
}

View File

@ -228,6 +228,55 @@ namespace StandManager.Infrastructure.Migrations
b.ToTable("Evento");
});
modelBuilder.Entity("StandManager.Domain.Entita.Feature", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<string>("Descrizione")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Nome")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("Ordinamento")
.HasColumnType("int");
b.Property<Guid>("SezioneId")
.HasColumnType("uniqueidentifier");
b.Property<int>("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<Guid>("Id")
@ -375,6 +424,46 @@ namespace StandManager.Infrastructure.Migrations
b.ToTable("IscrizioneEvento");
});
modelBuilder.Entity("StandManager.Domain.Entita.Permission", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid>("IdFeature")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("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.Referente", b =>
{
b.Property<Guid>("Id")
@ -433,6 +522,77 @@ namespace StandManager.Infrastructure.Migrations
b.ToTable("Referente");
});
modelBuilder.Entity("StandManager.Domain.Entita.Ruolo", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Nome")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.ToTable("Ruolo");
});
modelBuilder.Entity("StandManager.Domain.Entita.Sezione", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Nome")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("Ordinamento")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.ToTable("Sezione");
});
modelBuilder.Entity("StandManager.Domain.Entita.TipologiaCliente", b =>
{
b.Property<Guid>("Id")
@ -507,6 +667,9 @@ namespace StandManager.Infrastructure.Migrations
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("RuoloId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Username")
.IsRequired()
.HasColumnType("nvarchar(max)");
@ -517,6 +680,8 @@ namespace StandManager.Infrastructure.Migrations
b.HasIndex("IdUtenteModifica");
b.HasIndex("RuoloId");
b.ToTable("Utente");
});
@ -589,6 +754,29 @@ namespace StandManager.Infrastructure.Migrations
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")
@ -661,6 +849,35 @@ namespace StandManager.Infrastructure.Migrations
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.Referente", b =>
{
b.HasOne("StandManager.Domain.Entita.Destinazione", "Destinazione")
@ -682,6 +899,36 @@ namespace StandManager.Infrastructure.Migrations
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")
@ -707,6 +954,12 @@ namespace StandManager.Infrastructure.Migrations
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.HasOne("StandManager.Domain.Entita.Ruolo", "Ruolo")
.WithMany("Utenti")
.HasForeignKey("RuoloId");
b.Navigation("Ruolo");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
@ -726,6 +979,18 @@ namespace StandManager.Infrastructure.Migrations
{
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
}
}