diff --git a/WebDoorCreator.Data/DbModels/LanguageModel.cs b/WebDoorCreator.Data/DbModels/LanguageModel.cs
new file mode 100644
index 0000000..d6d3f9d
--- /dev/null
+++ b/WebDoorCreator.Data/DbModels/LanguageModel.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using static WebDoorCreator.Core.Enum;
+
+//
+// This is here so CodeMaid doesn't reorganize this document
+//
+namespace WebDoorCreator.Data.DbModels
+{
+ ///
+ /// Lingue conosciute per il programma
+ ///
+ [Table("Languages")]
+ public class LanguageModel
+ {
+ ///
+ /// codice lingua
+ ///
+ [Key, MaxLength(5)]
+ public string CodLingua { get; set; } = "";
+
+ ///
+ /// Descrizione della lingua (Lingua per esteso)
+ ///
+ [MaxLength(50)]
+ public string DescrizioneLingua { get; set; } = "";
+ }
+}
diff --git a/WebDoorCreator.Data/LanguageConfiguration.cs b/WebDoorCreator.Data/LanguageConfiguration.cs
new file mode 100644
index 0000000..6cb29af
--- /dev/null
+++ b/WebDoorCreator.Data/LanguageConfiguration.cs
@@ -0,0 +1,38 @@
+using Microsoft.AspNetCore.Identity;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WebDoorCreator.Data.DbModels;
+using Org.BouncyCastle.Utilities.Collections;
+
+namespace WebDoorCreator.Data
+{
+ public class LanguageConfiguration : IEntityTypeConfiguration
+ {
+ #region Public Methods
+
+ public void Configure(EntityTypeBuilder builder)
+ {
+ builder.HasData(
+ getNewLang("EN", "English"),
+ getNewLang("IT", "Italiano")
+ );
+ }
+
+ #endregion Public Methods
+
+ protected LanguageModel getNewLang(string codeLang, string descLang)
+ {
+ var newRec = new LanguageModel
+ {
+ CodLingua = codeLang,
+ DescrizioneLingua = descLang
+ };
+ return newRec;
+ }
+ }
+}
diff --git a/WebDoorCreator.Data/Migrations/WDCData/20230404072710_AddLanguagePack.Designer.cs b/WebDoorCreator.Data/Migrations/WDCData/20230404072710_AddLanguagePack.Designer.cs
new file mode 100644
index 0000000..231133a
--- /dev/null
+++ b/WebDoorCreator.Data/Migrations/WDCData/20230404072710_AddLanguagePack.Designer.cs
@@ -0,0 +1,791 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using WebDoorCreator.Data;
+
+#nullable disable
+
+namespace WebDoorCreator.Data.Migrations.WDCData
+{
+ [DbContext(typeof(WDCDataContext))]
+ [Migration("20230404072710_AddLanguagePack")]
+ partial class AddLanguagePack
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .UseCollation("Latin1_General_CI_AS")
+ .HasAnnotation("ProductVersion", "6.0.14")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.AspNetRoles", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("ConcurrencyStamp")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("NormalizedName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("AspNetRoles", null, t => t.ExcludeFromMigrations());
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.AspNetUserRoles", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("RoleId")
+ .HasColumnType("nvarchar(450)");
+
+ b.HasKey("UserId", "RoleId");
+
+ b.HasIndex("RoleId");
+
+ b.ToTable("AspNetUserRoles", null, t => t.ExcludeFromMigrations());
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.AspNetUsers", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("AccessFailedCount")
+ .HasColumnType("int");
+
+ b.Property("ConcurrencyStamp")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("EmailConfirmed")
+ .HasColumnType("bit");
+
+ b.Property("LockoutEnabled")
+ .HasColumnType("bit");
+
+ b.Property("LockoutEnd")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("NormalizedEmail")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("NormalizedUserName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PasswordHash")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PhoneNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PhoneNumberConfirmed")
+ .HasColumnType("bit");
+
+ b.Property("SecurityStamp")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TwoFactorEnabled")
+ .HasColumnType("bit");
+
+ b.Property("UserName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("AspNetUsers", null, t => t.ExcludeFromMigrations());
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.CompanyModel", b =>
+ {
+ b.Property("CompanyId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("CompanyId"), 1L, 1);
+
+ b.Property("Address")
+ .IsRequired()
+ .HasMaxLength(250)
+ .HasColumnType("nvarchar(250)");
+
+ b.Property("City")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CompanyExtCode")
+ .IsRequired()
+ .HasMaxLength(250)
+ .HasColumnType("nvarchar(250)");
+
+ b.Property("CompanyName")
+ .IsRequired()
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("CompanyToken")
+ .IsRequired()
+ .HasMaxLength(150)
+ .HasColumnType("nvarchar(150)");
+
+ b.Property("PrivateNote")
+ .IsRequired()
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("State")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("VAT")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ZipCode")
+ .HasColumnType("int");
+
+ b.HasKey("CompanyId");
+
+ b.ToTable("Company");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorModel", b =>
+ {
+ b.Property("DoorId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("DoorId"), 1L, 1);
+
+ b.Property("DateIns")
+ .HasColumnType("datetime2");
+
+ b.Property("DateLockExpiry")
+ .HasColumnType("datetime2");
+
+ b.Property("DateMod")
+ .HasColumnType("datetime2");
+
+ b.Property("DoorDescript")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DoorExtCode")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("MeasureUnit")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("OrderId")
+ .HasColumnType("int");
+
+ b.Property("Quantity")
+ .HasColumnType("int");
+
+ b.Property("TypeId")
+ .HasColumnType("int");
+
+ b.Property("UnitCost")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("UserIdIns")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("UserIdLock")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("UserIdMod")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("DoorId");
+
+ b.HasIndex("OrderId");
+
+ b.HasIndex("TypeId");
+
+ b.ToTable("Door");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorOpModel", b =>
+ {
+ b.Property("DoorOpId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("DoorOpId"), 1L, 1);
+
+ b.Property("DateIns")
+ .HasColumnType("datetime2");
+
+ b.Property("DateMod")
+ .HasColumnType("datetime2");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DoorId")
+ .HasColumnType("int");
+
+ b.Property("DoorOpTypId")
+ .HasColumnType("int");
+
+ b.Property("JsoncConfigVal")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("UserIdIns")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("UserIdMod")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("DoorOpId");
+
+ b.HasIndex("DoorId");
+
+ b.HasIndex("DoorOpTypId");
+
+ b.ToTable("DoorOp");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorOpTypeModel", b =>
+ {
+ b.Property("DoorOpTypId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("DoorOpTypId"), 1L, 1);
+
+ b.Property("Description")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DisplayUrl")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DoorOpIdPathFromPatriarch")
+ .HasColumnType("hierarchyid");
+
+ b.Property("ExtDescript")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ExtOpCode")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("FPath")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HasHw")
+ .HasColumnType("bit");
+
+ b.Property("HwCode")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HwDescription")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsConcrete")
+ .HasColumnType("bit");
+
+ b.Property("IsDefault")
+ .HasColumnType("bit");
+
+ b.Property("JsoncConfig")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("MaxAllowed")
+ .HasColumnType("int");
+
+ b.Property("OpCode")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ParentDoorOpId")
+ .HasColumnType("int");
+
+ b.Property("Rev")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ValidFrom")
+ .HasColumnType("datetime2");
+
+ b.Property("ValidUntil")
+ .HasColumnType("datetime2");
+
+ b.HasKey("DoorOpTypId");
+
+ b.ToTable("DoorOpType");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorTypeModel", b =>
+ {
+ b.Property("TypeId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("TypeId"), 1L, 1);
+
+ b.Property("Description")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TypeCode")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("TypeId");
+
+ b.ToTable("DoorType");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.GraphicParamsModel", b =>
+ {
+ b.Property("GraphicParamId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("GraphicParamId"), 1L, 1);
+
+ b.Property("compoId")
+ .HasColumnType("int");
+
+ b.Property("graphicParamAlias")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("graphicParamDefaultVal")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("graphicParamKey")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("graphicParamName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("graphicParamType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("graphicParamsN")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("GraphicParamId");
+
+ b.ToTable("GraphicParams");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.HardwareModel", b =>
+ {
+ b.Property("HardwareId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("HardwareId"), 1L, 1);
+
+ b.Property("compoAlias")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("compoLayerName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("compoName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("compoTemplateIsActive")
+ .HasColumnType("bit");
+
+ b.HasKey("HardwareId");
+
+ b.ToTable("Hardware");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.LanguageModel", b =>
+ {
+ b.Property("CodLingua")
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("DescrizioneLingua")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("CodLingua");
+
+ b.ToTable("Languages");
+
+ b.HasData(
+ new
+ {
+ CodLingua = "EN",
+ DescrizioneLingua = "English"
+ },
+ new
+ {
+ CodLingua = "IT",
+ DescrizioneLingua = "Italiano"
+ });
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.ListValuesModel", b =>
+ {
+ b.Property("TableName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("FieldName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("value")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("label")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ordinal")
+ .HasColumnType("int");
+
+ b.HasKey("TableName", "FieldName", "value");
+
+ b.ToTable("ListValues");
+
+ b.HasData(
+ new
+ {
+ TableName = "Opening",
+ FieldName = "Swing",
+ value = "LH",
+ label = "Left Handed",
+ ordinal = 1
+ },
+ new
+ {
+ TableName = "Opening",
+ FieldName = "Swing",
+ value = "RH",
+ label = "Right Handed",
+ ordinal = 2
+ },
+ new
+ {
+ TableName = "Opening",
+ FieldName = "Swing",
+ value = "LHR",
+ label = "Left Handed Reverse",
+ ordinal = 3
+ },
+ new
+ {
+ TableName = "Opening",
+ FieldName = "Swing",
+ value = "RHR",
+ label = "Right Handed Reverse",
+ ordinal = 4
+ },
+ new
+ {
+ TableName = "Edges",
+ FieldName = "EdgeType",
+ value = "BV",
+ label = "Bevel",
+ ordinal = 1
+ },
+ new
+ {
+ TableName = "Edges",
+ FieldName = "EdgeType",
+ value = "SQ",
+ label = "Squared",
+ ordinal = 2
+ },
+ new
+ {
+ TableName = "Edges",
+ FieldName = "EdgeType",
+ value = "1B",
+ label = "Bull Nose 1",
+ ordinal = 3
+ });
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.OrderModel", b =>
+ {
+ b.Property("OrderId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("OrderId"), 1L, 1);
+
+ b.Property("CompanyId")
+ .HasColumnType("int");
+
+ b.Property("DateIns")
+ .HasColumnType("datetime2");
+
+ b.Property("DateMod")
+ .HasColumnType("datetime2");
+
+ b.Property("OrderDescript")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("OrderExtCode")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Status")
+ .HasColumnType("int");
+
+ b.Property("UserIdIns")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("UserIdMod")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("OrderId");
+
+ b.HasIndex("CompanyId");
+
+ b.ToTable("Order");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.OrderStatusViewModel", b =>
+ {
+ b.Property("OrderId")
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("OrderId"), 1L, 1);
+
+ b.Property("CompanyId")
+ .HasColumnType("int");
+
+ b.Property("DateIns")
+ .HasColumnType("datetime2");
+
+ b.Property("NumDoors")
+ .HasColumnType("int");
+
+ b.Property("NumType")
+ .HasColumnType("int");
+
+ b.Property("OrderDescript")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("OrderExtCode")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("OrderStatus")
+ .HasColumnType("int");
+
+ b.Property("TotCost")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("UserIdIns")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("UserIdMod")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("OrderId");
+
+ b.ToView("OrderStatusViewModel");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.UsersViewModel", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("RoleId")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RoleName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("UserName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("UserId", "RoleId");
+
+ b.ToView("UsersViewModel");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.VocabularyModel", b =>
+ {
+ b.Property("Lingua")
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("Lemma")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Traduzione")
+ .IsRequired()
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.HasKey("Lingua", "Lemma");
+
+ b.ToTable("Vocabulary");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.VocabularyTempModel", b =>
+ {
+ b.Property("Lingua")
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("Lemma")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Traduzione")
+ .IsRequired()
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.HasKey("Lingua", "Lemma");
+
+ b.ToTable("VocabularyTemp");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.AspNetUserRoles", b =>
+ {
+ b.HasOne("WebDoorCreator.Data.DbModels.AspNetRoles", "RolesNav")
+ .WithMany()
+ .HasForeignKey("RoleId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("WebDoorCreator.Data.DbModels.AspNetUsers", "UsersNav")
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("RolesNav");
+
+ b.Navigation("UsersNav");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorModel", b =>
+ {
+ b.HasOne("WebDoorCreator.Data.DbModels.OrderModel", "OrderNav")
+ .WithMany()
+ .HasForeignKey("OrderId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("WebDoorCreator.Data.DbModels.DoorTypeModel", "TypeNav")
+ .WithMany()
+ .HasForeignKey("TypeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("OrderNav");
+
+ b.Navigation("TypeNav");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorOpModel", b =>
+ {
+ b.HasOne("WebDoorCreator.Data.DbModels.DoorModel", "DoorNav")
+ .WithMany()
+ .HasForeignKey("DoorId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("WebDoorCreator.Data.DbModels.DoorOpTypeModel", "DoorOpTypeNav")
+ .WithMany()
+ .HasForeignKey("DoorOpTypId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("DoorNav");
+
+ b.Navigation("DoorOpTypeNav");
+ });
+
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.OrderModel", b =>
+ {
+ b.HasOne("WebDoorCreator.Data.DbModels.CompanyModel", "CompanyNav")
+ .WithMany()
+ .HasForeignKey("CompanyId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("CompanyNav");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/WebDoorCreator.Data/Migrations/WDCData/20230404072710_AddLanguagePack.cs b/WebDoorCreator.Data/Migrations/WDCData/20230404072710_AddLanguagePack.cs
new file mode 100644
index 0000000..8844c45
--- /dev/null
+++ b/WebDoorCreator.Data/Migrations/WDCData/20230404072710_AddLanguagePack.cs
@@ -0,0 +1,40 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace WebDoorCreator.Data.Migrations.WDCData
+{
+ public partial class AddLanguagePack : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "Languages",
+ columns: table => new
+ {
+ CodLingua = table.Column(type: "nvarchar(5)", maxLength: 5, nullable: false),
+ DescrizioneLingua = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Languages", x => x.CodLingua);
+ });
+
+ migrationBuilder.InsertData(
+ table: "Languages",
+ columns: new[] { "CodLingua", "DescrizioneLingua" },
+ values: new object[] { "EN", "English" });
+
+ migrationBuilder.InsertData(
+ table: "Languages",
+ columns: new[] { "CodLingua", "DescrizioneLingua" },
+ values: new object[] { "IT", "Italiano" });
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "Languages");
+ }
+ }
+}
diff --git a/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs b/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs
index 7ecdb15..9e72436 100644
--- a/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs
+++ b/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs
@@ -450,6 +450,34 @@ namespace WebDoorCreator.Data.Migrations.WDCData
b.ToTable("Hardware");
});
+ modelBuilder.Entity("WebDoorCreator.Data.DbModels.LanguageModel", b =>
+ {
+ b.Property("CodLingua")
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("DescrizioneLingua")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("CodLingua");
+
+ b.ToTable("Languages");
+
+ b.HasData(
+ new
+ {
+ CodLingua = "EN",
+ DescrizioneLingua = "English"
+ },
+ new
+ {
+ CodLingua = "IT",
+ DescrizioneLingua = "Italiano"
+ });
+ });
+
modelBuilder.Entity("WebDoorCreator.Data.DbModels.ListValuesModel", b =>
{
b.Property("TableName")
diff --git a/WebDoorCreator.Data/WDCDataContext.cs b/WebDoorCreator.Data/WDCDataContext.cs
index d28efd3..c448ca8 100644
--- a/WebDoorCreator.Data/WDCDataContext.cs
+++ b/WebDoorCreator.Data/WDCDataContext.cs
@@ -73,6 +73,7 @@ namespace WebDoorCreator.Data
public virtual DbSet DbSetGraphicParams { get; set; } = null!;
public virtual DbSet DbSetVocabulary { get; set; } = null!;
public virtual DbSet DbSetVocabularyTemp { get; set; } = null!;
+ public virtual DbSet DbSetLanguages { get; set; } = null!;
#endregion Public Properties
@@ -112,7 +113,7 @@ namespace WebDoorCreator.Data
}
else
{
- optionsBuilder.UseSqlServer("Server=SQL2016DEV;Database=WebDoorCreator;Trusted_Connection=True;", e=>e.UseHierarchyId());
+ optionsBuilder.UseSqlServer("Server=SQL2016DEV;Database=WebDoorCreator;Trusted_Connection=True;", e => e.UseHierarchyId());
}
}
}
@@ -157,10 +158,10 @@ namespace WebDoorCreator.Data
if (!disableMigrate)
{
modelBuilder.ApplyConfiguration(new ListValuesConfiguration());
+ modelBuilder.ApplyConfiguration(new LanguageConfiguration());
- //modelBuilder.ApplyConfiguration(new RoleConfiguration());
- //modelBuilder.Seed();
}
+ //modelBuilder.Seed();
OnModelCreatingPartial(modelBuilder);
}