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 ///