using Microsoft.EntityFrameworkCore; using ReC.Application.Common.Interfaces; using ReC.Domain.Entities; namespace ReC.Infrastructure; public class RecDbContext(DbContextOptions options) : DbContext(options), IRecDbContext { public DbSet EndpointParams { get; set; } public DbSet RecActionViews { get; set; } public DbSet ProfileViews { get; set; } public DbSet OutRes { get; set; } public DbSet HeaderQueryResults { get; set; } public DbSet BodyQueryResults { get; set; } public DbSet Connections { get; set; } public DbSet Endpoints { get; set; } public DbSet EndpointAuths { get; set; } public DbSet Profiles { get; set; } public DbSet RecActions { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity(b => { b.ToTable("TBDD_CONNECTION"); b.HasKey(e => e.Id); b.Property(e => e.Id) .HasColumnName("GUID") .ValueGeneratedOnAdd(); b.Property(e => e.Bezeichnung).HasColumnName("BEZEICHNUNG"); b.Property(e => e.SqlProvider).HasColumnName("SQL_PROVIDER"); b.Property(e => e.Server).HasColumnName("SERVER"); b.Property(e => e.Datenbank).HasColumnName("DATENBANK"); b.Property(e => e.Username).HasColumnName("USERNAME"); b.Property(e => e.Password).HasColumnName("PASSWORD"); b.Property(e => e.Bemerkung).HasColumnName("BEMERKUNG"); b.Property(e => e.Aktiv).HasColumnName("AKTIV"); b.Property(e => e.ErstelltWer).HasColumnName("ERSTELLTWER"); b.Property(e => e.ErstelltWann).HasColumnName("ERSTELLTWANN"); b.Property(e => e.GeandertWer).HasColumnName("GEANDERTWER"); b.Property(e => e.GeaendertWann).HasColumnName("GEAENDERTWANN"); b.Property(e => e.SysConnection).HasColumnName("SYS_CONNECTION"); }); modelBuilder.Entity(b => { b.ToTable("TBREC_CFG_ENDPOINT"); b.HasKey(e => e.Id); b.Property(e => e.Id) .HasColumnName("GUID") .ValueGeneratedOnAdd(); b.Property(e => e.Active).HasColumnName("ACTIVE"); b.Property(e => e.Description).HasColumnName("DESCRIPTION"); b.Property(e => e.Uri).HasColumnName("URI"); b.Property(e => e.AddedWho).HasColumnName("ADDED_WHO"); b.Property(e => e.AddedWhen).HasColumnName("ADDED_WHEN"); b.Property(e => e.ChangedWho).HasColumnName("CHANGED_WHO"); b.Property(e => e.ChangedWhen).HasColumnName("CHANGED_WHEN"); }); modelBuilder.Entity(b => { b.ToTable("TBREC_CFG_ENDPOINT_AUTH"); b.HasKey(e => e.Id); b.Property(e => e.Id) .HasColumnName("GUID") .ValueGeneratedOnAdd(); b.Property(e => e.Active).HasColumnName("ACTIVE"); b.Property(e => e.Description).HasColumnName("DESCRIPTION"); b.Property(e => e.Type).HasColumnName("TYPE"); b.Property(e => e.ApiKey).HasColumnName("API_KEY"); b.Property(e => e.ApiValue).HasColumnName("API_VALUE"); b.Property(e => e.ApiKeyAddTo).HasColumnName("API_KEY_ADD_TO"); b.Property(e => e.Token).HasColumnName("TOKEN"); b.Property(e => e.Username).HasColumnName("USERNAME"); b.Property(e => e.Password).HasColumnName("PASSWORD"); b.Property(e => e.Domain).HasColumnName("DOMAIN"); b.Property(e => e.Workstation).HasColumnName("WORKSTATION"); b.Property(e => e.AddedWho).HasColumnName("ADDED_WHO"); b.Property(e => e.AddedWhen).HasColumnName("ADDED_WHEN"); b.Property(e => e.ChangedWho).HasColumnName("CHANGED_WHO"); b.Property(e => e.ChangedWhen).HasColumnName("CHANGED_WHEN"); }); modelBuilder.Entity(b => { b.ToTable("TBREC_CFG_ENDPOINT_PARAMS", "dbo"); b.HasKey(e => e.Id); b.Property(e => e.Id).HasColumnName("GUID"); b.Property(e => e.Active).HasColumnName("ACTIVE"); b.Property(e => e.Description).HasColumnName("DESCRIPTION"); b.Property(e => e.GroupId).HasColumnName("GROUP_ID"); b.Property(e => e.Sequence).HasColumnName("SEQUENCE"); b.Property(e => e.Key).HasColumnName("KEY"); b.Property(e => e.Value).HasColumnName("VALUE"); b.Property(e => e.AddedWho).HasColumnName("ADDED_WHO"); b.Property(e => e.AddedWhen).HasColumnName("ADDED_WHEN"); b.Property(e => e.ChangedWho).HasColumnName("CHANGED_WHO"); b.Property(e => e.ChangedWhen).HasColumnName("CHANGED_WHEN"); }); modelBuilder.Entity(b => { b.ToTable("TBREC_OUT_RESULT", "dbo"); b.HasKey(e => e.Id); b.Property(e => e.Id) .HasColumnName("GUID") .ValueGeneratedOnAdd(); b.Property(e => e.ActionId).HasColumnName("ACTION_ID"); b.Property(e => e.Status).HasColumnName("STATUS"); b.Property(e => e.Header).HasColumnName("RESULT_HEADER"); b.Property(e => e.Body).HasColumnName("RESULT_BODY"); b.Property(e => e.AddedWho).HasColumnName("ADDED_WHO"); b.Property(e => e.AddedWhen).HasColumnName("ADDED_WHEN"); b.Property(e => e.ChangedWho).HasColumnName("CHANGED_WHO"); b.Property(e => e.ChangedWhen).HasColumnName("CHANGED_WHEN"); }); modelBuilder.Entity(b => { b.ToTable("TBREC_CFG_PROFILE", "dbo"); b.HasKey(e => e.Id); b.Property(e => e.Id) .HasColumnName("GUID") .ValueGeneratedOnAdd(); b.Property(e => e.Active).HasColumnName("ACTIVE"); b.Property(e => e.Type).HasColumnName("TYPE"); b.Property(e => e.Mandantor).HasColumnName("MANDANTOR"); b.Property(e => e.Name).HasColumnName("PROFILE_NAME"); b.Property(e => e.Description).HasColumnName("DESCRIPTION"); b.Property(e => e.LogLevel).HasColumnName("LOG_LEVEL"); b.Property(e => e.Language).HasColumnName("LANGUAGE"); b.Property(e => e.AddedWho).HasColumnName("ADDED_WHO"); b.Property(e => e.AddedWhen).HasColumnName("ADDED_WHEN"); b.Property(e => e.ChangedWho).HasColumnName("CHANGED_WHO"); b.Property(e => e.ChangedWhen).HasColumnName("CHANGED_WHEN"); }); modelBuilder.Entity(b => { b.ToView("VWREC_PROFILE", "dbo"); b.HasKey(e => e.ProfileGuid); b.Property(e => e.ProfileGuid).HasColumnName("PROFILE_GUID"); b.Property(e => e.Active).HasColumnName("ACTIVE"); b.Property(e => e.TypeId).HasColumnName("TYPE_ID"); b.Property(e => e.Type).HasColumnName("TYPE"); b.Property(e => e.Mandantor).HasColumnName("MANDANTOR"); b.Property(e => e.ProfileName).HasColumnName("PROFILE_NAME"); b.Property(e => e.Description).HasColumnName("DESCRIPTION"); b.Property(e => e.LogLevelId).HasColumnName("LOG_LEVEL_ID"); b.Property(e => e.LogLevel).HasColumnName("LOG_LEVEL"); b.Property(e => e.LanguageId).HasColumnName("LANGUAGE_ID"); b.Property(e => e.Language).HasColumnName("LANGUAGE"); b.Property(e => e.AddedWho).HasColumnName("ADDED_WHO"); b.Property(e => e.AddedWhen).HasColumnName("ADDED_WHEN"); b.Property(e => e.ChangedWho).HasColumnName("CHANGED_WHO"); b.Property(e => e.ChangedWhen).HasColumnName("CHANGED_WHEN"); b.Property(e => e.FirstRun).HasColumnName("FIRST_RUN"); b.Property(e => e.LastRun).HasColumnName("LAST_RUN"); b.Property(e => e.LastResult).HasColumnName("LAST_RESULT"); }); modelBuilder.Entity(b => { b.ToTable("TBREC_CFG_ACTION"); b.HasKey(e => e.Id); b.Property(e => e.Id).HasColumnName("GUID"); b.Property(e => e.ProfileId).HasColumnName("PROFILE_ID"); b.Property(e => e.Active).HasColumnName("ACTIVE"); b.Property(e => e.Sequence).HasColumnName("SEQUENCE"); b.Property(e => e.EndpointId).HasColumnName("ENDPOINT_ID"); b.Property(e => e.EndpointAuthId).HasColumnName("ENDPOINT_AUTH_ID"); b.Property(e => e.EndpointParamsId).HasColumnName("ENDPOINT_PARAMS_ID"); b.Property(e => e.SqlConnectionId).HasColumnName("SQL_CONNECTION_ID"); b.Property(e => e.Type).HasColumnName("TYPE"); b.Property(e => e.PreprocessingQuery).HasColumnName("PREPROCESSING_QUERY"); b.Property(e => e.HeaderQuery).HasColumnName("HEADER_QUERY"); b.Property(e => e.BodyQuery).HasColumnName("BODY_QUERY"); b.Property(e => e.PostprocessingQuery).HasColumnName("POSTPROCESSING_QUERY"); b.Property(e => e.ErrorAction).HasColumnName("ERROR_ACTION"); b.Property(e => e.AddedWho).HasColumnName("ADDED_WHO"); b.Property(e => e.AddedWhen).HasColumnName("ADDED_WHEN"); b.Property(e => e.ChangedWho).HasColumnName("CHANGED_WHO"); b.Property(e => e.ChangedWhen).HasColumnName("CHANGED_WHEN"); b.HasOne(act => act.OutRes) .WithOne(res => res.Action) .HasForeignKey(res => res.ActionId) .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity(b => { b.ToView("VWREC_ACTION", "dbo"); b.HasKey(e => e.Id); b.Property(e => e.Id).HasColumnName("ACTION_GUID"); b.Property(e => e.ProfileId).HasColumnName("PROFILE_ID"); b.Property(e => e.ProfileName).HasColumnName("PROFILE_NAME"); b.Property(e => e.ProfileType).HasColumnName("PROFILE_TYPE"); b.Property(e => e.Sequence).HasColumnName("SEQUENCE"); b.Property(e => e.EndpointId).HasColumnName("ENDPOINT_ID"); b.Property(e => e.EndpointUri).HasColumnName("ENDPOINT_URI"); b.Property(e => e.EndpointAuthId).HasColumnName("ENDPOINT_AUTH_ID"); b.Property(e => e.EndpointAuthType).HasColumnName("ENDPOINT_AUTH_TYPE_ID"); b.Property(e => e.EndpointAuthTypeName).HasColumnName("ENDPOINT_AUTH_TYPE"); b.Property(e => e.EndpointAuthApiKey).HasColumnName("ENDPOINT_AUTH_API_KEY"); b.Property(e => e.EndpointAuthApiValue).HasColumnName("ENDPOINT_AUTH_API_VALUE"); b.Property(e => e.EndpointAuthApiKeyAddTo).HasColumnName("ENDPOINT_AUTH_API_KEY_ADD_TO_ID"); b.Property(e => e.EndpointAuthApiKeyAddToName).HasColumnName("ENDPOINT_AUTH_API_KEY_ADD_TO"); b.Property(e => e.EndpointAuthToken).HasColumnName("ENDPOINT_AUTH_TOKEN"); b.Property(e => e.EndpointAuthUsername).HasColumnName("ENDPOINT_AUTH_USERNAME"); b.Property(e => e.EndpointAuthPassword).HasColumnName("ENDPOINT_AUTH_PASSWORD"); b.Property(e => e.EndpointAuthDomain).HasColumnName("ENDPOINT_AUTH_DOMAIN"); b.Property(e => e.EndpointAuthWorkstation).HasColumnName("ENDPOINT_AUTH_WORKSTATION"); b.Property(e => e.EndpointParamsId).HasColumnName("ENDPOINT_PARAMS_ID"); b.Property(e => e.SqlConnectionId).HasColumnName("SQL_CONNECTION_ID"); b.Property(e => e.SqlConnectionServer).HasColumnName("SQL_CONNECTION_SERVER"); b.Property(e => e.SqlConnectionDb).HasColumnName("SQL_CONNECTION_DB"); b.Property(e => e.SqlConnectionUsername).HasColumnName("SQL_CONNECTION_USERNAME"); b.Property(e => e.SqlConnectionPassword).HasColumnName("SQL_CONNECTION_PASSWORD"); b.Property(e => e.RestType).HasColumnName("REST_TYPE_ID"); b.Property(e => e.RestTypeName).HasColumnName("REST_TYPE"); b.Property(e => e.PreprocessingQuery).HasColumnName("PREPROCESSING_QUERY"); b.Property(e => e.HeaderQuery).HasColumnName("HEADER_QUERY"); b.Property(e => e.BodyQuery).HasColumnName("BODY_QUERY"); b.Property(e => e.PostprocessingQuery).HasColumnName("POSTPROCESSING_QUERY"); b.Property(e => e.ErrorAction).HasColumnName("ERROR_ACTION_ID"); b.Property(e => e.ErrorActionName).HasColumnName("ERROR_ACTION"); }); modelBuilder.Entity(b => { b.HasNoKey(); b.Property(e => e.RawHeader).HasColumnName("REQUEST_HEADER"); }); modelBuilder.Entity(b => { b.HasNoKey(); b.Property(e => e.RawBody).HasColumnName("REQUEST_BODY"); }); } }