using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using MP.Data.DbModels;
using MP.Data.DbModels.Anag;
using NLog;
#nullable disable
//
// This is here so CodeMaid doesn't reorganize this document
//
namespace MP.Data
{
public partial class MoonProContext : DbContext
{
#region Private Fields
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
private IConfiguration _configuration;
#endregion Private Fields
#region Public Constructors
//public MoonProContext(IConfiguration configuration)
//{
// _configuration = configuration;
//}
//public MoonProContext(DbContextOptions options, IConfiguration configuration)
//: base(options)
//{
// _configuration = configuration;
//}
public MoonProContext(DbContextOptions options) : base(options)
{
}
#endregion Public Constructors
#region Public Properties
public virtual DbSet DbSetDbSize { get; set; }
public virtual DbSet DbSetAlarmLog { get; set; }
public virtual DbSet DbSetAKV { get; set; }
public virtual DbSet DbSetAnagEventi { get; set; }
public virtual DbSet DbSetAnagFlussi { get; set; }
public virtual DbSet DbSetAnagFluxType { get; set; }
public virtual DbSet DbSetAnagGruppi { get; set; }
public virtual DbSet DbSetAnagStati { get; set; }
public virtual DbSet DbSetAnagTags { get; set; }
public virtual DbSet DbSetArticoli { get; set; }
public virtual DbSet DbSetDecNumArt { get; set; }
public virtual DbSet DbSetConfig { get; set; }
public virtual DbSet DbSetElConfProd { get; set; }
public virtual DbSet DbSetLinkMenu { get; set; }
public virtual DbSet DbSetListValues { get; set; }
public virtual DbSet DbSetMacchine { get; set; }
public virtual DbSet DbSetMSE { get; set; }
public virtual DbSet DbSetODL { get; set; }
public virtual DbSet DbSetODLExp { get; set; }
public virtual DbSet DbSetPODL { get; set; }
public virtual DbSet DbSetPODLExp { get; set; }
public virtual DbSet DbSetPzProd { get; set; }
public virtual DbSet DbSetStatArticoli { get; set; }
public virtual DbSet DbSetStatOdl { get; set; }
public virtual DbSet DbSetEvList { get; set; }
public virtual DbSet DbSetDDB { get; set; }
public virtual DbSet DbSetVocabolario { get; set; }
public virtual DbSet DbOperatori { get; set; }
public virtual DbSet DbSetGrp2Oper { get; set; }
public virtual DbSet DbSetGrp2Macc { get; set; }
public virtual DbSet DbSetDatiMacchine { get; set; }
public virtual DbSet DbSetMSFD { get; set; }
public virtual DbSet DbSetM2S { get; set; }
public virtual DbSet DbSetSMI { get; set; }
public virtual DbSet DbSetSMES { get; set; }
public virtual DbSet DbSetKeepAlive { get; set; }
public virtual DbSet DbSetMicroStatoMacc { get; set; }
public virtual DbSet DbSetStatoMacc { get; set; }
public virtual DbSet DbSetStatoProd { get; set; }
public virtual DbSet DbSetTurniMacc { get; set; }
public virtual DbSet DbSetRegControlli { get; set; }
public virtual DbSet DbSetRegScarti { get; set; }
public virtual DbSet DbSetRegScartiKit { get; set; }
public virtual DbSet DbSetRegDich { get; set; }
public virtual DbSet DbSetRegWithCheck { get; set; }
public virtual DbSet DbSetSignalLog { get; set; }
public virtual DbSet DbSetStAct { get; set; }
public virtual DbSet DbSetStActRow { get; set; }
public virtual DbSet DbSetStAnagGruppi { get; set; }
public virtual DbSet DbSetStAnagTipi { get; set; }
public virtual DbSet DbSetStCheck { get; set; }
public virtual DbSet DbSetStTemplate { get; set; }
public virtual DbSet DbSetStTemplateRows { get; set; }
public virtual DbSet DbSetCommenti { get; set; }
public virtual DbSet DbSetFNQ { get; set; }
public virtual DbSet DbSetVSEB { get; set; }
public virtual DbSet DbSetVSODL { get; set; }
public virtual DbSet DbSetVSCS { get; set; }
public virtual DbSet DbSetInsManuali { get; set; }
public virtual DbSet DbSetAnagCount { get; set; }
public virtual DbSet DbSetInstKit { get; set; }
public virtual DbSet DbSetTempKit { get; set; }
public virtual DbSet DbSetWipKit { get; set; }
public virtual DbSet DbSetTksScore { get; set; }
public virtual DbSet DbSetRemRebLog { get; set; }
#endregion Public Properties
#region Private Methods
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
#endregion Private Methods
#region Protected Methods
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
string connString = _configuration.GetConnectionString("MP.Data");
if (string.IsNullOrEmpty(connString))
{
connString = _configuration.GetConnectionString("MP.All");
}
if (string.IsNullOrEmpty(connString))
{
connString = _configuration.GetConnectionString("MP.Land");
}
if (string.IsNullOrEmpty(connString))
{
connString = _configuration.GetConnectionString("MP.Mon");
}
if (string.IsNullOrEmpty(connString))
{
connString = _configuration.GetConnectionString("MP.STATS");
}
optionsBuilder.UseSqlServer(connString);
//optionsBuilder.UseSqlServer("Server=SQL2016DEV;Database=MoonPro;Trusted_Connection=True;");
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasAnnotation("Relational:Collation", "SQL_Latin1_General_CP1_CI_AS");
modelBuilder.Entity(entity =>
{
entity.HasKey(e => e.CodArticolo);
entity.ToView("v_UI_AnagArticoli");
entity.Property(e => e.CodArticolo)
.IsRequired()
.HasMaxLength(50);
entity.Property(e => e.DescArticolo)
.IsRequired()
.HasMaxLength(250);
entity.Property(e => e.Disegno)
.IsRequired()
.HasMaxLength(50);
entity.Property(e => e.Tipo)
.IsRequired()
.HasMaxLength(50);
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => e.CodArticolo);
entity.ToView("AnagArticoli");
entity.Property(e => e.CodArticolo)
.IsRequired()
.HasMaxLength(50);
entity.Property(e => e.DescArticolo)
.IsRequired()
.HasMaxLength(250);
entity.Property(e => e.Disegno)
.IsRequired()
.HasMaxLength(50);
entity.Property(e => e.Tipo)
.IsRequired()
.HasMaxLength(50);
entity.Property(e => e.Azienda)
.IsRequired()
.HasMaxLength(50);
// indica la colonna come calcoalta
entity.Property(e => e.FlagIsNew)
.HasComputedColumnSql("(CASE WHEN [CurrRev]=[ProdRev] THEN CONVERT([bit],(0),(0)) ELSE CONVERT([bit],(1),(0)) END)");
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.DataOraConf, e.IdxMacchina });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => e.IdxMacchina);
entity.ToView("Macchine");
entity.Property(e => e.CodMacchina).HasMaxLength(50);
entity.Property(e => e.Descrizione).HasMaxLength(50);
entity.Property(e => e.IdxMacchina)
.IsRequired()
.HasMaxLength(50);
entity.Property(e => e.Nome).HasMaxLength(50);
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => e.RowNum);
entity.ToTable("MappaStatoExpl");
entity.Property(e => e.CodArticolo)
.HasMaxLength(50)
.HasDefaultValueSql("('-')");
entity.Property(e => e.CodMacchina).HasMaxLength(50);
entity.Property(e => e.DataInizioOdl)
.HasColumnType("datetime")
.HasColumnName("DataInizioODL");
entity.Property(e => e.DescrizioneStato)
.HasMaxLength(50)
.HasDefaultValueSql("('n.d.')");
entity.Property(e => e.Disegno)
.HasMaxLength(50)
.HasDefaultValueSql("('')");
entity.Property(e => e.Durata)
.HasColumnName("durata")
.HasDefaultValueSql("((0))");
entity.Property(e => e.IdxMacchina).HasMaxLength(50);
entity.Property(e => e.IdxOdl).HasColumnName("idxODL");
entity.Property(e => e.IdxStato)
.HasColumnName("idxStato")
.HasDefaultValueSql("((0))");
entity.Property(e => e.LastUpdate)
.HasColumnType("datetime")
.HasColumnName("lastUpdate");
entity.Property(e => e.Nome).HasMaxLength(50);
entity.Property(e => e.PezziConf).HasDefaultValueSql("((0))");
entity.Property(e => e.PezziProd).HasDefaultValueSql("((0))");
entity.Property(e => e.Semaforo)
.HasMaxLength(50)
.HasDefaultValueSql("('')");
entity.Property(e => e.TCAssegnato)
.HasColumnType("decimal(18, 8)")
.HasColumnName("TCAssegnato")
.HasDefaultValueSql("((1))");
entity.Property(e => e.TCEff)
.HasColumnType("decimal(18, 8)")
.HasColumnName("TCEff")
.HasDefaultValueSql("((0))");
entity.Property(e => e.TCEffRT)
.HasColumnType("decimal(18, 8)")
.HasColumnName("TCEffRT")
.HasDefaultValueSql("((0))");
entity.Property(e => e.TCLav)
.HasColumnType("decimal(18, 8)")
.HasColumnName("TCLav")
.HasDefaultValueSql("((0))");
entity.Property(e => e.TCLavRT)
.HasColumnType("decimal(18, 8)")
.HasColumnName("TCLavRT")
.HasDefaultValueSql("((0))");
entity.Property(e => e.TCMedio)
.HasColumnType("decimal(18, 8)")
.HasColumnName("TCMedio")
.HasDefaultValueSql("((0))");
entity.Property(e => e.TCMedioRt)
.HasColumnType("decimal(18, 8)")
.HasColumnName("TCMedioRT")
.HasDefaultValueSql("((0))");
entity.Property(e => e.TempoAuto)
.HasColumnType("decimal(18, 8)")
.HasDefaultValueSql("((0))");
entity.Property(e => e.TempoOn)
.HasColumnType("decimal(18, 8)")
.HasDefaultValueSql("((0))");
entity.Property(e => e.TempoRun)
.HasColumnType("decimal(18, 8)")
.HasDefaultValueSql("((0))");
entity.Property(e => e.Url)
.HasMaxLength(250)
.HasColumnName("url");
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => e.Chiave);
entity.ToTable("Config");
entity.Property(e => e.Chiave)
.HasMaxLength(50)
.HasColumnName("chiave");
entity.Property(e => e.Note).HasColumnName("note");
entity.Property(e => e.Valore).HasColumnName("valore");
entity.Property(e => e.ValoreStd)
.HasColumnName("valoreStd")
.HasComment("Valore di default/riferimento per la variabile");
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => e.CodGruppo);
entity.Property(e => e.CodGruppo)
.HasMaxLength(50)
.HasColumnName("CodGruppo");
entity.Property(e => e.TipoGruppo)
.HasMaxLength(50)
.HasColumnName("TipoGruppo");
entity.Property(e => e.DescrGruppo)
.HasMaxLength(250)
.HasColumnName("DescrGruppo");
entity.Property(e => e.SelEnabled)
.HasColumnName("SelEnabled");
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.TableName, e.FieldName, e.value });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.IdxMacchina, e.InizioStato, e.IdxTipo });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.IdxMacchina, e.InizioStato });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.Lingua, e.Lemma });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.CodGruppo, e.IdxMacchina });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.CodGruppo, e.MatrOpr });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => e.IdxMacchina);
entity.ToTable("DatiMacchine");
entity.Property(e => e.IdxMacchina)
.HasMaxLength(50)
.HasColumnName("idxMacchina");
entity.Property(e => e.CodArticoloA)
.HasMaxLength(50)
.HasColumnName("CodArticolo_A");
entity.Property(e => e.CodArticoloB)
.HasMaxLength(50)
.HasColumnName("CodArticolo_B");
entity.Property(e => e.HasCounter)
.HasColumnName("hasCounter")
.HasComment("Indica se la macchina abbia un COUNTER (assoluto) o meno, tipicamente true x IOB-WIN, false per IOB-PI");
entity.Property(e => e.InsEnabled)
.HasColumnName("insEnabled")
.HasDefaultValueSql("((1))")
.HasComment("definisce se l'INSERT sia abilitato per la macchina (disabilitato in fase di ricostruzione batch...)");
entity.Property(e => e.IsTrigerDbon)
.IsRequired()
.HasColumnName("isTrigerDBOn")
.HasDefaultValueSql("((1))")
.HasComment("Abilita o meno il trigger su DiarioDiBordo x ricalcolo eventi");
entity.Property(e => e.PalletChange).HasColumnName("palletChange");
entity.Property(e => e.RefreshPeriod).HasColumnName("refreshPeriod");
entity.Property(e => e.SLogEnabled)
.HasColumnName("sLogEnabled")
.HasComment("definisce se sia abilitata la registrazione di TUTTI gli invii di dati in ingresso da questa specifica macchina");
entity.Property(e => e.SerialPort)
.HasMaxLength(50)
.HasColumnName("serialPort");
entity.Property(e => e.SimplePallet).HasColumnName("simplePallet");
entity.Property(e => e.Simulazione).HasColumnName("simulazione");
});
modelBuilder.Entity(entity =>
{
entity.HasNoKey();
entity.ToView("v_MSFD");
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.IdxMacchina, e.IdxMacchinaSlave })
.HasName("PK_Macc2Slave");
entity.ToTable("Macchine2Slave");
entity.Property(e => e.IdxMacchina).HasMaxLength(50);
entity.Property(e => e.IdxMacchinaSlave).HasMaxLength(50);
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.IdxFamigliaIngresso, e.IdxMicroStato, e.ValoreIngresso });
entity.ToTable("TransizioneIngressi");
entity.Property(e => e.NextIdxMicroStato).HasColumnName("next_IdxMicroStato");
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => e.IdxMacchina);
entity.ToTable("KeepAlive");
entity.Property(e => e.IdxMacchina).HasMaxLength(50);
entity.Property(e => e.DataOraMacchina).HasColumnType("datetime");
entity.Property(e => e.DataOraStart).HasColumnType("datetime");
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.IdxST, e.Label, e.Oggetto });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.DtEvent, e.IdxODL, e.IdxST, e.Oggetto, e.Num });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.CodTempl, e.Num });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.IdxFamiglia, e.IdxStato, e.IdxTipo });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => e.value);
entity.ToView("v_selEventiBCode");
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.IdxMacchina, e.InizioStato });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.IdxMacchina, e.DataOra, e.Causale });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.IdxMacchina, e.DataOra, e.Causale, e.CodArticolo });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.IdxMacchina, e.InizioStato });
});
modelBuilder.Entity(entity =>
{
entity.ToView("v_selODL");
});
modelBuilder.Entity(entity =>
{
entity.ToView("v_selCauScarto");
});
modelBuilder.Entity(entity =>
{
entity.ToView("v_DD_exp");
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.KeyKit, e.KeyExtOrd });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.CodArtParent, e.CodArtChild });
});
modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.KeyFilt, e.CodOrd });
});
OnModelCreatingPartial(modelBuilder);
}
#endregion Protected Methods
}
}