diff --git a/MagMan.Data.Admin/Controllers/MTAdminController.cs b/MagMan.Data.Admin/Controllers/MTAdminController.cs
index 98a66bc..93860f7 100644
--- a/MagMan.Data.Admin/Controllers/MTAdminController.cs
+++ b/MagMan.Data.Admin/Controllers/MTAdminController.cs
@@ -72,7 +72,7 @@ namespace MagMan.Data.Admin.Controllers
.DbSetAuthKey
.Where(x => CustomerId == 0 || x.CustomerID == CustomerId)
.Include(c => c.CustomerNav)
- .OrderBy(x => x.KeyName)
+ .OrderBy(x => x.KeyNum)
.ToList();
}
return dbResult;
@@ -96,7 +96,7 @@ namespace MagMan.Data.Admin.Controllers
.FirstOrDefault();
if (currData != null)
{
- currData.KeyName = updItem.KeyName;
+ currData.KeyNum = updItem.KeyNum;
currData.KeyValue = updItem.KeyValue;
currData.Note = updItem.Note;
currData.CustomerID = updItem.CustomerID;
diff --git a/MagMan.Data.Admin/DbAdmin.cs b/MagMan.Data.Admin/DbAdmin.cs
index 7ac8e09..5d33b11 100644
--- a/MagMan.Data.Admin/DbAdmin.cs
+++ b/MagMan.Data.Admin/DbAdmin.cs
@@ -2,6 +2,7 @@
using NLog;
using System;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -62,28 +63,29 @@ namespace MagMan.Data.Admin
return answ;
}
- public static bool CheckCreateCustDb(string nKeyMain)
+ public static bool CheckCreateCustDb(int nKeyMain)
{
bool answ = false;
- string dbName = $"MagMan_{nKeyMain}";
+ string dbName = $"MagMan_{nKeyMain:000000}";
using (ServerAdminContext adbCtx = new ServerAdminContext())
{
// ricerca DB...
- string sqlCommand = $"SHOW DATABASES LIKE '%{nKeyMain}';";
+ string sqlCommand = $"SHOW DATABASES;";
var searchDb = adbCtx
.DbList
.FromSqlRaw(sqlCommand)
- .FirstOrDefault();
- // se trovato ok
+ .ToList();
+ // se trovato qualcosa procedo
if (searchDb != null)
{
- answ = true;
+ var rigaDb = searchDb.Where(x => x.Database.Contains(dbName, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
+ answ = rigaDb != null;
}
// altrimenti crea
if (!answ)
{
// creo DB
- sqlCommand = $"CREATE DATABASE [IF NOT EXISTS] MagMan_{nKeyMain};";
+ sqlCommand = $"CREATE DATABASE IF NOT EXISTS {dbName};";
adbCtx.Database.ExecuteSqlRaw(sqlCommand);
}
}
diff --git a/MagMan.Data.Admin/DbConfig.cs b/MagMan.Data.Admin/DbConfig.cs
index 6cc29d8..222908b 100644
--- a/MagMan.Data.Admin/DbConfig.cs
+++ b/MagMan.Data.Admin/DbConfig.cs
@@ -45,6 +45,12 @@ namespace MagMan.Data.Admin
return DbAdmin.CheckCreateUser(DATABASE_USER, DATABASE_PWD, DATABASE_NAME);
}
+ public static bool CheckCustDb(int masterKey)
+ {
+ // esecuzione script di install locale
+ return DbAdmin.CheckCreateCustDb(masterKey);
+ }
+
public static bool ExecMigrationIdentity()
{
// esecuzione migrazione
diff --git a/MagMan.Data.Admin/DbModels/AuthKeyModel.cs b/MagMan.Data.Admin/DbModels/AuthKeyModel.cs
index e223381..a5cf791 100644
--- a/MagMan.Data.Admin/DbModels/AuthKeyModel.cs
+++ b/MagMan.Data.Admin/DbModels/AuthKeyModel.cs
@@ -26,9 +26,9 @@ namespace MagMan.Data.Admin.DbModels
public int CustomerID { get; set; } = 0;
///
- /// Nome
+ /// Numero chiave
///
- public string KeyName { get; set; } = "";
+ public int KeyNum { get; set; } = 0;
///
/// Nome
diff --git a/MagMan.Data.Admin/DbModels/MachineModel.cs b/MagMan.Data.Admin/DbModels/MachineModel.cs
index 619b47e..6bde5ee 100644
--- a/MagMan.Data.Admin/DbModels/MachineModel.cs
+++ b/MagMan.Data.Admin/DbModels/MachineModel.cs
@@ -48,7 +48,7 @@ namespace MagMan.Data.Admin.DbModels
///
/// Chiave principale (impianto) associata
///
- public string MainKey { get; set; } = "";
+ public int MainKey { get; set; } = 0;
///
/// Boolean di creazione DB
diff --git a/MagMan.Data.Admin/Migrations/20240115100646_MachineKeyAndDb.Designer.cs b/MagMan.Data.Admin/Migrations/20240115132229_MachineKeyAndDb.Designer.cs
similarity index 93%
rename from MagMan.Data.Admin/Migrations/20240115100646_MachineKeyAndDb.Designer.cs
rename to MagMan.Data.Admin/Migrations/20240115132229_MachineKeyAndDb.Designer.cs
index a27f11d..ea72a76 100644
--- a/MagMan.Data.Admin/Migrations/20240115100646_MachineKeyAndDb.Designer.cs
+++ b/MagMan.Data.Admin/Migrations/20240115132229_MachineKeyAndDb.Designer.cs
@@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace MagMan.Data.Admin.Migrations
{
[DbContext(typeof(MultiTenantContext))]
- [Migration("20240115100646_MachineKeyAndDb")]
+ [Migration("20240115132229_MachineKeyAndDb")]
partial class MachineKeyAndDb
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -36,9 +36,8 @@ namespace MagMan.Data.Admin.Migrations
b.Property("IsActive")
.HasColumnType("tinyint(1)");
- b.Property("KeyName")
- .IsRequired()
- .HasColumnType("longtext");
+ b.Property("KeyNum")
+ .HasColumnType("int");
b.Property("KeyValue")
.IsRequired()
@@ -98,9 +97,8 @@ namespace MagMan.Data.Admin.Migrations
b.Property("IsActive")
.HasColumnType("tinyint(1)");
- b.Property("MainKey")
- .IsRequired()
- .HasColumnType("longtext");
+ b.Property("MainKey")
+ .HasColumnType("int");
b.Property("Name")
.IsRequired()
diff --git a/MagMan.Data.Admin/Migrations/20240115100646_MachineKeyAndDb.cs b/MagMan.Data.Admin/Migrations/20240115132229_MachineKeyAndDb.cs
similarity index 61%
rename from MagMan.Data.Admin/Migrations/20240115100646_MachineKeyAndDb.cs
rename to MagMan.Data.Admin/Migrations/20240115132229_MachineKeyAndDb.cs
index bef22b5..26e0148 100644
--- a/MagMan.Data.Admin/Migrations/20240115100646_MachineKeyAndDb.cs
+++ b/MagMan.Data.Admin/Migrations/20240115132229_MachineKeyAndDb.cs
@@ -8,6 +8,10 @@ namespace MagMan.Data.Admin.Migrations
{
protected override void Up(MigrationBuilder migrationBuilder)
{
+ migrationBuilder.DropColumn(
+ name: "KeyName",
+ table: "AuthKeyList");
+
migrationBuilder.AddColumn(
name: "HasDb",
table: "MachineList",
@@ -15,12 +19,19 @@ namespace MagMan.Data.Admin.Migrations
nullable: false,
defaultValue: false);
- migrationBuilder.AddColumn(
+ migrationBuilder.AddColumn(
name: "MainKey",
table: "MachineList",
- type: "longtext",
- nullable: false)
- .Annotation("MySql:CharSet", "utf8mb4");
+ type: "int",
+ nullable: false,
+ defaultValue: 0);
+
+ migrationBuilder.AddColumn(
+ name: "KeyNum",
+ table: "AuthKeyList",
+ type: "int",
+ nullable: false,
+ defaultValue: 0);
}
protected override void Down(MigrationBuilder migrationBuilder)
@@ -32,6 +43,17 @@ namespace MagMan.Data.Admin.Migrations
migrationBuilder.DropColumn(
name: "MainKey",
table: "MachineList");
+
+ migrationBuilder.DropColumn(
+ name: "KeyNum",
+ table: "AuthKeyList");
+
+ migrationBuilder.AddColumn(
+ name: "KeyName",
+ table: "AuthKeyList",
+ type: "longtext",
+ nullable: false)
+ .Annotation("MySql:CharSet", "utf8mb4");
}
}
}
diff --git a/MagMan.Data.Admin/Migrations/MultiTenantContextModelSnapshot.cs b/MagMan.Data.Admin/Migrations/MultiTenantContextModelSnapshot.cs
index 4a4cebf..57dd6d5 100644
--- a/MagMan.Data.Admin/Migrations/MultiTenantContextModelSnapshot.cs
+++ b/MagMan.Data.Admin/Migrations/MultiTenantContextModelSnapshot.cs
@@ -34,9 +34,8 @@ namespace MagMan.Data.Admin.Migrations
b.Property("IsActive")
.HasColumnType("tinyint(1)");
- b.Property("KeyName")
- .IsRequired()
- .HasColumnType("longtext");
+ b.Property("KeyNum")
+ .HasColumnType("int");
b.Property("KeyValue")
.IsRequired()
@@ -96,9 +95,8 @@ namespace MagMan.Data.Admin.Migrations
b.Property("IsActive")
.HasColumnType("tinyint(1)");
- b.Property("MainKey")
- .IsRequired()
- .HasColumnType("longtext");
+ b.Property("MainKey")
+ .HasColumnType("int");
b.Property("Name")
.IsRequired()