From a9e2888d07b76a3bccdc4214df5603dd25d9bcba Mon Sep 17 00:00:00 2001 From: "LORENZO\\pacio" Date: Wed, 26 Mar 2025 14:40:49 +0100 Subject: [PATCH] dbcontext con tabelle dinamiche --- ApiPolo/Controllers/PoloController.cs | 5 +---- ApiPolo/Data/TenantDbContext.cs | 12 +++++++----- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/ApiPolo/Controllers/PoloController.cs b/ApiPolo/Controllers/PoloController.cs index 4ced372..5cd2263 100644 --- a/ApiPolo/Controllers/PoloController.cs +++ b/ApiPolo/Controllers/PoloController.cs @@ -58,7 +58,6 @@ namespace ApiPolo.Controllers private readonly Service _service; private readonly TokenDbContext? _tokens; - private readonly Maras_DbContext _Maras; /* #region TECNICI @@ -532,8 +531,7 @@ namespace ApiPolo.Controllers ConfigurazioniDbContext config, ITenantDbContextFactory dbContextFactory, Service service, - TokenDbContext tokens, - Maras_DbContext maras + TokenDbContext tokens /* #region tecnici @@ -905,7 +903,6 @@ namespace ApiPolo.Controllers _service = service; _config = config; _tokens = tokens; - _Maras = maras; /* #region TECNICI diff --git a/ApiPolo/Data/TenantDbContext.cs b/ApiPolo/Data/TenantDbContext.cs index 2e5abb8..e788f4b 100644 --- a/ApiPolo/Data/TenantDbContext.cs +++ b/ApiPolo/Data/TenantDbContext.cs @@ -8,6 +8,7 @@ namespace ApiPolo.Data public class TenantDbContext : DbContext,ITenantDbContext { private readonly string _connectionString; + private readonly string _tenantCode; #region PROPERTIES public DbSet? Causali { get; set; } @@ -66,6 +67,7 @@ namespace ApiPolo.Data : base(options) { // Fetch the connection string dynamically based on tenant + _tenantCode = tenant; _connectionString = configuration.GetConnectionString(tenant) ?? throw new KeyNotFoundException($"No connection string found for tenant: {tenant}"); } @@ -126,14 +128,14 @@ namespace ApiPolo.Data TryConfigureEntity(mb => { - mb.Entity().ToTable("DISCOMICOMIMP"); + mb.Entity().ToTable($"{_tenantCode}MICOMIMP"); mb.Entity().HasKey(table => new { table.cocodimp, table.cprownum, table.cocodazi }); - }, "DISCOMICOMIMP"); + }, $"{_tenantCode}MICOMIMP"); TryConfigureEntity(mb => mb.Entity().ToView("API_MICOMIMP"), "API_MICOMIMP"); @@ -141,15 +143,15 @@ namespace ApiPolo.Data TryConfigureEntity(mb => { - mb.Entity().ToTable("DISCOMAG_NEW"); + mb.Entity().ToTable($"{_tenantCode}MAG_NEW"); mb.Entity().HasKey(table => new { table.seriale_rapportino, table.riga }); - }, "DISCOMAG_NEW"); + }, $"{_tenantCode}MAG_NEW"); - TryConfigureEntity(mb => mb.Entity().ToTable("DISCOMAGAZZIN"), "DISCOMAGAZZIN"); + TryConfigureEntity(mb =>mb.Entity().ToTable($"{_tenantCode}MAGAZZIN"), $"{_tenantCode}MAGAZZIN"); TryConfigureEntity(mb => mb.Entity().ToView("API_MANPROG"), "API_MANPROG");