using ApiPolo.Interfaces;
using ApiPolo.Models;
using ApiPolo.Models.Security_dbcontext;
using Microsoft.EntityFrameworkCore;
namespace ApiPolo.Data
{
///
public class Marro_DbContext : DbContext,ITenantDbContext
{
#region PROPERTIES
public DbSet? Causali { get; set; }
public DbSet? Chiusure { get; set; }
public DbSet? Azi { get; set; }
public DbSet? ccci { get; set; }
public DbSet? ccciWiev { get; set; }
public DbSet? Chiamate { get; set; }
public DbSet? Clienti { get; set; }
public DbSet? Componen { get; set; } // IN CONFLITTO CON Compo_Impia
//public DbSet? Componen { get; set; } //CAMBIARE NOME!!!
public DbSet? Impia { get; set; }
public DbSet? Mag { get; set; }
public DbSet? Magaz { get; set; }
public DbSet? Manutenzioni { get; set; }
public DbSet? Pagamenti { get; set; }
public DbSet? Prese { get; set; }
public DbSet? Rapps { get; set; }
public DbSet? rapp { get; set; }
public DbSet? Sost { get; set; }
public DbSet? Saldi { get; set; }
public DbSet? StoRapp { get; set; }
public DbSet? Tecnici { get; set; }
public DbSet? StoImp { get; set; }
public DbSet? Timbr { get; set; }
public DbSet? Commesse { get; set; }
#endregion
///
public Marro_DbContext(DbContextOptions options) : base(options)
{
}
///
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
void TryConfigureEntity(Action configure, string entityName)
{
try
{
configure(modelBuilder);
}
catch (Exception ex)
{
Console.WriteLine($"Warning: Skipping entity '{entityName}' due to error: {ex.Message}");
}
}
TryConfigureEntity(mb => mb.Entity().ToView("API_CAUS_RAPP"), "API_CAUS_RAPP");
TryConfigureEntity(mb => mb.Entity().ToView("API_CHIUSURE"), "API_CHIUSURE");
TryConfigureEntity(mb =>
{
mb.Entity().ToTable("PIAZIRIF");
mb.Entity().HasKey(table => new
{
table.piazihoc,
table.picodtec,
table.pirifazi
});
}, "PIAZIRIF");
TryConfigureEntity(mb =>
{
mb.Entity().ToTable("PIASSCHIU");
mb.Entity().HasKey(table => new
{
table.picodazi,
table.picodint,
table.picodchi
});
}, "PIASSCHIU");
TryConfigureEntity(mb => mb.Entity().ToView("API_ASSCHIU"), "API_ASSCHIU");
TryConfigureEntity(mb => mb.Entity().ToView("API_CHIAMATE"), "API_CHIAMATE");
TryConfigureEntity(mb => mb.Entity().ToView("API_CLIENTI"), "API_CLIENTI");
TryConfigureEntity(mb =>
{
mb.Entity().ToTable("DISCOMICOMIMP");
mb.Entity().HasKey(table => new
{
table.cocodimp,
table.cprownum,
table.cocodazi
});
}, "DISCOMICOMIMP");
TryConfigureEntity(mb => mb.Entity().ToView("API_MICOMIMP"), "API_MICOMIMP");
TryConfigureEntity(mb => mb.Entity().ToView("API_IMPIANTI"), "API_IMPIANTI");
TryConfigureEntity(mb =>
{
mb.Entity().ToTable("DISCOMAG_NEW");
mb.Entity().HasKey(table => new
{
table.seriale_rapportino,
table.riga
});
}, "DISCOMAG_NEW");
TryConfigureEntity(mb => mb.Entity().ToTable("DISCOMAGAZZIN"), "DISCOMAGAZZIN");
TryConfigureEntity(mb => mb.Entity().ToView("API_MANPROG"), "API_MANPROG");
TryConfigureEntity(mb => mb.Entity().ToView("API_PAGAMENTI"), "API_PAGAMENTI");
TryConfigureEntity(mb =>
{
mb.Entity().ToTable("PIPRESA");
mb.Entity().HasKey(table => new
{
table.picodazi,
table.pimpianto,
table.picodint,
table.pidatman
});
}, "PIPRESA");
TryConfigureEntity(mb => mb.Entity().ToTable("RAPP_NEW"), "RAPP_NEW");
TryConfigureEntity(mb => mb.Entity().ToView("API_RAPPORTINI"), "API_RAPPORTINI");
TryConfigureEntity(mb => mb.Entity().ToView("API_SALDIART_PREZZI"), "API_SALDIART_PREZZI");
TryConfigureEntity(mb => mb.Entity().ToView("API_SOSTITUZIONI"), "API_SOSTITUZIONI");
TryConfigureEntity(mb => mb.Entity().ToView("API_STO_RAPP"), "API_STO_RAPP");
TryConfigureEntity(mb => mb.Entity().ToView("API_TECNICI"), "API_TECNICI");
TryConfigureEntity(mb => mb.Entity().ToTable("TIMBRATURE"), "TIMBRATURE");
TryConfigureEntity(mb => mb.Entity().ToView("API_COMMESSE"), "API_COMMESSE");
TryConfigureEntity(mb => mb.Entity().ToView("API_STO_IMP"), "API_STO_IMP");
}
}
}