src/DataAccess/Context/SaasKitContext.cs (412 lines of code) (raw):

using Marketplace.SaaS.Accelerator.DataAccess.Entities; using Microsoft.EntityFrameworkCore; namespace Marketplace.SaaS.Accelerator.DataAccess.Context; public partial class SaasKitContext : DbContext { public SaasKitContext() { } public SaasKitContext(DbContextOptions<SaasKitContext> options) : base(options) { } public virtual DbSet<ApplicationConfiguration> ApplicationConfiguration { get; set; } public virtual DbSet<ApplicationLog> ApplicationLog { get; set; } public virtual DbSet<DatabaseVersionHistory> DatabaseVersionHistory { get; set; } public virtual DbSet<EmailTemplate> EmailTemplate { get; set; } public virtual DbSet<Events> Events { get; set; } public virtual DbSet<KnownUsers> KnownUsers { get; set; } public virtual DbSet<MeteredAuditLogs> MeteredAuditLogs { get; set; } public virtual DbSet<MeteredDimensions> MeteredDimensions { get; set; } public virtual DbSet<OfferAttributes> OfferAttributes { get; set; } public virtual DbSet<Offers> Offers { get; set; } public virtual DbSet<PlanAttributeMapping> PlanAttributeMapping { get; set; } public virtual DbSet<PlanAttributeOutput> PlanAttributeOutput { get; set; } public virtual DbSet<PlanEventsMapping> PlanEventsMapping { get; set; } public virtual DbSet<PlanEventsOutPut> PlanEventsOutPut { get; set; } public virtual DbSet<Plans> Plans { get; set; } public virtual DbSet<Roles> Roles { get; set; } public virtual DbSet<SubscriptionAttributeValues> SubscriptionAttributeValues { get; set; } public virtual DbSet<SubscriptionAuditLogs> SubscriptionAuditLogs { get; set; } public virtual DbSet<SubscriptionEmailOutput> SubscriptionEmailOutput { get; set; } public virtual DbSet<SubscriptionParametersOutput> SubscriptionParametersOutput { get; set; } public virtual DbSet<Subscriptions> Subscriptions { get; set; } public virtual DbSet<Users> Users { get; set; } public virtual DbSet<ValueTypes> ValueTypes { get; set; } public virtual DbSet<WebJobSubscriptionStatus> WebJobSubscriptionStatus { get; set; } public virtual DbSet<SchedulerFrequency> SchedulerFrequency { get; set; } public virtual DbSet<MeteredPlanSchedulerManagement> MeteredPlanSchedulerManagement { get; set; } public virtual DbSet<SchedulerManagerView> SchedulerManagerView { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { //dotnet 8lts require this line optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=Test"); } } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<ApplicationConfiguration>(entity => { entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.Description).HasMaxLength(255); entity.Property(e => e.Name).HasMaxLength(50); }); modelBuilder.Entity<ApplicationLog>(entity => { entity.Property(e => e.ActionTime).HasColumnType("datetime"); entity.Property(e => e.LogDetail) .HasMaxLength(4000) .IsUnicode(false); }); modelBuilder.Entity<DatabaseVersionHistory>(entity => { entity.HasNoKey(); entity.Property(e => e.ChangeLog).IsRequired(); entity.Property(e => e.CreateBy).HasMaxLength(100); entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.Id) .HasColumnName("ID") .ValueGeneratedOnAdd(); entity.Property(e => e.VersionNumber).HasColumnType("decimal(6, 2)"); }); modelBuilder.Entity<EmailTemplate>(entity => { entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.Bcc) .HasColumnName("BCC") .HasMaxLength(1000) .IsUnicode(false); entity.Property(e => e.Cc) .HasColumnName("CC") .HasMaxLength(1000) .IsUnicode(false); entity.Property(e => e.Description) .HasMaxLength(1000) .IsUnicode(false); entity.Property(e => e.InsertDate).HasColumnType("datetime"); entity.Property(e => e.Status) .HasMaxLength(1000) .IsUnicode(false); entity.Property(e => e.Subject) .HasMaxLength(1000) .IsUnicode(false); entity.Property(e => e.TemplateBody).IsUnicode(false); entity.Property(e => e.ToRecipients) .HasMaxLength(1000) .IsUnicode(false); }); modelBuilder.Entity<Events>(entity => { entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.EventsName) .HasMaxLength(225) .IsUnicode(false); }); modelBuilder.Entity<KnownUsers>(entity => { entity.Property(e => e.UserEmail) .HasMaxLength(50) .IsUnicode(false); entity.HasOne(d => d.Role) .WithMany(p => p.KnownUsers) .HasForeignKey(d => d.RoleId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("FK__KnownUser__RoleI__619B8048"); entity.Property(i => i.Id) .ValueGeneratedOnAdd(); }); modelBuilder.Entity<MeteredAuditLogs>(entity => { entity.Property(e => e.CreatedDate).HasColumnType("datetime"); entity.Property(e => e.RequestJson) .HasMaxLength(500) .IsUnicode(false); entity.Property(e => e.ResponseJson) .HasMaxLength(500) .IsUnicode(false); entity.Property(e => e.RunBy) .HasMaxLength(255) .IsUnicode(false); entity.Property(e => e.StatusCode) .HasMaxLength(100) .IsUnicode(false); entity.Property(e => e.SubscriptionUsageDate).HasColumnType("datetime"); entity.HasOne(d => d.Subscription) .WithMany(p => p.MeteredAuditLogs) .HasForeignKey(d => d.SubscriptionId) .HasConstraintName("FK__MeteredAu__Subsc__628FA481"); }); modelBuilder.Entity<MeteredDimensions>(entity => { entity.Property(e => e.CreatedDate).HasColumnType("datetime"); entity.Property(e => e.Description) .HasMaxLength(250) .IsUnicode(false); entity.Property(e => e.Dimension) .HasMaxLength(150) .IsUnicode(false); entity.HasOne(d => d.Plan) .WithMany(p => p.MeteredDimensions) .HasForeignKey(d => d.PlanId) .HasConstraintName("FK__MeteredDi__PlanI__6383C8BA"); entity.HasMany(e => e.MeteredPlanSchedulerManagements) .WithOne(e => e.MeteredDimensions) .HasForeignKey(e => e.DimensionId); }); modelBuilder.Entity<OfferAttributes>(entity => { entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.Description) .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.DisplayName) .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.ParameterId) .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.Type) .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.ValuesList).IsUnicode(false); }); modelBuilder.Entity<Offers>(entity => { entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.OfferGuid).HasColumnName("OfferGUId"); entity.Property(e => e.OfferId) .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.OfferName) .HasMaxLength(225) .IsUnicode(false); }); modelBuilder.Entity<PlanAttributeMapping>(entity => { entity.HasKey(e => e.PlanAttributeId) .HasName("PK__PlanAttr__8B476A98C058FAF2"); entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.OfferAttributeId).HasColumnName("OfferAttributeID"); }); modelBuilder.Entity<PlanAttributeOutput>(entity => { entity.HasKey(e => e.RowNumber) .HasName("PK__PlanAttr__AAAC09D888FE3E40"); entity.Property(e => e.RowNumber).ValueGeneratedNever(); entity.Property(e => e.DisplayName) .IsRequired() .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.Type) .HasMaxLength(225) .IsUnicode(false); }); modelBuilder.Entity<PlanEventsMapping>(entity => { entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.FailureStateEmails) .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.SuccessStateEmails) .HasMaxLength(225) .IsUnicode(false); }); modelBuilder.Entity<PlanEventsOutPut>(entity => { entity.HasKey(e => e.RowNumber) .HasName("PK__PlanEven__AAAC09D8C9229532"); entity.Property(e => e.RowNumber).ValueGeneratedNever(); entity.Property(e => e.EventsName) .IsRequired() .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.FailureStateEmails).IsUnicode(false); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.SuccessStateEmails).IsUnicode(false); }); modelBuilder.Entity<Plans>(entity => { entity.Property(e => e.Description) .HasMaxLength(500) .IsUnicode(false); entity.Property(e => e.DisplayName) .HasMaxLength(100) .IsUnicode(false); entity.Property(e => e.OfferId).HasColumnName("OfferID"); entity.Property(e => e.PlanGuid).HasColumnName("PlanGUID"); entity.Property(e => e.PlanId) .HasMaxLength(100) .IsUnicode(false); entity.HasMany(e => e.MeteredPlanSchedulerManagements) .WithOne(e => e.Plan) .HasForeignKey(e => e.PlanId); }); modelBuilder.Entity<Roles>(entity => { entity.Property(e => e.Name) .HasMaxLength(50) .IsUnicode(false); }); modelBuilder.Entity<SubscriptionAttributeValues>(entity => { entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.OfferId).HasColumnName("OfferID"); entity.Property(e => e.PlanId).HasColumnName("PlanID"); entity.Property(e => e.Value) .HasMaxLength(225) .IsUnicode(false); }); modelBuilder.Entity<SubscriptionAuditLogs>(entity => { entity.Property(e => e.Attribute) .HasMaxLength(20) .IsUnicode(false); entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.NewValue).IsUnicode(false); entity.Property(e => e.OldValue) .HasMaxLength(50) .IsUnicode(false); entity.Property(e => e.SubscriptionId).HasColumnName("SubscriptionID"); entity.HasOne(d => d.Subscription) .WithMany(p => p.SubscriptionAuditLogs) .HasForeignKey(d => d.SubscriptionId) .HasConstraintName("FK__Subscript__Subsc__6477ECF3"); }); modelBuilder.Entity<SubscriptionEmailOutput>(entity => { entity.HasNoKey(); entity.Property(e => e.Id).ValueGeneratedOnAdd(); entity.Property(e => e.Name) .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.Value).IsUnicode(false); }); modelBuilder.Entity<SubscriptionParametersOutput>(entity => { entity.HasKey(e => e.RowNumber) .HasName("PK__Subscrip__AAAC09D8BA727059"); entity.Property(e => e.RowNumber).ValueGeneratedNever(); entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.DisplayName) .IsRequired() .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.Htmltype) .IsRequired() .HasColumnName("HTMLType") .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.OfferAttributeId).HasColumnName("OfferAttributeID"); entity.Property(e => e.Type) .IsRequired() .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.Value) .IsRequired() .IsUnicode(false); entity.Property(e => e.ValueType) .IsRequired() .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.ValuesList) .IsRequired() .HasMaxLength(225) .IsUnicode(false); }); modelBuilder.Entity<Subscriptions>(entity => { entity.Property(e => e.AmpplanId) .HasColumnName("AMPPlanId") .HasMaxLength(100) .IsUnicode(false); entity.Property(e => e.Ampquantity).HasColumnName("AMPQuantity"); entity.Property(e => e.AmpsubscriptionId) .HasColumnName("AMPSubscriptionId") .HasDefaultValueSql("(newid())"); entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.ModifyDate).HasColumnType("datetime"); entity.Property(e => e.Name) .HasMaxLength(100) .IsUnicode(false); entity.Property(e => e.PurchaserEmail) .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.SubscriptionStatus) .HasMaxLength(50) .IsUnicode(false); entity.HasOne(d => d.User) .WithMany(p => p.Subscriptions) .HasForeignKey(d => d.UserId) .HasConstraintName("FK__Subscript__UserI__656C112C"); entity.HasMany(e => e.MeteredPlanSchedulerManagements) .WithOne(e => e.Subscriptions) .HasForeignKey(e => e.SubscriptionId); }); modelBuilder.Entity<Users>(entity => { entity.HasKey(e => e.UserId); entity.Property(e => e.CreatedDate).HasColumnType("datetime"); entity.Property(e => e.EmailAddress) .HasMaxLength(100) .IsUnicode(false); entity.Property(e => e.FullName) .HasMaxLength(200) .IsUnicode(false); }); modelBuilder.Entity<ValueTypes>(entity => { entity.HasKey(e => e.ValueTypeId) .HasName("PK__ValueTyp__A51E9C5AEA096123"); entity.Property(e => e.CreateDate).HasColumnType("datetime"); entity.Property(e => e.Htmltype) .HasColumnName("HTMLType") .HasMaxLength(225) .IsUnicode(false); entity.Property(e => e.ValueType) .HasMaxLength(225) .IsUnicode(false); }); modelBuilder.Entity<WebJobSubscriptionStatus>(entity => { entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.Description).IsUnicode(false); entity.Property(e => e.InsertDate).HasColumnType("datetime"); entity.Property(e => e.SubscriptionStatus) .HasMaxLength(225) .IsUnicode(false); }); modelBuilder.Entity<MeteredPlanSchedulerManagement>(entity => { entity.Property(e => e.SchedulerName) .HasMaxLength(50) .IsRequired(); entity.Property(e => e.SubscriptionId) .IsRequired(); entity.Property(e => e.PlanId) .IsRequired(); entity.Property(e => e.DimensionId) .IsRequired(); entity.Property(e => e.Quantity) .IsRequired(); entity.Property(e => e.FrequencyId) .IsRequired(); entity.Property(e => e.StartDate) .IsRequired(); }); modelBuilder.Entity<SchedulerFrequency>(entity => { entity.Property(e => e.Frequency) .IsUnicode(false) .IsRequired() .HasMaxLength(50); entity.HasMany(e => e.MeteredPlanSchedulerManagements) .WithOne(e => e.SchedulerFrequency) .HasForeignKey(e => e.FrequencyId); }); modelBuilder.Entity<SchedulerManagerView>(entity => { entity.HasNoKey(); entity.ToView("SchedulerManagerView"); entity.Property(e => e.PlanId).IsUnicode(false); entity.Property(e => e.Dimension).IsUnicode(false); entity.Property(e => e.Frequency).IsUnicode(false); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); }