diff --git a/GWMS.Data/Migrations/20211028102841_AlarmLog.Designer.cs b/GWMS.Data/Migrations/20211028102841_AlarmLog.Designer.cs
new file mode 100644
index 0000000..18719a5
--- /dev/null
+++ b/GWMS.Data/Migrations/20211028102841_AlarmLog.Designer.cs
@@ -0,0 +1,715 @@
+//
+using System;
+using GWMS.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+namespace GWMS.Data.Migrations
+{
+ [DbContext(typeof(GWMSContext))]
+ [Migration("20211028102841_AlarmLog")]
+ partial class AlarmLog
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("Relational:MaxIdentifierLength", 64)
+ .HasAnnotation("ProductVersion", "5.0.10");
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.AlarmLogModel", b =>
+ {
+ b.Property("AlarmLogIdId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("DtEvent")
+ .HasColumnType("datetime(6)");
+
+ b.Property("Index")
+ .HasColumnType("int");
+
+ b.Property("MemAddress")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.Property("PlantId")
+ .HasColumnType("int");
+
+ b.Property("Status")
+ .HasColumnType("int unsigned");
+
+ b.Property("ValDecoded")
+ .HasColumnType("longtext");
+
+ b.HasKey("AlarmLogIdId");
+
+ b.HasIndex("PlantId");
+
+ b.ToTable("AlarmLog");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.AnKeyValModel", b =>
+ {
+ b.Property("KeyName")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.Property("Descript")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)")
+ .HasComment("Descrizione dell'item");
+
+ b.Property("ValFloat")
+ .HasColumnType("int");
+
+ b.Property("ValInt")
+ .HasColumnType("int");
+
+ b.Property("ValString")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.HasKey("KeyName");
+
+ b.ToTable("AnKeyVal");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.ConfigModel", b =>
+ {
+ b.Property("KeyName")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.Property("Note")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("Val")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.Property("ValStd")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)")
+ .HasComment("Valore di default/riferimento per la variabile");
+
+ b.HasKey("KeyName");
+
+ b.ToTable("Config");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.ItemModel", b =>
+ {
+ b.Property("ItemId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("ItemCode")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("ItemDesc")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("ItemType")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.Property("UM")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.HasKey("ItemId");
+
+ b.ToTable("Items");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.ListValModel", b =>
+ {
+ b.Property("TabName")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)")
+ .HasColumnName("TabName");
+
+ b.Property("FieldName")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)")
+ .HasColumnName("FieldName");
+
+ b.Property("Val")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)")
+ .HasColumnName("Val");
+
+ b.Property("Descript")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)")
+ .HasColumnName("Descript");
+
+ b.Property("Ordinal")
+ .HasColumnType("int")
+ .HasColumnName("Ordinal");
+
+ b.HasKey("TabName", "FieldName", "Val");
+
+ b.ToTable("ListVal");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.OrderModel", b =>
+ {
+ b.Property("OrderId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("DtETA")
+ .HasColumnType("datetime(6)");
+
+ b.Property("DtExecEnd")
+ .HasColumnType("datetime(6)");
+
+ b.Property("DtExecStart")
+ .HasColumnType("datetime(6)");
+
+ b.Property("DtOrder")
+ .HasColumnType("datetime(6)");
+
+ b.Property("ExecutionQty")
+ .HasColumnType("double");
+
+ b.Property("LevelEnd")
+ .HasColumnType("double");
+
+ b.Property("LevelStart")
+ .HasColumnType("double");
+
+ b.Property("OrderCode")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("OrderDesc")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("OrderQty")
+ .HasColumnType("double");
+
+ b.Property("PlantId")
+ .HasColumnType("int");
+
+ b.Property("SupplierId")
+ .HasColumnType("int");
+
+ b.Property("TransporterId")
+ .HasColumnType("int");
+
+ b.HasKey("OrderId");
+
+ b.HasIndex("PlantId");
+
+ b.HasIndex("SupplierId");
+
+ b.HasIndex("TransporterId");
+
+ b.ToTable("Order");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.ParamSendModel", b =>
+ {
+ b.Property("PlantId")
+ .HasColumnType("int");
+
+ b.Property("ParamUid")
+ .HasColumnType("varchar(255)");
+
+ b.Property("LastSend")
+ .HasColumnType("datetime(6)");
+
+ b.Property("VetoSend")
+ .HasColumnType("datetime(6)");
+
+ b.Property("enabled")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("windEnd")
+ .HasColumnType("int");
+
+ b.Property("windStart")
+ .HasColumnType("int");
+
+ b.HasKey("PlantId", "ParamUid");
+
+ b.ToTable("ParamSend");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.ParamSetModel", b =>
+ {
+ b.Property("ParamSetId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("Note")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("ParamUid")
+ .HasColumnType("longtext");
+
+ b.Property("PlantId")
+ .HasColumnType("int");
+
+ b.Property("Scadenza")
+ .HasColumnType("datetime(6)");
+
+ b.Property("TargetVal")
+ .HasColumnType("decimal(65,30)");
+
+ b.HasKey("ParamSetId");
+
+ b.ToTable("ParamSet");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.PlantDetailModel", b =>
+ {
+ b.Property("PlantId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("LevelMax")
+ .HasColumnType("double");
+
+ b.Property("LevelReorder")
+ .HasColumnType("double");
+
+ b.Property("OrderQtyStd")
+ .HasColumnType("double");
+
+ b.Property("PlantCode")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("PlantDesc")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.HasKey("PlantId");
+
+ b.ToTable("PlantDetail");
+
+ b.HasData(
+ new
+ {
+ PlantId = 1,
+ LevelMax = 26000.0,
+ LevelReorder = 15000.0,
+ OrderQtyStd = 18000.0,
+ PlantCode = "PIZ03",
+ PlantDesc = "Collecchio"
+ },
+ new
+ {
+ PlantId = 2,
+ LevelMax = 28000.0,
+ LevelReorder = 15000.0,
+ OrderQtyStd = 18000.0,
+ PlantCode = "PIZ04",
+ PlantDesc = "Noceto"
+ },
+ new
+ {
+ PlantId = 3,
+ LevelMax = 24000.0,
+ LevelReorder = 15000.0,
+ OrderQtyStd = 18000.0,
+ PlantCode = "PIZ05",
+ PlantDesc = "Baganzola"
+ },
+ new
+ {
+ PlantId = 4,
+ LevelMax = 26000.0,
+ LevelReorder = 15000.0,
+ OrderQtyStd = 18000.0,
+ PlantCode = "PIZ08",
+ PlantDesc = "Pilastrello"
+ });
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.PlantLogModel", b =>
+ {
+ b.Property("PlantDataId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("DtEvent")
+ .HasColumnType("datetime(6)");
+
+ b.Property("FluxType")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("PlantId")
+ .HasColumnType("int");
+
+ b.Property("ValNumber")
+ .HasColumnType("double");
+
+ b.Property("ValString")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.HasKey("PlantDataId");
+
+ b.HasIndex("PlantId");
+
+ b.ToTable("PlantLog");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.PlantStatusModel", b =>
+ {
+ b.Property("PlantId")
+ .HasColumnType("int");
+
+ b.Property("FluxType")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("DtEvent")
+ .HasColumnType("datetime(6)");
+
+ b.Property("ValNumber")
+ .HasColumnType("double");
+
+ b.Property("ValString")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.HasKey("PlantId", "FluxType");
+
+ b.ToTable("PlantStatus");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.RebootLogModel", b =>
+ {
+ b.Property("RecordId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("DtEvent")
+ .HasColumnType("datetime(6)");
+
+ b.Property("Item")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("Payload")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.HasKey("RecordId");
+
+ b.ToTable("RebootLog");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.SupplierModel", b =>
+ {
+ b.Property("SupplierId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("SupplierCode")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("SupplierDesc")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.HasKey("SupplierId");
+
+ b.ToTable("Supplier");
+
+ b.HasData(
+ new
+ {
+ SupplierId = 1,
+ SupplierCode = "LIQUIGAS",
+ SupplierDesc = "Liquigas"
+ },
+ new
+ {
+ SupplierId = 2,
+ SupplierCode = "VULKANGAS",
+ SupplierDesc = "Vulkangas"
+ });
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.TransporterModel", b =>
+ {
+ b.Property("TransporterId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("PositionLatitude")
+ .HasColumnType("double");
+
+ b.Property("PositionLongitude")
+ .HasColumnType("double");
+
+ b.Property("PositionUpdated")
+ .HasColumnType("datetime(6)");
+
+ b.Property("TransporterCode")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("TransporterDesc")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.HasKey("TransporterId");
+
+ b.ToTable("Transporter");
+
+ b.HasData(
+ new
+ {
+ TransporterId = 1,
+ PositionLatitude = 0.0,
+ PositionLongitude = 0.0,
+ PositionUpdated = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ TransporterCode = "LEVO",
+ TransporterDesc = "Levorato"
+ },
+ new
+ {
+ TransporterId = 2,
+ PositionLatitude = 0.0,
+ PositionLongitude = 0.0,
+ PositionUpdated = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ TransporterCode = "TRAF",
+ TransporterDesc = "Traffik"
+ });
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.WeekPlanModel", b =>
+ {
+ b.Property("WeekPlanId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("DayNum")
+ .HasColumnType("int");
+
+ b.Property("DeliveryHour")
+ .HasColumnType("int");
+
+ b.Property("Note")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("PlantId")
+ .HasColumnType("int");
+
+ b.Property("SupplierId")
+ .HasColumnType("int");
+
+ b.Property("TransporterId")
+ .HasColumnType("int");
+
+ b.HasKey("WeekPlanId");
+
+ b.HasIndex("PlantId");
+
+ b.HasIndex("SupplierId");
+
+ b.HasIndex("TransporterId");
+
+ b.ToTable("WeekPlan");
+
+ b.HasData(
+ new
+ {
+ WeekPlanId = 1,
+ DayNum = 1,
+ DeliveryHour = 20,
+ Note = "18K",
+ PlantId = 2,
+ SupplierId = 1,
+ TransporterId = 1
+ },
+ new
+ {
+ WeekPlanId = 2,
+ DayNum = 2,
+ DeliveryHour = 20,
+ Note = "18K",
+ PlantId = 2,
+ SupplierId = 1,
+ TransporterId = 1
+ },
+ new
+ {
+ WeekPlanId = 3,
+ DayNum = 3,
+ DeliveryHour = 20,
+ Note = "18K",
+ PlantId = 2,
+ SupplierId = 1,
+ TransporterId = 2
+ },
+ new
+ {
+ WeekPlanId = 4,
+ DayNum = 4,
+ DeliveryHour = 15,
+ Note = "9K",
+ PlantId = 2,
+ SupplierId = 1,
+ TransporterId = 1
+ },
+ new
+ {
+ WeekPlanId = 5,
+ DayNum = 4,
+ DeliveryHour = 20,
+ Note = "18K",
+ PlantId = 2,
+ SupplierId = 1,
+ TransporterId = 1
+ },
+ new
+ {
+ WeekPlanId = 6,
+ DayNum = 6,
+ DeliveryHour = 20,
+ Note = "18K",
+ PlantId = 2,
+ SupplierId = 1,
+ TransporterId = 1
+ },
+ new
+ {
+ WeekPlanId = 7,
+ DayNum = 2,
+ DeliveryHour = 14,
+ Note = "3K",
+ PlantId = 3,
+ SupplierId = 1,
+ TransporterId = 1
+ },
+ new
+ {
+ WeekPlanId = 8,
+ DayNum = 2,
+ DeliveryHour = 15,
+ Note = "15K",
+ PlantId = 4,
+ SupplierId = 1,
+ TransporterId = 1
+ },
+ new
+ {
+ WeekPlanId = 9,
+ DayNum = 2,
+ DeliveryHour = 17,
+ Note = "18K",
+ PlantId = 1,
+ SupplierId = 2,
+ TransporterId = 2
+ });
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.AlarmLogModel", b =>
+ {
+ b.HasOne("GWMS.Data.DatabaseModels.PlantDetailModel", "Plant")
+ .WithMany()
+ .HasForeignKey("PlantId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Plant");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.OrderModel", b =>
+ {
+ b.HasOne("GWMS.Data.DatabaseModels.PlantDetailModel", "Plant")
+ .WithMany()
+ .HasForeignKey("PlantId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.HasOne("GWMS.Data.DatabaseModels.SupplierModel", "Supplier")
+ .WithMany()
+ .HasForeignKey("SupplierId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.HasOne("GWMS.Data.DatabaseModels.TransporterModel", "Transporter")
+ .WithMany()
+ .HasForeignKey("TransporterId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Plant");
+
+ b.Navigation("Supplier");
+
+ b.Navigation("Transporter");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.PlantLogModel", b =>
+ {
+ b.HasOne("GWMS.Data.DatabaseModels.PlantDetailModel", "Plant")
+ .WithMany()
+ .HasForeignKey("PlantId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Plant");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.PlantStatusModel", b =>
+ {
+ b.HasOne("GWMS.Data.DatabaseModels.PlantDetailModel", "Plant")
+ .WithMany()
+ .HasForeignKey("PlantId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Plant");
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.WeekPlanModel", b =>
+ {
+ b.HasOne("GWMS.Data.DatabaseModels.PlantDetailModel", "Plant")
+ .WithMany()
+ .HasForeignKey("PlantId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.HasOne("GWMS.Data.DatabaseModels.SupplierModel", "Supplier")
+ .WithMany()
+ .HasForeignKey("SupplierId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.HasOne("GWMS.Data.DatabaseModels.TransporterModel", "Transporter")
+ .WithMany()
+ .HasForeignKey("TransporterId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Plant");
+
+ b.Navigation("Supplier");
+
+ b.Navigation("Transporter");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/GWMS.Data/Migrations/20211028102841_AlarmLog.cs b/GWMS.Data/Migrations/20211028102841_AlarmLog.cs
new file mode 100644
index 0000000..a2bbb6e
--- /dev/null
+++ b/GWMS.Data/Migrations/20211028102841_AlarmLog.cs
@@ -0,0 +1,50 @@
+using System;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+namespace GWMS.Data.Migrations
+{
+ public partial class AlarmLog : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "AlarmLog",
+ columns: table => new
+ {
+ AlarmLogIdId = table.Column(type: "int", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ DtEvent = table.Column(type: "datetime(6)", nullable: false),
+ PlantId = table.Column(type: "int", nullable: false),
+ MemAddress = table.Column(type: "varchar(50)", maxLength: 50, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ Index = table.Column(type: "int", nullable: false),
+ Status = table.Column(type: "int unsigned", nullable: false),
+ ValDecoded = table.Column(type: "longtext", nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4")
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AlarmLog", x => x.AlarmLogIdId);
+ table.ForeignKey(
+ name: "FK_AlarmLog_PlantDetail_PlantId",
+ column: x => x.PlantId,
+ principalTable: "PlantDetail",
+ principalColumn: "PlantId",
+ onDelete: ReferentialAction.Restrict);
+ })
+ .Annotation("MySql:CharSet", "utf8mb4");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AlarmLog_PlantId",
+ table: "AlarmLog",
+ column: "PlantId");
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "AlarmLog");
+ }
+ }
+}
diff --git a/GWMS.Data/Migrations/GWMSContextModelSnapshot.cs b/GWMS.Data/Migrations/GWMSContextModelSnapshot.cs
index 68b5c47..a0f02bf 100644
--- a/GWMS.Data/Migrations/GWMSContextModelSnapshot.cs
+++ b/GWMS.Data/Migrations/GWMSContextModelSnapshot.cs
@@ -17,6 +17,38 @@ namespace GWMS.Data.Migrations
.HasAnnotation("Relational:MaxIdentifierLength", 64)
.HasAnnotation("ProductVersion", "5.0.10");
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.AlarmLogModel", b =>
+ {
+ b.Property("AlarmLogIdId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("DtEvent")
+ .HasColumnType("datetime(6)");
+
+ b.Property("Index")
+ .HasColumnType("int");
+
+ b.Property("MemAddress")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.Property("PlantId")
+ .HasColumnType("int");
+
+ b.Property("Status")
+ .HasColumnType("int unsigned");
+
+ b.Property("ValDecoded")
+ .HasColumnType("longtext");
+
+ b.HasKey("AlarmLogIdId");
+
+ b.HasIndex("PlantId");
+
+ b.ToTable("AlarmLog");
+ });
+
modelBuilder.Entity("GWMS.Data.DatabaseModels.AnKeyValModel", b =>
{
b.Property("KeyName")
@@ -589,6 +621,17 @@ namespace GWMS.Data.Migrations
});
});
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.AlarmLogModel", b =>
+ {
+ b.HasOne("GWMS.Data.DatabaseModels.PlantDetailModel", "Plant")
+ .WithMany()
+ .HasForeignKey("PlantId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Plant");
+ });
+
modelBuilder.Entity("GWMS.Data.DatabaseModels.OrderModel", b =>
{
b.HasOne("GWMS.Data.DatabaseModels.PlantDetailModel", "Plant")
diff --git a/GWMS.UI/Controllers/IOBController.cs b/GWMS.UI/Controllers/IOBController.cs
index 2851b36..b25b578 100644
--- a/GWMS.UI/Controllers/IOBController.cs
+++ b/GWMS.UI/Controllers/IOBController.cs
@@ -817,6 +817,71 @@ namespace GWMS.UI.Controllers
return answ;
}
+ ///
+ /// Processa una chiamata POST per l'invio di un array Json di oggetti plcMemConf
+ /// PUT: IOB/saveConf/SIMUL_03
+ ///
+ /// NB: implementato in 2 step x non usare solo System.Text.Json che nON gestisce gli ENUM
+ ///
+ ///
+ /// ID dell'IOB
+ ///
+ [HttpPost("saveConf/{id}")]
+ public async Task saveConf(string id, [FromBody] System.Text.Json.JsonElement rawQuery)
+ {
+ //Log.Debug($"Chiamata saveConf | {id}");
+ // problema deserializzaizone ENUM con classe nuova dotnet 5:
+ // https://github.com/graphql-dotnet/graphql-dotnet/issues/1439
+
+ string answ = "";
+ // recupero come stringa il json ricevuto
+ string rawJson = rawQuery.ToString();
+ if (!string.IsNullOrEmpty(rawJson))
+ {
+ var currMemMap = JsonConvert.DeserializeObject(rawJson);
+
+ if (string.IsNullOrWhiteSpace(id))
+ {
+ answ = "Missing IOB";
+ }
+ else
+ {
+ // se != null --> salvo!
+ if (currMemMap != null)
+ {
+ await _DataService.saveMemMap(id, currMemMap);
+ answ = "OK";
+ }
+ }
+ }
+ return answ;
+ }
+
+ ///
+ /// Registrazione variazione allarmi
+ ///
+ /// GET: IOB/sendAlarmBankUpdate/SIMUL_03
+ ///
+ ///
+ ///
+ [HttpGet("sendAlarmBankUpdate/{id}")]
+ public async Task sendAlarmBankUpdate(string id, string memAddr, int index, uint currStatus)
+ {
+ //Log.Debug($"Chiamata enabled | {id}");
+ string answ = "ND";
+ // se id nullo --> KO!
+ if (id == null)
+ {
+ answ = "KO";
+ }
+ else
+ {
+ var currPlant = await _DataService.PlantsGetByCode(id);
+ answ = (currPlant != null && currPlant.PlantId > 0) ? "OK" : "NO";
+ }
+ return answ;
+ }
+
#if false
///
@@ -1162,46 +1227,6 @@ namespace GWMS.UI.Controllers
#endif
- ///
- /// Processa una chiamata POST per l'invio di un array Json di oggetti plcMemConf
- /// PUT: IOB/saveConf/SIMUL_03
- ///
- /// NB: implementato in 2 step x non usare solo System.Text.Json che nON gestisce gli ENUM
- ///
- ///
- /// ID dell'IOB
- ///
- [HttpPost("saveConf/{id}")]
- public async Task saveConf(string id, [FromBody] System.Text.Json.JsonElement rawQuery)
- {
- //Log.Debug($"Chiamata saveConf | {id}");
- // problema deserializzaizone ENUM con classe nuova dotnet 5:
- // https://github.com/graphql-dotnet/graphql-dotnet/issues/1439
-
- string answ = "";
- // recupero come stringa il json ricevuto
- string rawJson = rawQuery.ToString();
- if (!string.IsNullOrEmpty(rawJson))
- {
- var currMemMap = JsonConvert.DeserializeObject(rawJson);
-
- if (string.IsNullOrWhiteSpace(id))
- {
- answ = "Missing IOB";
- }
- else
- {
- // se != null --> salvo!
- if (currMemMap != null)
- {
- await _DataService.saveMemMap(id, currMemMap);
- answ = "OK";
- }
- }
- }
- return answ;
- }
-
///
/// Salva IP e macchina
///