diff --git a/Services/YCompanyClaimsAPI/YCompany.Claims.DataAccess/YCompany.Claims.DataAccess.csproj b/Services/YCompanyClaimsAPI/YCompany.Claims.DataAccess/YCompany.Claims.DataAccess.csproj
index c910a3c8..c1d7bc79 100644
--- a/Services/YCompanyClaimsAPI/YCompany.Claims.DataAccess/YCompany.Claims.DataAccess.csproj
+++ b/Services/YCompanyClaimsAPI/YCompany.Claims.DataAccess/YCompany.Claims.DataAccess.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/Services/YCompanyCommunicationsAPI/YCompany.Communications.DataAccess/YCompany.Communications.DataAccess.csproj b/Services/YCompanyCommunicationsAPI/YCompany.Communications.DataAccess/YCompany.Communications.DataAccess.csproj
index 1f893e34..a1c281ca 100644
--- a/Services/YCompanyCommunicationsAPI/YCompany.Communications.DataAccess/YCompany.Communications.DataAccess.csproj
+++ b/Services/YCompanyCommunicationsAPI/YCompany.Communications.DataAccess/YCompany.Communications.DataAccess.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/Services/YCompanyIdentityServer/YCompany.Identity.DataAccess/YCompany.Identity.DataAccess.csproj b/Services/YCompanyIdentityServer/YCompany.Identity.DataAccess/YCompany.Identity.DataAccess.csproj
index b03892c1..d6c1c266 100644
--- a/Services/YCompanyIdentityServer/YCompany.Identity.DataAccess/YCompany.Identity.DataAccess.csproj
+++ b/Services/YCompanyIdentityServer/YCompany.Identity.DataAccess/YCompany.Identity.DataAccess.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/Services/YCompanyIdentityServer/YCompanyIdentityServer/YCompanyIdentityServer.csproj b/Services/YCompanyIdentityServer/YCompanyIdentityServer/YCompanyIdentityServer.csproj
index 975c4a07..69a2877a 100644
--- a/Services/YCompanyIdentityServer/YCompanyIdentityServer/YCompanyIdentityServer.csproj
+++ b/Services/YCompanyIdentityServer/YCompanyIdentityServer/YCompanyIdentityServer.csproj
@@ -12,12 +12,16 @@
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/Services/YCompanyIdentityServer/YCompanyIdentityServer/appsettings.json b/Services/YCompanyIdentityServer/YCompanyIdentityServer/appsettings.json
index 1f856020..1d843862 100644
--- a/Services/YCompanyIdentityServer/YCompanyIdentityServer/appsettings.json
+++ b/Services/YCompanyIdentityServer/YCompanyIdentityServer/appsettings.json
@@ -1,7 +1,7 @@
{
"ConnectionStrings": {
- "DefaultConnection": "Server=localhost\\MSSQLSERVER02;Database=ycompany;Trusted_Connection=True;",
- "IdentityServer": "Server=localhost\\MSSQLSERVER02;Database=ycompany;Trusted_Connection=True;"
+ "DefaultConnection": "Server=IN-5F1D5S3;Database=ycompany;Trusted_Connection=True;",
+ "IdentityServer": "Server=IN-5F1D5S3;Database=ycompany;Trusted_Connection=True;"
},
"Logging": {
"LogLevel": {
diff --git a/Services/YCompanyPaymentsAPI/YCompanyPaymentsAPI/YCompanyPaymentsAPI.csproj b/Services/YCompanyPaymentsAPI/YCompanyPaymentsAPI/YCompanyPaymentsAPI.csproj
index f2d2f3ad..f1b03677 100644
--- a/Services/YCompanyPaymentsAPI/YCompanyPaymentsAPI/YCompanyPaymentsAPI.csproj
+++ b/Services/YCompanyPaymentsAPI/YCompanyPaymentsAPI/YCompanyPaymentsAPI.csproj
@@ -8,10 +8,14 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/Services/YCompanyReportingAPI/YCompany.Reporting.DataAccess/YCompany.Reporting.DataAccess.csproj b/Services/YCompanyReportingAPI/YCompany.Reporting.DataAccess/YCompany.Reporting.DataAccess.csproj
index 6afb89e5..3cfa41d6 100644
--- a/Services/YCompanyReportingAPI/YCompany.Reporting.DataAccess/YCompany.Reporting.DataAccess.csproj
+++ b/Services/YCompanyReportingAPI/YCompany.Reporting.DataAccess/YCompany.Reporting.DataAccess.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/Services/YCompanyUserManagementAPI/YCompany.UserManagement.DataAccess/YCompany.UserManagement.DataAccess.csproj b/Services/YCompanyUserManagementAPI/YCompany.UserManagement.DataAccess/YCompany.UserManagement.DataAccess.csproj
index 833d0680..ce0f9755 100644
--- a/Services/YCompanyUserManagementAPI/YCompany.UserManagement.DataAccess/YCompany.UserManagement.DataAccess.csproj
+++ b/Services/YCompanyUserManagementAPI/YCompany.UserManagement.DataAccess/YCompany.UserManagement.DataAccess.csproj
@@ -7,7 +7,9 @@
-
+
+
+
diff --git a/Services/YCompanyVendorAPI/YCompany.Vendor.DataAccess/YCompany.Vendor.DataAccess.csproj b/Services/YCompanyVendorAPI/YCompany.Vendor.DataAccess/YCompany.Vendor.DataAccess.csproj
index 8018acff..854862ec 100644
--- a/Services/YCompanyVendorAPI/YCompany.Vendor.DataAccess/YCompany.Vendor.DataAccess.csproj
+++ b/Services/YCompanyVendorAPI/YCompany.Vendor.DataAccess/YCompany.Vendor.DataAccess.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Controllers/ThirdPartyController.cs b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Controllers/ThirdPartyController.cs
index cc3e3fc8..4a51f5fd 100644
--- a/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Controllers/ThirdPartyController.cs
+++ b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Controllers/ThirdPartyController.cs
@@ -1,5 +1,7 @@
+
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using YCompany.Configurations;
using YCompanyPaymentsAPI.Data;
using YCompanyPaymentsAPI.Models;
@@ -11,17 +13,32 @@ namespace YCompanyThirdPartyAPI.Controllers
public class ThirdPartyController : ControllerBase
{
private readonly InsuranceContext _context;
+ private readonly IConfiguration _configuration;
+ private readonly ILogger _logger;
- public ThirdPartyController(InsuranceContext context)
+ public ThirdPartyController(InsuranceContext context, IConfiguration configuration, ILogger logger)
{
_context = context;
+ _configuration = configuration;
+ _logger = logger;
}
+ //[HttpGet]
+ //public IEnumerable Get()
+ //{
+ // _logger.LogInformation(_configuration["ApiKey"]);
+ // List result = _context.Policies.ToList();
+ // return result;
+ //}
[HttpGet]
- public IEnumerable Get()
+ public IActionResult GetConfig()
{
- List result = _context.Policies.ToList();
- return result;
+ var metadata = new SecurityMetadata
+ {
+ ApiKey = _configuration["ApiKey"],
+ ApiSecret = _configuration["ApiSecret"]
+ };
+ return Ok(metadata);
}
}
}
\ No newline at end of file
diff --git a/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074543_v2.Designer.cs b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074543_v2.Designer.cs
new file mode 100644
index 00000000..1f188389
--- /dev/null
+++ b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074543_v2.Designer.cs
@@ -0,0 +1,385 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using YCompanyPaymentsAPI.Data;
+
+#nullable disable
+
+namespace YCompanyThirdPartyAPI.Migrations
+{
+ [DbContext(typeof(InsuranceContext))]
+ [Migration("20240116074543_v2")]
+ partial class v2
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "6.0.14")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Coverage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Code")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CoverageGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CoverageName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsPolicyCoverage")
+ .HasColumnType("bit");
+
+ b.Property("IsVehicleCoverage")
+ .HasColumnType("bit");
+
+ b.HasKey("Id");
+
+ b.ToTable("Coverage");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Driver", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DoB")
+ .HasColumnType("datetime2");
+
+ b.Property("EmailAddress")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("FirstName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsPrimaryPolicyHolder")
+ .HasColumnType("bit");
+
+ b.Property("LastName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("LicenseIssuedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("LicenseIssuedState")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("LicenseNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PhoneNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyId")
+ .HasColumnType("int");
+
+ b.Property("RelationWithPrimaryPolicyHolder")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PolicyId");
+
+ b.ToTable("Driver");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Policy", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("AdditionalInfo")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PaymentOption")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyEffectiveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PolicyExpirationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PolicyName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyNumber")
+ .HasColumnType("int");
+
+ b.Property("TotalAmount")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.ToTable("Policies");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.PolicyCoverage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CoverageId")
+ .HasColumnType("int");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PolicyId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CoverageId");
+
+ b.HasIndex("PolicyId");
+
+ b.ToTable("PolicyCoverage");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Vehicle", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("Color")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Model")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyId")
+ .HasColumnType("int");
+
+ b.Property("VehicleNumberPlate")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("VehicleYear")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PolicyId")
+ .IsUnique();
+
+ b.ToTable("Vehicles");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.VehicleCoverage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CoverageId")
+ .HasColumnType("int");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("VehicleId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CoverageId");
+
+ b.HasIndex("VehicleId");
+
+ b.ToTable("VehicleCoverage");
+ });
+
+ modelBuilder.Entity("YCompanyThirdPartyAPI.Models.VehicleDriver", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DriveForBusiness")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DriverId")
+ .HasColumnType("int");
+
+ b.Property("EverydayMileage")
+ .HasColumnType("real");
+
+ b.Property("IsPrimaryDriver")
+ .HasColumnType("bit");
+
+ b.Property("VehicleId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DriverId");
+
+ b.HasIndex("VehicleId");
+
+ b.ToTable("VehicleDriver");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Driver", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Policy", "Policy")
+ .WithMany("Drivers")
+ .HasForeignKey("PolicyId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Policy");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.PolicyCoverage", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Coverage", "Coverage")
+ .WithMany("PolicyCoverages")
+ .HasForeignKey("CoverageId")
+ .IsRequired();
+
+ b.HasOne("YCompanyPaymentsAPI.Models.Policy", "Policy")
+ .WithMany("PolicyCoverages")
+ .HasForeignKey("PolicyId")
+ .IsRequired();
+
+ b.Navigation("Coverage");
+
+ b.Navigation("Policy");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Vehicle", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Policy", "Policy")
+ .WithOne("Vehicle")
+ .HasForeignKey("YCompanyPaymentsAPI.Models.Vehicle", "PolicyId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Policy");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.VehicleCoverage", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Coverage", "Coverage")
+ .WithMany("VehicleCoverages")
+ .HasForeignKey("CoverageId")
+ .IsRequired();
+
+ b.HasOne("YCompanyPaymentsAPI.Models.Vehicle", "Vehicle")
+ .WithMany("VehicleCoverages")
+ .HasForeignKey("VehicleId")
+ .IsRequired();
+
+ b.Navigation("Coverage");
+
+ b.Navigation("Vehicle");
+ });
+
+ modelBuilder.Entity("YCompanyThirdPartyAPI.Models.VehicleDriver", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Driver", "Driver")
+ .WithMany("VehicleDrivers")
+ .HasForeignKey("DriverId")
+ .IsRequired();
+
+ b.HasOne("YCompanyPaymentsAPI.Models.Vehicle", "Vehicle")
+ .WithMany("VehicleDrivers")
+ .HasForeignKey("VehicleId")
+ .IsRequired();
+
+ b.Navigation("Driver");
+
+ b.Navigation("Vehicle");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Coverage", b =>
+ {
+ b.Navigation("PolicyCoverages");
+
+ b.Navigation("VehicleCoverages");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Driver", b =>
+ {
+ b.Navigation("VehicleDrivers");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Policy", b =>
+ {
+ b.Navigation("Drivers");
+
+ b.Navigation("PolicyCoverages");
+
+ b.Navigation("Vehicle");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Vehicle", b =>
+ {
+ b.Navigation("VehicleCoverages");
+
+ b.Navigation("VehicleDrivers");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074543_v2.cs b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074543_v2.cs
new file mode 100644
index 00000000..7d35508c
--- /dev/null
+++ b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074543_v2.cs
@@ -0,0 +1,256 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace YCompanyThirdPartyAPI.Migrations
+{
+ public partial class v2 : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "Policy_Coverage");
+
+ migrationBuilder.DropTable(
+ name: "Vehicle_Coverage");
+
+ migrationBuilder.DropTable(
+ name: "Vehicle_Driver");
+
+ migrationBuilder.CreateTable(
+ name: "PolicyCoverage",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Active = table.Column(type: "bit", nullable: false),
+ CreatedDate = table.Column(type: "datetime2", nullable: false),
+ PolicyId = table.Column(type: "int", nullable: false),
+ CoverageId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_PolicyCoverage", x => x.Id);
+ table.ForeignKey(
+ name: "FK_PolicyCoverage_Coverage_CoverageId",
+ column: x => x.CoverageId,
+ principalTable: "Coverage",
+ principalColumn: "Id");
+ table.ForeignKey(
+ name: "FK_PolicyCoverage_Policies_PolicyId",
+ column: x => x.PolicyId,
+ principalTable: "Policies",
+ principalColumn: "Id");
+ });
+
+ migrationBuilder.CreateTable(
+ name: "VehicleCoverage",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Active = table.Column(type: "bit", nullable: false),
+ CreatedDate = table.Column(type: "datetime2", nullable: false),
+ VehicleId = table.Column(type: "int", nullable: false),
+ CoverageId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_VehicleCoverage", x => x.Id);
+ table.ForeignKey(
+ name: "FK_VehicleCoverage_Coverage_CoverageId",
+ column: x => x.CoverageId,
+ principalTable: "Coverage",
+ principalColumn: "Id");
+ table.ForeignKey(
+ name: "FK_VehicleCoverage_Vehicles_VehicleId",
+ column: x => x.VehicleId,
+ principalTable: "Vehicles",
+ principalColumn: "Id");
+ });
+
+ migrationBuilder.CreateTable(
+ name: "VehicleDriver",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ DriveForBusiness = table.Column(type: "nvarchar(max)", nullable: true),
+ IsPrimaryDriver = table.Column(type: "bit", nullable: false),
+ EverydayMileage = table.Column(type: "real", nullable: false),
+ CreatedDate = table.Column(type: "datetime2", nullable: false),
+ Active = table.Column(type: "bit", nullable: false),
+ VehicleId = table.Column(type: "int", nullable: false),
+ DriverId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_VehicleDriver", x => x.Id);
+ table.ForeignKey(
+ name: "FK_VehicleDriver_Driver_DriverId",
+ column: x => x.DriverId,
+ principalTable: "Driver",
+ principalColumn: "Id");
+ table.ForeignKey(
+ name: "FK_VehicleDriver_Vehicles_VehicleId",
+ column: x => x.VehicleId,
+ principalTable: "Vehicles",
+ principalColumn: "Id");
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_PolicyCoverage_CoverageId",
+ table: "PolicyCoverage",
+ column: "CoverageId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_PolicyCoverage_PolicyId",
+ table: "PolicyCoverage",
+ column: "PolicyId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_VehicleCoverage_CoverageId",
+ table: "VehicleCoverage",
+ column: "CoverageId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_VehicleCoverage_VehicleId",
+ table: "VehicleCoverage",
+ column: "VehicleId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_VehicleDriver_DriverId",
+ table: "VehicleDriver",
+ column: "DriverId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_VehicleDriver_VehicleId",
+ table: "VehicleDriver",
+ column: "VehicleId");
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "PolicyCoverage");
+
+ migrationBuilder.DropTable(
+ name: "VehicleCoverage");
+
+ migrationBuilder.DropTable(
+ name: "VehicleDriver");
+
+ migrationBuilder.CreateTable(
+ name: "Policy_Coverage",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ CoverageId = table.Column(type: "int", nullable: false),
+ PolicyId = table.Column(type: "int", nullable: false),
+ Active = table.Column(type: "bit", nullable: false),
+ CreatedDate = table.Column(type: "datetime2", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Policy_Coverage", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Policy_Coverage_Coverage_CoverageId",
+ column: x => x.CoverageId,
+ principalTable: "Coverage",
+ principalColumn: "Id");
+ table.ForeignKey(
+ name: "FK_Policy_Coverage_Policies_PolicyId",
+ column: x => x.PolicyId,
+ principalTable: "Policies",
+ principalColumn: "Id");
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Vehicle_Coverage",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ CoverageId = table.Column(type: "int", nullable: false),
+ VehicleId = table.Column(type: "int", nullable: false),
+ Active = table.Column(type: "bit", nullable: false),
+ CreatedDate = table.Column(type: "datetime2", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Vehicle_Coverage", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Vehicle_Coverage_Coverage_CoverageId",
+ column: x => x.CoverageId,
+ principalTable: "Coverage",
+ principalColumn: "Id");
+ table.ForeignKey(
+ name: "FK_Vehicle_Coverage_Vehicles_VehicleId",
+ column: x => x.VehicleId,
+ principalTable: "Vehicles",
+ principalColumn: "Id");
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Vehicle_Driver",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ DriverId = table.Column(type: "int", nullable: false),
+ VehicleId = table.Column(type: "int", nullable: false),
+ Active = table.Column(type: "bit", nullable: false),
+ CreatedDate = table.Column(type: "datetime2", nullable: false),
+ DriveForBusiness = table.Column(type: "nvarchar(max)", nullable: true),
+ EverydayMileage = table.Column(type: "real", nullable: false),
+ IsPrimaryDriver = table.Column(type: "bit", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Vehicle_Driver", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Vehicle_Driver_Driver_DriverId",
+ column: x => x.DriverId,
+ principalTable: "Driver",
+ principalColumn: "Id");
+ table.ForeignKey(
+ name: "FK_Vehicle_Driver_Vehicles_VehicleId",
+ column: x => x.VehicleId,
+ principalTable: "Vehicles",
+ principalColumn: "Id");
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Policy_Coverage_CoverageId",
+ table: "Policy_Coverage",
+ column: "CoverageId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Policy_Coverage_PolicyId",
+ table: "Policy_Coverage",
+ column: "PolicyId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Vehicle_Coverage_CoverageId",
+ table: "Vehicle_Coverage",
+ column: "CoverageId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Vehicle_Coverage_VehicleId",
+ table: "Vehicle_Coverage",
+ column: "VehicleId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Vehicle_Driver_DriverId",
+ table: "Vehicle_Driver",
+ column: "DriverId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Vehicle_Driver_VehicleId",
+ table: "Vehicle_Driver",
+ column: "VehicleId");
+ }
+ }
+}
diff --git a/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074911_v3.Designer.cs b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074911_v3.Designer.cs
new file mode 100644
index 00000000..7c375182
--- /dev/null
+++ b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074911_v3.Designer.cs
@@ -0,0 +1,385 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using YCompanyPaymentsAPI.Data;
+
+#nullable disable
+
+namespace YCompanyThirdPartyAPI.Migrations
+{
+ [DbContext(typeof(InsuranceContext))]
+ [Migration("20240116074911_v3")]
+ partial class v3
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "6.0.14")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Coverage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Code")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CoverageGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CoverageName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsPolicyCoverage")
+ .HasColumnType("bit");
+
+ b.Property("IsVehicleCoverage")
+ .HasColumnType("bit");
+
+ b.HasKey("Id");
+
+ b.ToTable("Coverage");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Driver", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DoB")
+ .HasColumnType("datetime2");
+
+ b.Property("EmailAddress")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("FirstName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsPrimaryPolicyHolder")
+ .HasColumnType("bit");
+
+ b.Property("LastName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("LicenseIssuedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("LicenseIssuedState")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("LicenseNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PhoneNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyId")
+ .HasColumnType("int");
+
+ b.Property("RelationWithPrimaryPolicyHolder")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PolicyId");
+
+ b.ToTable("Driver");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Policy", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("AdditionalInfo")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PaymentOption")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyEffectiveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PolicyExpirationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PolicyName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyNumber")
+ .HasColumnType("int");
+
+ b.Property("TotalAmount")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.ToTable("Policies");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.PolicyCoverage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CoverageId")
+ .HasColumnType("int");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PolicyId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CoverageId");
+
+ b.HasIndex("PolicyId");
+
+ b.ToTable("PolicyCoverage");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Vehicle", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("Color")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Model")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyId")
+ .HasColumnType("int");
+
+ b.Property("VehicleNumberPlate")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("VehicleYear")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PolicyId")
+ .IsUnique();
+
+ b.ToTable("Vehicles");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.VehicleCoverage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CoverageId")
+ .HasColumnType("int");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("VehicleId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CoverageId");
+
+ b.HasIndex("VehicleId");
+
+ b.ToTable("VehicleCoverage");
+ });
+
+ modelBuilder.Entity("YCompanyThirdPartyAPI.Models.VehicleDriver", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DriveForBusiness")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DriverId")
+ .HasColumnType("int");
+
+ b.Property("EverydayMileage")
+ .HasColumnType("real");
+
+ b.Property("IsPrimaryDriver")
+ .HasColumnType("bit");
+
+ b.Property("VehicleId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DriverId");
+
+ b.HasIndex("VehicleId");
+
+ b.ToTable("VehicleDriver");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Driver", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Policy", "Policy")
+ .WithMany("Drivers")
+ .HasForeignKey("PolicyId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Policy");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.PolicyCoverage", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Coverage", "Coverage")
+ .WithMany("PolicyCoverages")
+ .HasForeignKey("CoverageId")
+ .IsRequired();
+
+ b.HasOne("YCompanyPaymentsAPI.Models.Policy", "Policy")
+ .WithMany("PolicyCoverages")
+ .HasForeignKey("PolicyId")
+ .IsRequired();
+
+ b.Navigation("Coverage");
+
+ b.Navigation("Policy");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Vehicle", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Policy", "Policy")
+ .WithOne("Vehicle")
+ .HasForeignKey("YCompanyPaymentsAPI.Models.Vehicle", "PolicyId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Policy");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.VehicleCoverage", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Coverage", "Coverage")
+ .WithMany("VehicleCoverages")
+ .HasForeignKey("CoverageId")
+ .IsRequired();
+
+ b.HasOne("YCompanyPaymentsAPI.Models.Vehicle", "Vehicle")
+ .WithMany("VehicleCoverages")
+ .HasForeignKey("VehicleId")
+ .IsRequired();
+
+ b.Navigation("Coverage");
+
+ b.Navigation("Vehicle");
+ });
+
+ modelBuilder.Entity("YCompanyThirdPartyAPI.Models.VehicleDriver", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Driver", "Driver")
+ .WithMany("VehicleDrivers")
+ .HasForeignKey("DriverId")
+ .IsRequired();
+
+ b.HasOne("YCompanyPaymentsAPI.Models.Vehicle", "Vehicle")
+ .WithMany("VehicleDrivers")
+ .HasForeignKey("VehicleId")
+ .IsRequired();
+
+ b.Navigation("Driver");
+
+ b.Navigation("Vehicle");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Coverage", b =>
+ {
+ b.Navigation("PolicyCoverages");
+
+ b.Navigation("VehicleCoverages");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Driver", b =>
+ {
+ b.Navigation("VehicleDrivers");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Policy", b =>
+ {
+ b.Navigation("Drivers");
+
+ b.Navigation("PolicyCoverages");
+
+ b.Navigation("Vehicle");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Vehicle", b =>
+ {
+ b.Navigation("VehicleCoverages");
+
+ b.Navigation("VehicleDrivers");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074911_v3.cs b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074911_v3.cs
new file mode 100644
index 00000000..43ed9e28
--- /dev/null
+++ b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116074911_v3.cs
@@ -0,0 +1,19 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace YCompanyThirdPartyAPI.Migrations
+{
+ public partial class v3 : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+
+ }
+ }
+}
diff --git a/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116080212_v5.Designer.cs b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116080212_v5.Designer.cs
new file mode 100644
index 00000000..9d22e61b
--- /dev/null
+++ b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116080212_v5.Designer.cs
@@ -0,0 +1,385 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using YCompanyPaymentsAPI.Data;
+
+#nullable disable
+
+namespace YCompanyThirdPartyAPI.Migrations
+{
+ [DbContext(typeof(InsuranceContext))]
+ [Migration("20240116080212_v5")]
+ partial class v5
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "6.0.14")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Coverage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Code")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CoverageGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CoverageName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsPolicyCoverage")
+ .HasColumnType("bit");
+
+ b.Property("IsVehicleCoverage")
+ .HasColumnType("bit");
+
+ b.HasKey("Id");
+
+ b.ToTable("Coverage");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Driver", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DoB")
+ .HasColumnType("datetime2");
+
+ b.Property("EmailAddress")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("FirstName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsPrimaryPolicyHolder")
+ .HasColumnType("bit");
+
+ b.Property("LastName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("LicenseIssuedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("LicenseIssuedState")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("LicenseNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PhoneNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyId")
+ .HasColumnType("int");
+
+ b.Property("RelationWithPrimaryPolicyHolder")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PolicyId");
+
+ b.ToTable("Driver");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Policy", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("AdditionalInfo")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PaymentOption")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyEffectiveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PolicyExpirationDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PolicyName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyNumber")
+ .HasColumnType("int");
+
+ b.Property("TotalAmount")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.ToTable("Policies");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.PolicyCoverage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CoverageId")
+ .HasColumnType("int");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("PolicyId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CoverageId");
+
+ b.HasIndex("PolicyId");
+
+ b.ToTable("PolicyCoverage");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Vehicle", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("Color")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Model")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PolicyId")
+ .HasColumnType("int");
+
+ b.Property("VehicleNumberPlate")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("VehicleYear")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PolicyId")
+ .IsUnique();
+
+ b.ToTable("Vehicles");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.VehicleCoverage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CoverageId")
+ .HasColumnType("int");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("VehicleId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CoverageId");
+
+ b.HasIndex("VehicleId");
+
+ b.ToTable("VehicleCoverage");
+ });
+
+ modelBuilder.Entity("YCompanyThirdPartyAPI.Models.VehicleDriver", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"), 1L, 1);
+
+ b.Property("Active")
+ .HasColumnType("bit");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime2");
+
+ b.Property("DriveForBusiness")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DriverId")
+ .HasColumnType("int");
+
+ b.Property("EverydayMileage")
+ .HasColumnType("real");
+
+ b.Property("IsPrimaryDriver")
+ .HasColumnType("bit");
+
+ b.Property("VehicleId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DriverId");
+
+ b.HasIndex("VehicleId");
+
+ b.ToTable("VehicleDriver");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Driver", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Policy", "Policy")
+ .WithMany("Drivers")
+ .HasForeignKey("PolicyId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Policy");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.PolicyCoverage", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Coverage", "Coverage")
+ .WithMany("PolicyCoverages")
+ .HasForeignKey("CoverageId")
+ .IsRequired();
+
+ b.HasOne("YCompanyPaymentsAPI.Models.Policy", "Policy")
+ .WithMany("PolicyCoverages")
+ .HasForeignKey("PolicyId")
+ .IsRequired();
+
+ b.Navigation("Coverage");
+
+ b.Navigation("Policy");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Vehicle", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Policy", "Policy")
+ .WithOne("Vehicle")
+ .HasForeignKey("YCompanyPaymentsAPI.Models.Vehicle", "PolicyId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Policy");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.VehicleCoverage", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Coverage", "Coverage")
+ .WithMany("VehicleCoverages")
+ .HasForeignKey("CoverageId")
+ .IsRequired();
+
+ b.HasOne("YCompanyPaymentsAPI.Models.Vehicle", "Vehicle")
+ .WithMany("VehicleCoverages")
+ .HasForeignKey("VehicleId")
+ .IsRequired();
+
+ b.Navigation("Coverage");
+
+ b.Navigation("Vehicle");
+ });
+
+ modelBuilder.Entity("YCompanyThirdPartyAPI.Models.VehicleDriver", b =>
+ {
+ b.HasOne("YCompanyPaymentsAPI.Models.Driver", "Driver")
+ .WithMany("VehicleDrivers")
+ .HasForeignKey("DriverId")
+ .IsRequired();
+
+ b.HasOne("YCompanyPaymentsAPI.Models.Vehicle", "Vehicle")
+ .WithMany("VehicleDrivers")
+ .HasForeignKey("VehicleId")
+ .IsRequired();
+
+ b.Navigation("Driver");
+
+ b.Navigation("Vehicle");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Coverage", b =>
+ {
+ b.Navigation("PolicyCoverages");
+
+ b.Navigation("VehicleCoverages");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Driver", b =>
+ {
+ b.Navigation("VehicleDrivers");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Policy", b =>
+ {
+ b.Navigation("Drivers");
+
+ b.Navigation("PolicyCoverages");
+
+ b.Navigation("Vehicle");
+ });
+
+ modelBuilder.Entity("YCompanyPaymentsAPI.Models.Vehicle", b =>
+ {
+ b.Navigation("VehicleCoverages");
+
+ b.Navigation("VehicleDrivers");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116080212_v5.cs b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116080212_v5.cs
new file mode 100644
index 00000000..ff8b5d5c
--- /dev/null
+++ b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/20240116080212_v5.cs
@@ -0,0 +1,19 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace YCompanyThirdPartyAPI.Migrations
+{
+ public partial class v5 : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+
+ }
+ }
+}
diff --git a/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/InsuranceContextModelSnapshot.cs b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/InsuranceContextModelSnapshot.cs
index c253fae0..d057deca 100644
--- a/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/InsuranceContextModelSnapshot.cs
+++ b/ThirdPartyAndSeed/YCompanyThirdPartyAPI/Migrations/InsuranceContextModelSnapshot.cs
@@ -1,383 +1,383 @@
-//
-using System;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using YCompanyPaymentsAPI.Data;
-
-#nullable disable
-
-namespace YCompanyThirdPartyAPI.Migrations
-{
- [DbContext(typeof(InsuranceContext))]
- partial class InsuranceContextModelSnapshot : ModelSnapshot
- {
- protected override void BuildModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "7.0.4")
- .HasAnnotation("Relational:MaxIdentifierLength", 128);
-
- SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
-
- modelBuilder.Entity("YCompanyPaymentsAPI.Models.Coverage", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("Code")
- .HasColumnType("nvarchar(max)");
-
- b.Property("CoverageGroup")
- .HasColumnType("nvarchar(max)");
-
- b.Property("CoverageName")
- .HasColumnType("nvarchar(max)");
-
- b.Property("IsPolicyCoverage")
- .HasColumnType("bit");
-
- b.Property("IsVehicleCoverage")
- .HasColumnType("bit");
-
- b.HasKey("Id");
-
- b.ToTable("Coverage");
- });
-
- modelBuilder.Entity("YCompanyPaymentsAPI.Models.Driver", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("Active")
- .HasColumnType("bit");
-
- b.Property("CreatedDate")
- .HasColumnType("datetime2");
-
- b.Property("DoB")
- .HasColumnType("datetime2");
-
- b.Property("EmailAddress")
- .HasColumnType("nvarchar(max)");
-
- b.Property("FirstName")
- .HasColumnType("nvarchar(max)");
-
- b.Property("IsPrimaryPolicyHolder")
- .HasColumnType("bit");
-
- b.Property("LastName")
- .HasColumnType("nvarchar(max)");
-
- b.Property("LicenseIssuedDate")
- .HasColumnType("datetime2");
-
- b.Property("LicenseIssuedState")
- .HasColumnType("nvarchar(max)");
-
- b.Property("LicenseNumber")
- .HasColumnType("nvarchar(max)");
-
- b.Property("PhoneNumber")
- .HasColumnType("nvarchar(max)");
-
- b.Property("PolicyId")
- .HasColumnType("int");
-
- b.Property("RelationWithPrimaryPolicyHolder")
- .HasColumnType("nvarchar(max)");
-
- b.HasKey("Id");
-
- b.HasIndex("PolicyId");
-
- b.ToTable("Driver");
- });
-
- modelBuilder.Entity("YCompanyPaymentsAPI.Models.Policy", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property