// using System; using FindAndDrive.Persistence; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace FindAndDrive.Persistence.Migrations { [DbContext(typeof(DefaultContext))] [Migration("20230522150458_IncreasedLengthOfChancesOfApproval")] partial class IncreasedLengthOfChancesOfApproval { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "6.0.13") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApiKey", b => { b.Property("ApiKeyId") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ClientId") .HasColumnType("uniqueidentifier"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("KeySecretHash") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("ModifiedAt") .HasColumnType("datetime2"); b.Property("Revoked") .HasColumnType("bit"); b.Property("RoleId") .HasColumnType("uniqueidentifier"); b.HasKey("ApiKeyId"); b.HasIndex("ClientId"); b.HasIndex("RoleId"); b.ToTable("ApiKeys", (string)null); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.Applicant", b => { b.Property("ApplicantId") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("AddressDate") .HasMaxLength(50) .HasColumnType("datetime2"); b.Property("AddressLine1") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("AddressLine2") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("City") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("ClientId") .HasColumnType("uniqueidentifier"); b.Property("DateOfBirth") .HasColumnType("datetime2"); b.Property("EmailAddress") .IsRequired() .HasMaxLength(255) .HasColumnType("nvarchar(255)"); b.Property("FirstName") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Gender") .HasMaxLength(10) .HasColumnType("nvarchar(10)"); b.Property("IdNumber") .IsRequired() .HasMaxLength(20) .HasColumnType("nvarchar(20)"); b.Property("LastName") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("MaritalStatus") .HasMaxLength(10) .HasColumnType("nvarchar(10)"); b.Property("MobileNumber") .IsRequired() .HasMaxLength(20) .HasColumnType("nvarchar(20)"); b.Property("PostalCode") .IsRequired() .HasMaxLength(12) .HasColumnType("nvarchar(12)"); b.Property("Province") .HasMaxLength(13) .HasColumnType("nvarchar(13)"); b.Property("ResidentialStatus") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("SpouseName") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Suburb") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Title") .IsRequired() .HasMaxLength(5) .HasColumnType("nvarchar(5)"); b.HasKey("ApplicantId"); b.HasIndex("ClientId"); b.ToTable("Applicants"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApplicantAuditLog", b => { b.Property("ApplicantAuditLogId") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ApplicantId") .HasColumnType("uniqueidentifier"); b.Property("AuditLog") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("ExperianId") .HasColumnType("int"); b.Property("FindAndDriveId") .HasColumnType("uniqueidentifier"); b.Property("TimeStamp") .HasColumnType("datetime2"); b.Property("TransUnionId") .HasColumnType("int"); b.HasKey("ApplicantAuditLogId"); b.HasIndex("ApplicantId") .IsUnique(); b.ToTable("ApplicantAuditLog"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApplicantCredit", b => { b.Property("ApplicantCreditId") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ApplicantId") .HasColumnType("uniqueidentifier"); b.Property("CreditScore") .HasColumnType("int"); b.Property("ReasonCode") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("ReasonNumber") .HasColumnType("int"); b.Property("ReasonVerbiage") .IsRequired() .HasMaxLength(255) .HasColumnType("nvarchar(255)"); b.Property("RiskBand") .HasColumnType("int"); b.Property("RiskBankDescription") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("ScoreIndicator") .HasColumnType("int"); b.HasKey("ApplicantCreditId"); b.HasIndex("ApplicantId") .IsUnique(); b.ToTable("ApplicantCredit"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApplicantFinance", b => { b.Property("ApplicantFinanceId") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ApplicantId") .HasColumnType("uniqueidentifier"); b.Property("BureauExpenses") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("CalculatedGross") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("CalculatedLivingExpenses") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("CalculatedNet") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("CalculatedTotalExpenses") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("Deposit") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("DisposableIncome") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("GrossIncome") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("LivingExpenses") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("MonthlyFinancingAmount") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("NetIncome") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("PredictorConfidence") .IsRequired() .HasMaxLength(15) .HasColumnType("nvarchar(15)"); b.Property("TotalFinancingAmount") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.HasKey("ApplicantFinanceId"); b.HasIndex("ApplicantId") .IsUnique(); b.ToTable("ApplicantFinance"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApplicantFraudAlert", b => { b.Property("ApplicantFraudAlertId") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ApplicantId") .HasColumnType("uniqueidentifier"); b.Property("Disparity") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("DisparityDescription") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Rating") .HasColumnType("int"); b.Property("RatingDescription") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.HasKey("ApplicantFraudAlertId"); b.HasIndex("ApplicantId") .IsUnique(); b.ToTable("ApplicantFraudAlert"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApplicantPredicition", b => { b.Property("ApplicantPredictionId") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("ApplicantId") .HasColumnType("uniqueidentifier"); b.Property("ChancesOfApproval") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("EstimatedApprovalAmount") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("EstimatedFinanceSpend") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("EstimatedInsuranceSpend") .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); b.Property("ImprovementSuggestion") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("ImprovementSuggestionFull") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.HasKey("ApplicantPredictionId"); b.HasIndex("ApplicantId") .IsUnique(); b.ToTable("ApplicantPredicition"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.Client", b => { b.Property("ClientId") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("Active") .HasColumnType("bit"); b.Property("ClientName") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("ModifiedAt") .HasColumnType("datetime2"); b.HasKey("ClientId"); b.ToTable("Clients", (string)null); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.Role", b => { b.Property("RoleId") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("ModifiedAt") .HasColumnType("datetime2"); b.Property("Permissions") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("RoleName") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("RoleId"); b.ToTable("Roles", (string)null); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApiKey", b => { b.HasOne("FindAndDrive.Domain.Models.Entities.Client", "Client") .WithMany("ApiKeys") .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("FindAndDrive.Domain.Models.Entities.Role", "Role") .WithMany("ApiKeys") .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.NoAction) .IsRequired(); b.Navigation("Client"); b.Navigation("Role"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.Applicant", b => { b.HasOne("FindAndDrive.Domain.Models.Entities.Client", "Client") .WithMany("Applicant") .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Client"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApplicantAuditLog", b => { b.HasOne("FindAndDrive.Domain.Models.Entities.Applicant", "Applicant") .WithOne("ApplicantAuditLog") .HasForeignKey("FindAndDrive.Domain.Models.Entities.ApplicantAuditLog", "ApplicantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Applicant"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApplicantCredit", b => { b.HasOne("FindAndDrive.Domain.Models.Entities.Applicant", "Applicant") .WithOne("ApplicantCredit") .HasForeignKey("FindAndDrive.Domain.Models.Entities.ApplicantCredit", "ApplicantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Applicant"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApplicantFinance", b => { b.HasOne("FindAndDrive.Domain.Models.Entities.Applicant", "Applicant") .WithOne("ApplicantFinance") .HasForeignKey("FindAndDrive.Domain.Models.Entities.ApplicantFinance", "ApplicantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Applicant"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApplicantFraudAlert", b => { b.HasOne("FindAndDrive.Domain.Models.Entities.Applicant", "Applicant") .WithOne("ApplicantFraudAlert") .HasForeignKey("FindAndDrive.Domain.Models.Entities.ApplicantFraudAlert", "ApplicantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Applicant"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.ApplicantPredicition", b => { b.HasOne("FindAndDrive.Domain.Models.Entities.Applicant", "Applicant") .WithOne("ApplicantPredicition") .HasForeignKey("FindAndDrive.Domain.Models.Entities.ApplicantPredicition", "ApplicantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Applicant"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.Applicant", b => { b.Navigation("ApplicantAuditLog") .IsRequired(); b.Navigation("ApplicantCredit") .IsRequired(); b.Navigation("ApplicantFinance") .IsRequired(); b.Navigation("ApplicantFraudAlert") .IsRequired(); b.Navigation("ApplicantPredicition") .IsRequired(); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.Client", b => { b.Navigation("ApiKeys"); b.Navigation("Applicant"); }); modelBuilder.Entity("FindAndDrive.Domain.Models.Entities.Role", b => { b.Navigation("ApiKeys"); }); #pragma warning restore 612, 618 } } }