diff --git a/GWMS.Data/Controllers/GWMSController.cs b/GWMS.Data/Controllers/GWMSController.cs
index 1651022..b89a299 100644
--- a/GWMS.Data/Controllers/GWMSController.cs
+++ b/GWMS.Data/Controllers/GWMSController.cs
@@ -225,6 +225,26 @@ namespace GWMS.Data.Controllers
return dbResult;
}
+ ///
+ /// Restituisce ultimi eventi rebootlog
+ ///
+ /// num eventi, se 0 = tutti
+ ///
+ public List GetRebootLog(int maxNum = 100)
+ {
+ if (maxNum == 0)
+ {
+ maxNum = dbCtx.DbRebootLog.Count();
+ }
+ var dbResult = dbCtx
+ .DbRebootLog
+ .OrderByDescending(x => x.DtEvent)
+ .Take(maxNum)
+ .ToList();
+
+ return dbResult;
+ }
+
public List GetSuppliers()
{
var dbResult = dbCtx
@@ -436,6 +456,22 @@ namespace GWMS.Data.Controllers
return fatto;
}
+ public bool RecordRebootLog(RebootLogModel newItem)
+ {
+ bool done = false;
+ try
+ {
+ dbCtx
+ .DbRebootLog
+ .Add(newItem);
+ dbCtx.SaveChanges();
+ done = true;
+ }
+ catch (Exception exc)
+ { }
+ return done;
+ }
+
///
/// Rigenera intero DB se riceve ID di un plant SIM...
///
diff --git a/GWMS.Data/DatabaseModels/RebootLogModel.cs b/GWMS.Data/DatabaseModels/RebootLogModel.cs
new file mode 100644
index 0000000..d7b0eab
--- /dev/null
+++ b/GWMS.Data/DatabaseModels/RebootLogModel.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Linq;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using Microsoft.EntityFrameworkCore;
+
+//
+// This is here so CodeMaid doesn't reorganize this document
+//
+
+namespace GWMS.Data.DatabaseModels
+{
+ ///
+ /// Tabella dati Plant (log storico)
+ ///
+ [Table("RebootLog")]
+ public class RebootLogModel
+ {
+ #region Public Properties
+
+ [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int RecordId { get; set; }
+
+ public DateTime DtEvent { get; set; } = DateTime.Now;
+
+ ///
+ /// Oggetto di cui si registra il reboot log
+ ///
+ [MaxLength(250)]
+ public string Item { get; set; } = "ND";
+
+ ///
+ /// Payload associato (IP/Mac address)
+ ///
+ [MaxLength(250)]
+ public string Payload { get; set; } = "";
+
+ #endregion Public Properties
+ }
+}
\ No newline at end of file
diff --git a/GWMS.Data/DbConfig.cs b/GWMS.Data/DbConfig.cs
index 08a93b9..b2fbc6a 100644
--- a/GWMS.Data/DbConfig.cs
+++ b/GWMS.Data/DbConfig.cs
@@ -49,13 +49,17 @@ namespace GWMS.Data
public static async Task ExecMigrationIdentity()
{
// esecuzione migrazione
- return await DbAdmin.migrateDbIdentity();
+ var migrateTask = Task.Run(async () => await DbAdmin.migrateDbIdentity());
+ migrateTask.Wait();
+ return migrateTask.Result;
}
- public static async Task ExecMigrationMain()
+ public static bool ExecMigrationMain()
{
// esecuzione migrazione
- return await DbAdmin.migrateDbMain();
+ var migrateTask = Task.Run(async () => await DbAdmin.migrateDbMain());
+ migrateTask.Wait();
+ return migrateTask.Result;
}
public static void InitDb(string server, string nKey, string sKey)
diff --git a/GWMS.Data/GWMSContext.cs b/GWMS.Data/GWMSContext.cs
index 362207c..3909cc6 100644
--- a/GWMS.Data/GWMSContext.cs
+++ b/GWMS.Data/GWMSContext.cs
@@ -42,6 +42,7 @@ namespace GWMS.Data
#region Public Properties
+ public virtual DbSet DbRebootLog { get; set; }
public virtual DbSet DbSetConfig { get; set; }
public virtual DbSet DbSetItems { get; set; }
diff --git a/GWMS.Data/Migrations/20210802085127_RebootLog.Designer.cs b/GWMS.Data/Migrations/20210802085127_RebootLog.Designer.cs
new file mode 100644
index 0000000..783ba92
--- /dev/null
+++ b/GWMS.Data/Migrations/20210802085127_RebootLog.Designer.cs
@@ -0,0 +1,910 @@
+//
+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("20210802085127_RebootLog")]
+ partial class RebootLog
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("Relational:MaxIdentifierLength", 64)
+ .HasAnnotation("ProductVersion", "5.0.7");
+
+ 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("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.PlantDetailModel", b =>
+ {
+ b.Property("PlantId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("LevelAct")
+ .HasColumnType("double");
+
+ b.Property("LevelMax")
+ .HasColumnType("double");
+
+ b.Property("PlantCode")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("PlantDesc")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("PressAct")
+ .HasColumnType("double");
+
+ b.Property("PressBHAct")
+ .HasColumnType("double");
+
+ b.Property("PressBHMax")
+ .HasColumnType("double");
+
+ b.Property("PressBLAct")
+ .HasColumnType("double");
+
+ b.Property("PressBLMax")
+ .HasColumnType("double");
+
+ b.Property("PressMax")
+ .HasColumnType("double");
+
+ b.HasKey("PlantId");
+
+ b.ToTable("PlantDetail");
+
+ b.HasData(
+ new
+ {
+ PlantId = 1,
+ LevelAct = 0.0,
+ LevelMax = 28000.0,
+ PlantCode = "PIZ03",
+ PlantDesc = "Collecchio",
+ PressAct = 0.0,
+ PressBHAct = 0.0,
+ PressBHMax = 270.0,
+ PressBLAct = 0.0,
+ PressBLMax = 270.0,
+ PressMax = 19.0
+ },
+ new
+ {
+ PlantId = 2,
+ LevelAct = 0.0,
+ LevelMax = 28000.0,
+ PlantCode = "PIZ04",
+ PlantDesc = "Noceto",
+ PressAct = 0.0,
+ PressBHAct = 0.0,
+ PressBHMax = 270.0,
+ PressBLAct = 0.0,
+ PressBLMax = 270.0,
+ PressMax = 19.0
+ },
+ new
+ {
+ PlantId = 3,
+ LevelAct = 0.0,
+ LevelMax = 24000.0,
+ PlantCode = "PIZ05",
+ PlantDesc = "Baganzola",
+ PressAct = 0.0,
+ PressBHAct = 0.0,
+ PressBHMax = 270.0,
+ PressBLAct = 0.0,
+ PressBLMax = 270.0,
+ PressMax = 19.0
+ },
+ new
+ {
+ PlantId = 4,
+ LevelAct = 0.0,
+ LevelMax = 24000.0,
+ PlantCode = "PIZ08",
+ PlantDesc = "Pilastrello",
+ PressAct = 0.0,
+ PressBHAct = 0.0,
+ PressBHMax = 270.0,
+ PressBLAct = 0.0,
+ PressBLMax = 270.0,
+ PressMax = 19.0
+ });
+ });
+
+ 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(2021, 8, 2, 10, 51, 27, 549, DateTimeKind.Local).AddTicks(3264),
+ TransporterCode = "LEVO",
+ TransporterDesc = "Levorato"
+ },
+ new
+ {
+ TransporterId = 2,
+ PositionLatitude = 0.0,
+ PositionLongitude = 0.0,
+ PositionUpdated = new DateTime(2021, 8, 2, 10, 51, 27, 549, DateTimeKind.Local).AddTicks(3842),
+ TransporterCode = "TRAF",
+ TransporterDesc = "Traffik"
+ });
+ });
+
+ modelBuilder.Entity("GWMS.Data.DatabaseModels.UserModel", b =>
+ {
+ b.Property("UserId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ b.Property("AuthKey")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("Email")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("Firstname")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.Property("IsActive")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Lang")
+ .HasMaxLength(10)
+ .HasColumnType("varchar(10)");
+
+ b.Property("Lastname")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.Property("Livello")
+ .HasColumnType("int");
+
+ b.Property("MaskPlantId")
+ .HasColumnType("int");
+
+ b.Property("MaskSupplierId")
+ .HasColumnType("int");
+
+ b.Property("MaskTranspId")
+ .HasColumnType("int");
+
+ b.Property("SaltPasswd")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("UserName")
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.HasKey("UserId");
+
+ b.ToTable("Users");
+
+ b.HasData(
+ new
+ {
+ UserId = 1,
+ AuthKey = "th1sIsTh3R1vrOfThNgt98",
+ Email = "samuele@steamware.net",
+ Firstname = "Samuele",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "Locatelli",
+ Livello = 1,
+ MaskPlantId = 0,
+ MaskSupplierId = 0,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "samuele.locatelli"
+ },
+ new
+ {
+ UserId = 2,
+ AuthKey = "th1sIsTh3R1vrOfThNgt91",
+ Email = "giancarlo@steamware.net",
+ Firstname = "Giancarlo",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "Rottoli",
+ Livello = 1,
+ MaskPlantId = 0,
+ MaskSupplierId = 0,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "giancarlo.rottoli"
+ },
+ new
+ {
+ UserId = 3,
+ AuthKey = "th1sIsTh3R1vrOfThNgt93",
+ Email = "info@steamware.net",
+ Firstname = "Steamware",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "Admin",
+ Livello = 1,
+ MaskPlantId = 0,
+ MaskSupplierId = 0,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "steamw.admin"
+ },
+ new
+ {
+ UserId = 4,
+ AuthKey = "th1sIsTh3R1vrOfThNgt97",
+ Email = "a.pizzaferri@pizzaferripetroli.it",
+ Firstname = "Angelo",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "Pizzaferri",
+ Livello = 2,
+ MaskPlantId = 0,
+ MaskSupplierId = 0,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "angelo.pizzaferri"
+ },
+ new
+ {
+ UserId = 5,
+ AuthKey = "th1sIsTh3R1vrOfThNgt99",
+ Email = "andrei.valeanu@winnlab.it",
+ Firstname = "Andrei",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "Valeanu",
+ Livello = 2,
+ MaskPlantId = 0,
+ MaskSupplierId = 0,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "andrei.valeanu"
+ },
+ new
+ {
+ UserId = 6,
+ AuthKey = "th1sIsTh3R1vrOfThNgt92",
+ Email = "info@steamware.net",
+ Firstname = "User",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "LIQUIGAS",
+ Livello = 4,
+ MaskPlantId = 0,
+ MaskSupplierId = 1,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "liquigas.user01"
+ },
+ new
+ {
+ UserId = 7,
+ AuthKey = "th1sIsTh3R1vrOfThNgt94",
+ Email = "info@steamware.net",
+ Firstname = "User",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "VULKANGAS",
+ Livello = 4,
+ MaskPlantId = 0,
+ MaskSupplierId = 2,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "vulkangas.user01"
+ },
+ new
+ {
+ UserId = 8,
+ AuthKey = "th1sIsTh3R1vrOfThNgt95",
+ Email = "info@steamware.net",
+ Firstname = "User",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "LEVORATO",
+ Livello = 4,
+ MaskPlantId = 0,
+ MaskSupplierId = 0,
+ MaskTranspId = 1,
+ SaltPasswd = "",
+ UserName = "levorato.user01"
+ },
+ new
+ {
+ UserId = 9,
+ AuthKey = "th1sIsTh3R1vrOfThNgt96",
+ Email = "info@steamware.net",
+ Firstname = "User",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "TRAFFIK",
+ Livello = 4,
+ MaskPlantId = 0,
+ MaskSupplierId = 0,
+ MaskTranspId = 2,
+ SaltPasswd = "",
+ UserName = "traffik.user01"
+ },
+ new
+ {
+ UserId = 10,
+ AuthKey = "th1sIsTh3R1vrOfThNgt96",
+ Email = "info@steamware.net",
+ Firstname = "Stazione",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "Collecchio",
+ Livello = 3,
+ MaskPlantId = 1,
+ MaskSupplierId = 0,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "piz03.user01"
+ },
+ new
+ {
+ UserId = 11,
+ AuthKey = "th1sIsTh3R1vrOfThNgt96",
+ Email = "info@steamware.net",
+ Firstname = "Stazione",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "Noceto",
+ Livello = 3,
+ MaskPlantId = 2,
+ MaskSupplierId = 0,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "piz04.user01"
+ },
+ new
+ {
+ UserId = 12,
+ AuthKey = "th1sIsTh3R1vrOfThNgt96",
+ Email = "info@steamware.net",
+ Firstname = "Stazione",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "Baganzola",
+ Livello = 3,
+ MaskPlantId = 3,
+ MaskSupplierId = 0,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "piz05.user01"
+ },
+ new
+ {
+ UserId = 13,
+ AuthKey = "th1sIsTh3R1vrOfThNgt96",
+ Email = "info@steamware.net",
+ Firstname = "Stazione",
+ IsActive = true,
+ Lang = "IT",
+ Lastname = "Pilastrello",
+ Livello = 3,
+ MaskPlantId = 4,
+ MaskSupplierId = 0,
+ MaskTranspId = 0,
+ SaltPasswd = "",
+ UserName = "piz08.user01"
+ });
+ });
+
+ 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.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/20210802085127_RebootLog.cs b/GWMS.Data/Migrations/20210802085127_RebootLog.cs
new file mode 100644
index 0000000..ea94460
--- /dev/null
+++ b/GWMS.Data/Migrations/20210802085127_RebootLog.cs
@@ -0,0 +1,68 @@
+using System;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+namespace GWMS.Data.Migrations
+{
+ public partial class RebootLog : Migration
+ {
+ #region Protected Methods
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "RebootLog");
+
+ migrationBuilder.UpdateData(
+ table: "Transporter",
+ keyColumn: "TransporterId",
+ keyValue: 1,
+ column: "PositionUpdated",
+ value: new DateTime(2021, 6, 25, 16, 15, 35, 940, DateTimeKind.Local).AddTicks(7402));
+
+ migrationBuilder.UpdateData(
+ table: "Transporter",
+ keyColumn: "TransporterId",
+ keyValue: 2,
+ column: "PositionUpdated",
+ value: new DateTime(2021, 6, 25, 16, 15, 35, 940, DateTimeKind.Local).AddTicks(8022));
+ }
+
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "RebootLog",
+ columns: table => new
+ {
+ RecordId = table.Column(type: "int", nullable: false)
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
+ DtEvent = table.Column(type: "datetime(6)", nullable: false),
+ Item = table.Column(type: "varchar(250)", maxLength: 250, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ Payload = table.Column(type: "varchar(250)", maxLength: 250, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4")
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_RebootLog", x => x.RecordId);
+ })
+ .Annotation("MySql:CharSet", "utf8mb4");
+
+ migrationBuilder.UpdateData(
+ table: "Transporter",
+ keyColumn: "TransporterId",
+ keyValue: 1,
+ column: "PositionUpdated",
+ value: new DateTime(2021, 8, 2, 10, 51, 27, 549, DateTimeKind.Local).AddTicks(3264));
+
+ migrationBuilder.UpdateData(
+ table: "Transporter",
+ keyColumn: "TransporterId",
+ keyValue: 2,
+ column: "PositionUpdated",
+ value: new DateTime(2021, 8, 2, 10, 51, 27, 549, DateTimeKind.Local).AddTicks(3842));
+ }
+
+ #endregion Protected Methods
+ }
+}
\ No newline at end of file
diff --git a/GWMS.Data/Migrations/GWMSContextModelSnapshot.cs b/GWMS.Data/Migrations/GWMSContextModelSnapshot.cs
index 27f1ab2..b5e50dd 100644
--- a/GWMS.Data/Migrations/GWMSContextModelSnapshot.cs
+++ b/GWMS.Data/Migrations/GWMSContextModelSnapshot.cs
@@ -332,6 +332,28 @@ namespace GWMS.Data.Migrations
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")
@@ -398,7 +420,7 @@ namespace GWMS.Data.Migrations
TransporterId = 1,
PositionLatitude = 0.0,
PositionLongitude = 0.0,
- PositionUpdated = new DateTime(2021, 6, 25, 16, 15, 35, 940, DateTimeKind.Local).AddTicks(7402),
+ PositionUpdated = new DateTime(2021, 8, 2, 10, 51, 27, 549, DateTimeKind.Local).AddTicks(3264),
TransporterCode = "LEVO",
TransporterDesc = "Levorato"
},
@@ -407,7 +429,7 @@ namespace GWMS.Data.Migrations
TransporterId = 2,
PositionLatitude = 0.0,
PositionLongitude = 0.0,
- PositionUpdated = new DateTime(2021, 6, 25, 16, 15, 35, 940, DateTimeKind.Local).AddTicks(8022),
+ PositionUpdated = new DateTime(2021, 8, 2, 10, 51, 27, 549, DateTimeKind.Local).AddTicks(3842),
TransporterCode = "TRAF",
TransporterDesc = "Traffik"
});
diff --git a/GWMS.UI/Controllers/IOBController.cs b/GWMS.UI/Controllers/IOBController.cs
index 4bf78e6..21c4328 100644
--- a/GWMS.UI/Controllers/IOBController.cs
+++ b/GWMS.UI/Controllers/IOBController.cs
@@ -1109,9 +1109,20 @@ namespace GWMS.UI.Controllers
[HttpGet("sendReboot")]
public string sendReboot(string idxMacchina, string mac)
{
- string answ = "OK";
- // deve registrare startup IOB-WIN e macchina
-
+ string answ = "";
+ try
+ {
+ // registrazione startup IOB-WIN e macchina
+ RebootLogModel newItem = new RebootLogModel()
+ {
+ DtEvent = DateTime.Now,
+ Item = idxMacchina,
+ Payload = mac
+ };
+ _DataService.RebootLogInsert(newItem);
+ }
+ catch
+ { }
return answ;
}
diff --git a/GWMS.UI/Data/GWMSDataService.cs b/GWMS.UI/Data/GWMSDataService.cs
index 026c40b..799fbb8 100644
--- a/GWMS.UI/Data/GWMSDataService.cs
+++ b/GWMS.UI/Data/GWMSDataService.cs
@@ -130,6 +130,24 @@ namespace GWMS.UI.Data
return await Task.FromResult(dbResult);
}
+ public PlantLogModel convertFluxToPL(int plantId, flogData origData)
+ {
+ // cerco di ottenere un val in cifre
+ double valDbl = 0;
+ double.TryParse(origData.valore, out valDbl);
+ TimeSpan delta = origData.dtCurr.Subtract(origData.dtEve);
+ PlantLogModel answ = new PlantLogModel()
+ {
+ FluxType = origData.flux,
+ ValNumber = valDbl,
+ ValString = origData.valore,
+ PlantId = plantId,
+ DtEvent = DateTime.Now.Subtract(delta)
+ };
+
+ return answ;
+ }
+
public async Task HasPlantLog()
{
return await Task.FromResult(dbController.HasPlantLog());
@@ -218,18 +236,6 @@ namespace GWMS.UI.Data
return dbController.PlantLogInsertNew(newItems);
}
- public async Task PlantsGetByCode(string PlantCode)
- {
- PlantDTO answ = new PlantDTO();
- var ListRecords = await PlantsGetAll();
- var found = ListRecords.Where(x => x.PlantCode == PlantCode).FirstOrDefault();
- if (found != null)
- {
- answ = found;
- }
- return await Task.FromResult(answ);
- }
-
public async Task> PlantsGetAll()
{
List dbResult = new List();
@@ -256,6 +262,28 @@ namespace GWMS.UI.Data
return await Task.FromResult(dbResult);
}
+ public async Task PlantsGetByCode(string PlantCode)
+ {
+ PlantDTO answ = new PlantDTO();
+ var ListRecords = await PlantsGetAll();
+ var found = ListRecords.Where(x => x.PlantCode == PlantCode).FirstOrDefault();
+ if (found != null)
+ {
+ answ = found;
+ }
+ return await Task.FromResult(answ);
+ }
+
+ public void RebootLogInsert(RebootLogModel newItem)
+ {
+ try
+ {
+ dbController.RecordRebootLog(newItem);
+ }
+ catch
+ { }
+ }
+
public async Task RegenDB(int numDays, int stepMin = 30, int maxHourRate = 800)
{
return await Task.FromResult(dbController.RegenDB(1, numDays, stepMin, maxHourRate));
@@ -386,25 +414,6 @@ namespace GWMS.UI.Data
}
}
- public PlantLogModel convertFluxToPL(int plantId, flogData origData)
- {
- // cerco di ottenere un val in cifre
- double valDbl = 0;
- double.TryParse(origData.valore, out valDbl);
- TimeSpan delta = origData.dtCurr.Subtract(origData.dtEve);
- PlantLogModel answ = new PlantLogModel()
- {
- FluxType = origData.flux,
- ValNumber = valDbl,
- ValString = origData.valore,
- PlantId = plantId,
- DtEvent = DateTime.Now.Subtract(delta)
-
- };
-
- return answ;
- }
-
#endregion Public Methods
}
}
\ No newline at end of file
diff --git a/GWMS.UI/Startup.cs b/GWMS.UI/Startup.cs
index a1a3429..7ade4c7 100644
--- a/GWMS.UI/Startup.cs
+++ b/GWMS.UI/Startup.cs
@@ -99,7 +99,6 @@ namespace GWMS.UI
ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
});
endpoints.MapFallbackToPage("/_Host");
-
});
}
@@ -114,6 +113,9 @@ namespace GWMS.UI
DbConfig.InitDb(dbServerAddr, nKey, sKey);
// inizializzo il DB e creo (se necessario) l'utente
DbConfig.CheckUser(nKey, sKey);
+ // verifico se serve applicazione migrazioni
+ DbConfig.ExecMigrationMain();
+ DbConfig.ExecMigrationIdentity();
// altri parametri per check vari
string connStringDB = DbConfig.CONNECTION_STRING;
diff --git a/Resources/ChangeLog.html b/Resources/ChangeLog.html
index 880fa15..cbcde20 100644
--- a/Resources/ChangeLog.html
+++ b/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo statistiche MAPO
- Versione: 1.0.2107.3018
+ Versione: 1.0.2108.0211
Note di rilascio:
diff --git a/Resources/VersNum.txt b/Resources/VersNum.txt
index 39248f0..32eaa56 100644
--- a/Resources/VersNum.txt
+++ b/Resources/VersNum.txt
@@ -1 +1 @@
-1.0.2107.3018
+1.0.2108.0211
diff --git a/Resources/manifest.xml b/Resources/manifest.xml
index afdb7ec..7c5c1ff 100644
--- a/Resources/manifest.xml
+++ b/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 1.0.2107.3018
+ 1.0.2108.0211
http://nexus.steamware.net/repository/SWS/MP-STATS/stable/0/GWMS.UI.zip
http://nexus.steamware.net/repository/SWS/MP-STATS/stable/0/ChangeLog.html
false