diff --git a/WebDoorCreator.Data/DbModels/DoorOpModel.cs b/WebDoorCreator.Data/DbModels/DoorOpModel.cs index 8b67417..b8b9442 100644 --- a/WebDoorCreator.Data/DbModels/DoorOpModel.cs +++ b/WebDoorCreator.Data/DbModels/DoorOpModel.cs @@ -65,6 +65,17 @@ namespace WebDoorCreator.Data.DbModels public string JsoncActVal { get; set; } = ""; + /// + /// Id dell'utente che ha preso conferma del template + /// + public string userConfirm { get; set; } = ""; + + /// + /// Data e ora in cui è stata presa conferma del template + /// + public DateTime? DtConfirm { get; set; } + + [ForeignKey("DoorId")] public virtual DoorModel? DoorNav { get; set; } diff --git a/WebDoorCreator.Data/Migrations/WDCData/20230411092932_AddConfirmDoorOp.Designer.cs b/WebDoorCreator.Data/Migrations/WDCData/20230411092932_AddConfirmDoorOp.Designer.cs new file mode 100644 index 0000000..7cfe62d --- /dev/null +++ b/WebDoorCreator.Data/Migrations/WDCData/20230411092932_AddConfirmDoorOp.Designer.cs @@ -0,0 +1,850 @@ +// +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("20230411092932_AddConfirmDoorOp")] + partial class AddConfirmDoorOp + { + 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("DtConfirm") + .HasColumnType("datetime2"); + + b.Property("JsoncActVal") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("JsoncConfigVal") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ObjectId") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserIdIns") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserIdMod") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("userConfirm") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("DoorOpId"); + + b.HasIndex("DoorId"); + + 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("DefaultVal") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InputType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Label") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Ordinal") + .HasColumnType("int"); + + b.Property("isSerializable") + .HasMaxLength(5) + .HasColumnType("bit"); + + b.HasKey("TableName", "FieldName", "Value"); + + b.ToTable("ListValues"); + + b.HasData( + new + { + TableName = "Opening", + FieldName = "Swing", + Value = "LH", + Label = "Left Handed", + Ordinal = 1, + isSerializable = false + }, + new + { + TableName = "Opening", + FieldName = "Swing", + Value = "RH", + Label = "Right Handed", + Ordinal = 2, + isSerializable = false + }, + new + { + TableName = "Opening", + FieldName = "Swing", + Value = "LHR", + Label = "Left Handed Reverse", + Ordinal = 3, + isSerializable = false + }, + new + { + TableName = "Opening", + FieldName = "Swing", + Value = "RHR", + Label = "Right Handed Reverse", + Ordinal = 4, + isSerializable = false + }, + new + { + TableName = "Edges", + FieldName = "EdgeType", + Value = "BV", + Label = "Bevel", + Ordinal = 1, + isSerializable = false + }, + new + { + TableName = "Edges", + FieldName = "EdgeType", + Value = "SQ", + Label = "Squared", + Ordinal = 2, + isSerializable = false + }, + new + { + TableName = "Edges", + FieldName = "EdgeType", + Value = "1B", + Label = "Bull Nose 1", + Ordinal = 3, + isSerializable = false + }); + }); + + modelBuilder.Entity("WebDoorCreator.Data.DbModels.ListValuesTempModel", 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("DefaultVal") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InputType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Label") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Ordinal") + .HasColumnType("int"); + + b.Property("isSerializable") + .HasMaxLength(5) + .HasColumnType("bit"); + + b.HasKey("TableName", "FieldName", "Value"); + + b.ToTable("ListValuesTemp"); + }); + + 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.Navigation("DoorNav"); + }); + + 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/20230411092932_AddConfirmDoorOp.cs b/WebDoorCreator.Data/Migrations/WDCData/20230411092932_AddConfirmDoorOp.cs new file mode 100644 index 0000000..439c0f9 --- /dev/null +++ b/WebDoorCreator.Data/Migrations/WDCData/20230411092932_AddConfirmDoorOp.cs @@ -0,0 +1,37 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace WebDoorCreator.Data.Migrations.WDCData +{ + public partial class AddConfirmDoorOp : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "DtConfirm", + table: "DoorOp", + type: "datetime2", + nullable: true); + + migrationBuilder.AddColumn( + name: "userConfirm", + table: "DoorOp", + type: "nvarchar(max)", + nullable: false, + defaultValue: ""); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "DtConfirm", + table: "DoorOp"); + + migrationBuilder.DropColumn( + name: "userConfirm", + table: "DoorOp"); + } + } +} diff --git a/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs b/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs index 842a2d5..aa39257 100644 --- a/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs +++ b/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs @@ -260,6 +260,9 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.Property("DoorId") .HasColumnType("int"); + b.Property("DtConfirm") + .HasColumnType("datetime2"); + b.Property("JsoncActVal") .IsRequired() .HasColumnType("nvarchar(max)"); @@ -280,6 +283,10 @@ namespace WebDoorCreator.Data.Migrations.WDCData .IsRequired() .HasColumnType("nvarchar(max)"); + b.Property("userConfirm") + .IsRequired() + .HasColumnType("nvarchar(max)"); + b.HasKey("DoorOpId"); b.HasIndex("DoorId"); diff --git a/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor.cs b/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor.cs index 06ce768..4018173 100644 --- a/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor.cs +++ b/WebDoorCreator.UI/Components/Gen/NavMenuHorizontal.razor.cs @@ -204,16 +204,6 @@ namespace WebDoorCreator.UI.Components.Gen //WDCVService.EA_VocabularyLemmas += OnNewVocLemma; } - //protected override async Task OnAfterRenderAsync(bool firstRender) - //{ - // if (firstRender) - // { - // listVocLemmas = new Dictionary>(); - - // listVocLemmas = await WDCService.VocLemmaGetAll(); - // } - //} - protected override async Task OnParametersSetAsync() { await Task.Delay(1); diff --git a/WebDoorCreator.UI/Components/Hardware/HardwareList.razor.cs b/WebDoorCreator.UI/Components/Hardware/HardwareList.razor.cs index e5a3520..11cce27 100644 --- a/WebDoorCreator.UI/Components/Hardware/HardwareList.razor.cs +++ b/WebDoorCreator.UI/Components/Hardware/HardwareList.razor.cs @@ -15,7 +15,7 @@ namespace WebDoorCreator.UI.Components.Hardware public string Lingua { get; set; } = "EN"; [Parameter] public int DoorId { get; set; } = 0; - [Parameter] + [CascadingParameter] public string UserId { get; set; } = ""; #endregion Public Properties diff --git a/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor b/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor index af21a0f..d7f706a 100644 --- a/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor +++ b/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor @@ -3,7 +3,7 @@
@foreach (var item in DoorOpList) { -
+
} diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor index c43bc02..5540978 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor @@ -1,97 +1,115 @@ -@if (currVal == null) -{ - -} -else -{ -
- Folder - +
+
+
+
+ FLUSH PULL 1 + +
-
- Template - @if (listValuesFiles != null && listValuesFiles.Count > 0) - { - - } - else - { - - } -
- @foreach (var item in currVal) +
+ +
+ @if (currVal == null) { - @if (item.Key != "Folder" && item.Key != "Template") - { - if (isCombo(item.Key)) - { -
- @translate(item.Key) - -
- } - else - { -
- @translate(item.Key) - -
- } - } + } -} -@*@foreach (var graph in getGraphicParams()) -{ - @foreach (var graphParam in graph.Value) + else { - @if (graphParam.Value.Count == 1) - { +
- @translate(graphParam.Key) - -
- } - else - { -
- @translate(graphParam.Key) - + @if (listValuesFname != null) { - + @foreach (var folder in listValuesFname) + { + + } }
- } +
+ Template + @if (listValuesFiles != null && listValuesFiles.Count > 0) + { + + } + else + { + + } +
+ @foreach (var item in currVal) + { + @if (DoorOpInst.userConfirm != "" && DoorOpInst.DtConfirm != null) + { + @if (item.Key != "Folder" && item.Key != "Template") + { + if (isCombo(item.Key)) + { +
+ @translate(item.Key) + +
+ } + else + { +
+ @translate(item.Key) + +
+ } + } + } + } + + @**@ +
+ } + @*@foreach (var graph in getGraphicParams()) + { + @foreach (var graphParam in graph.Value) + { + @if (graphParam.Value.Count == 1) + { +
+ @translate(graphParam.Key) + +
+ } + else + { +
+ @translate(graphParam.Key) + +
+ } } -}*@ + }*@ -
-
- Cancel -
- -
+ +
\ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs index e26a7bd..3f2a465 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs @@ -18,6 +18,9 @@ namespace WebDoorCreator.UI.Components.Hardware [Parameter] public string Lingua { get; set; } = "EN"; + [CascadingParameter] + public string userId { get; set; } = ""; + #endregion Public Properties #region Public Methods @@ -185,6 +188,14 @@ namespace WebDoorCreator.UI.Components.Hardware } } + protected async Task doConfirm() + { + DoorOpInst.userConfirm = userId; + DoorOpInst.DtConfirm = DateTime.Now; + // salvo! + await WDCService.DoorOpUpdate(DoorOpInst); + } + #endregion Private Methods } } \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css new file mode 100644 index 0000000..ed3c127 --- /dev/null +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.css @@ -0,0 +1,39 @@ +.btnGen { + border-radius: 50%; + width: 3.5rem; + height: 3.5rem; + background-color: aqua; + border: 5px solid black; +} +.btnDelete { + border-radius: 50%; + width: 3.5rem; + height: 3.5rem; + background-color: aqua; + border: 5px solid black; + background: #B71C1C; +} +.btnHeadTail { + width: 100%; + padding: 0.8rem; + background: none; + border: none; +} +.btnConfirm { + width: 100%; + padding: 0.8rem; + background: none; + border: none; + border-bottom: 3px solid black; +} +.btnHead { + width: 100%; + padding: 0.8rem; + background: none; + border: none; +} +.borderTop { + border-top: 7px solid #000; + /*position: absolute;*/ + width: 90%; +} \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less new file mode 100644 index 0000000..15f1d53 --- /dev/null +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.less @@ -0,0 +1,37 @@ +.btnGen { + border-radius: 50%; + width: 3.5rem; + height: 3.5rem; + background-color: aqua; + border: 5px solid black; +} + +.btnDelete { + .btnGen; + background: #B71C1C; +} +.btnHeadTail { + width: 100%; + padding: 0.8rem; + background: none; + border: none; +} + + +.btnConfirm { + .btnHeadTail; + border-bottom: 3px solid black; +} + +.btnHead { + .btnHeadTail; + //border-top: 3px solid black; +} + +.borderTop { + border-top: 7px solid #000; + /*position: absolute;*/ + width: 90%; + //right: 50%; + //bottom: 0; +} \ No newline at end of file diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.min.css b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.min.css new file mode 100644 index 0000000..733a515 --- /dev/null +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.min.css @@ -0,0 +1 @@ +.btnGen{border-radius:50%;width:3.5rem;height:3.5rem;background-color:#0ff;border:5px solid #000;}.btnDelete{border-radius:50%;width:3.5rem;height:3.5rem;background-color:#0ff;border:5px solid #000;background:#b71c1c;}.btnHeadTail{width:100%;padding:.8rem;background:none;border:0;}.btnConfirm{width:100%;padding:.8rem;background:none;border:0;border-bottom:3px solid #000;}.btnHead{width:100%;padding:.8rem;background:none;border:0;}.borderTop{border-top:7px solid #000;width:90%;} \ No newline at end of file diff --git a/WebDoorCreator.UI/Data/WebDoorCreatorService.cs b/WebDoorCreator.UI/Data/WebDoorCreatorService.cs index 41c4d27..59ee8b1 100644 --- a/WebDoorCreator.UI/Data/WebDoorCreatorService.cs +++ b/WebDoorCreator.UI/Data/WebDoorCreatorService.cs @@ -636,23 +636,25 @@ namespace WebDoorCreator.UI.Data var compoName = fIni.ReadString("Compo", "Name", "COMPONAME"); compoCode = compoName.Split("/")[1]; } - ListValuesTempModel folderNames = new ListValuesTempModel() - { - TableName = $"{compoCode}".Replace(" ", "_"), - FieldName = "Folder", - Value = @$"{tName[tName.Length - 1]}".Replace(" ", "_"), - Label = @$"{tName[tName.Length - 1]}", - Ordinal = 0, - DefaultVal = " ", - InputType = " ", - }; - values.Add(folderNames); - string[] templateFiles = Directory.GetFiles(templateDirectory); + if (templateFiles.Length > 0) + { + + ListValuesTempModel folderNames = new ListValuesTempModel() + { + TableName = $"{compoCode}".Replace(" ", "_"), + FieldName = "Folder", + Value = @$"{tName[tName.Length - 1]}".Replace(" ", "_"), + Label = @$"{tName[tName.Length - 1]}", + Ordinal = 0, + DefaultVal = " ", + InputType = " ", + }; + values.Add(folderNames); + } + foreach (string templateFile in templateFiles) { - - ListValuesTempModel temp = new ListValuesTempModel() { TableName = $"{compoCode}".Replace(" ", "_"), @@ -881,7 +883,7 @@ namespace WebDoorCreator.UI.Data ordinal++; } else - { + { Log.Error($"GraphicParamsGetAll | Duplicated key: {listValObj.TableName} {listValObj.FieldName} {listValObj.Value} "); } } diff --git a/WebDoorCreator.UI/Pages/DoorDefinition.razor b/WebDoorCreator.UI/Pages/DoorDefinition.razor index 2983889..c2326ba 100644 --- a/WebDoorCreator.UI/Pages/DoorDefinition.razor +++ b/WebDoorCreator.UI/Pages/DoorDefinition.razor @@ -16,7 +16,9 @@
@**@ @**@ - + + +
diff --git a/WebDoorCreator.UI/Shared/MainLayout.razor.cs b/WebDoorCreator.UI/Shared/MainLayout.razor.cs new file mode 100644 index 0000000..55b3afb --- /dev/null +++ b/WebDoorCreator.UI/Shared/MainLayout.razor.cs @@ -0,0 +1,6 @@ +namespace WebDoorCreator.UI.Shared +{ + public partial class MainLayout + { + } +} \ No newline at end of file diff --git a/WebDoorCreator.UI/compilerconfig.json b/WebDoorCreator.UI/compilerconfig.json index 5ac6e93..2a96a61 100644 --- a/WebDoorCreator.UI/compilerconfig.json +++ b/WebDoorCreator.UI/compilerconfig.json @@ -26,5 +26,9 @@ { "outputFile": "Components/Hardware/HardwareList.razor.css", "inputFile": "Components/Hardware/HardwareList.razor.less" + }, + { + "outputFile": "Components/Hardware/HwSingleInstance.razor.css", + "inputFile": "Components/Hardware/HwSingleInstance.razor.less" } ] \ No newline at end of file