using System;
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace vendorApproverBackend.Migrations
{
///
public partial class AddRequestsEntityAndRelated : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "PrequalificationRequests",
columns: table => new
{
id = table.Column(type: "bigint", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
status = table.Column(type: "integer", nullable: false),
submission_date = table.Column(type: "timestamp with time zone", nullable: false),
VendorId = table.Column(type: "bigint", nullable: false),
VendorFullName = table.Column(type: "text", nullable: true),
ShortName = table.Column(type: "text", nullable: true),
DateEstablished = table.Column(type: "timestamp with time zone", nullable: true),
CountryOfOrigin = table.Column(type: "text", nullable: true),
GpsLocationCoordinates = table.Column(type: "text", nullable: true),
Website = table.Column(type: "text", nullable: true),
OfficesAvailableIn = table.Column(type: "integer", nullable: false),
OfficeInOman_Street = table.Column(type: "text", nullable: true),
OfficeInOman_POBox = table.Column(type: "text", nullable: true),
OfficeInOman_TelNo = table.Column(type: "text", nullable: true),
OfficeInOman_FaxNo = table.Column(type: "text", nullable: true),
OfficeInOman_Email = table.Column(type: "text", nullable: true),
CorporateHeadquarters_Street = table.Column(type: "text", nullable: true),
CorporateHeadquarters_POBox = table.Column(type: "text", nullable: true),
CorporateHeadquarters_TelNo = table.Column(type: "text", nullable: true),
CorporateHeadquarters_FaxNo = table.Column(type: "text", nullable: true),
CorporateHeadquarters_Email = table.Column(type: "text", nullable: true),
FactoryAddress_Street = table.Column(type: "text", nullable: true),
FactoryAddress_POBox = table.Column(type: "text", nullable: true),
FactoryAddress_TelNo = table.Column(type: "text", nullable: true),
FactoryAddress_FaxNo = table.Column(type: "text", nullable: true),
FactoryAddress_Email = table.Column(type: "text", nullable: true),
NearestSalesOfficeToOman_Street = table.Column(type: "text", nullable: true),
NearestSalesOfficeToOman_POBox = table.Column(type: "text", nullable: true),
NearestSalesOfficeToOman_TelNo = table.Column(type: "text", nullable: true),
NearestSalesOfficeToOman_FaxNo = table.Column(type: "text", nullable: true),
NearestSalesOfficeToOman_Email = table.Column(type: "text", nullable: true),
ProductAppliedFor_EquipmentCategory = table.Column(type: "integer", nullable: true),
ProductAppliedFor_ManufacturerName = table.Column(type: "text", nullable: true),
ProductAppliedFor_ManufacturingCountry = table.Column(type: "text", nullable: true),
ProductAppliedFor_ManufacturingCity = table.Column(type: "text", nullable: true),
ProductAppliedFor_TypeModel = table.Column(type: "text", nullable: true),
ProductAppliedFor_BriefDescription = table.Column(type: "text", nullable: true),
IsForeignCompanyBranchInOman = table.Column(type: "boolean", nullable: false),
OfficialAgencyAgreementId = table.Column(type: "bigint", nullable: true),
AuthorizedPersonnelFileId = table.Column(type: "bigint", nullable: true),
ManufacturerHasLocalSupport = table.Column(type: "boolean", nullable: false),
IndustrialLicenseFromEconomicDept_IssuingAuthority = table.Column(type: "text", nullable: true),
IndustrialLicenseFromEconomicDept_RegistrationNo = table.Column(type: "text", nullable: true),
IndustrialLicenseFromEconomicDept_DateOfRegistration = table.Column(type: "timestamp with time zone", nullable: true),
IndustrialLicenseFromEconomicDept_ExpiryDate = table.Column(type: "timestamp with time zone", nullable: true),
IndustrialLicenseFromEconomicDept_LicenseDocumentId = table.Column(type: "bigint", nullable: true),
OmanChamberMembership_IssuingAuthority = table.Column(type: "text", nullable: true),
OmanChamberMembership_RegistrationNo = table.Column(type: "text", nullable: true),
OmanChamberMembership_DateOfRegistration = table.Column(type: "timestamp with time zone", nullable: true),
OmanChamberMembership_ExpiryDate = table.Column(type: "timestamp with time zone", nullable: true),
OmanChamberMembership_LicenseDocumentId = table.Column(type: "bigint", nullable: true),
FactoryInfrastructure_ProductionCapacity = table.Column(type: "text", nullable: true),
FactoryInfrastructure_TotalFactoryArea = table.Column(type: "text", nullable: true),
FactoryInfrastructure_TotalBuiltUpArea = table.Column(type: "text", nullable: true),
FactoryInfrastructure_DepartmentBuildings = table.Column(type: "text", nullable: true),
ProductionDetails_ProcessControl = table.Column(type: "text", nullable: true),
ProductionDetails_SupportingDocumentId = table.Column(type: "bigint", nullable: true),
ProductionDetails_AuthorityAndResponsibility = table.Column(type: "text", nullable: true),
AfterSalesProductName = table.Column(type: "text", nullable: true),
AfterSalesDate = table.Column(type: "timestamp with time zone", nullable: true),
AfterSalesEvaluationReportId = table.Column(type: "bigint", nullable: true),
WarrantyCertificateId = table.Column(type: "bigint", nullable: true),
ClientIssuesTrackingSystemId = table.Column(type: "bigint", nullable: true),
TypeTestComments = table.Column(type: "text", nullable: true),
TestType = table.Column(type: "integer", nullable: false),
GeneralArrangementDrawingId = table.Column(type: "bigint", nullable: true),
TypicalConnectionDrawingId = table.Column(type: "bigint", nullable: true),
Product3DModelId = table.Column(type: "bigint", nullable: true),
GtpTechnicalDataSheetId = table.Column(type: "bigint", nullable: true),
ComplianceConfirmationId = table.Column(type: "bigint", nullable: true),
GtpUploadId = table.Column(type: "bigint", nullable: true),
Declaration_FullName = table.Column(type: "text", nullable: true),
Declaration_Designation = table.Column(type: "text", nullable: true),
Declaration_OnBehalfOf = table.Column(type: "text", nullable: true),
Declaration_Date = table.Column(type: "timestamp with time zone", nullable: false),
Declaration_PowerOfAttorneyId = table.Column(type: "bigint", nullable: true),
OrgChartManufacturerId = table.Column(type: "bigint", nullable: true),
OrgChartCorporateId = table.Column(type: "bigint", nullable: true),
OrgChartFactorySupportId = table.Column(type: "bigint", nullable: true),
OrgChartLocalSupportId = table.Column(type: "bigint", nullable: true),
FinancialReport2022Id = table.Column(type: "bigint", nullable: true),
FinancialReport2023Id = table.Column(type: "bigint", nullable: true),
FinancialReport2024Id = table.Column(type: "bigint", nullable: true),
PendingCertificationFileId = table.Column(type: "bigint", nullable: true),
AssociatedCompanies = table.Column(type: "jsonb", nullable: true),
AuthorizedSignatories = table.Column(type: "jsonb", nullable: true),
ClientReferences = table.Column(type: "jsonb", nullable: true),
ContactPersons = table.Column(type: "jsonb", nullable: true),
FinancialStanding = table.Column(type: "jsonb", nullable: false),
HumanResourcesDetails = table.Column(type: "jsonb", nullable: false),
LocalCompanyOwners = table.Column(type: "jsonb", nullable: true),
QualityHseRisk = table.Column(type: "jsonb", nullable: false),
QualitySystem = table.Column(type: "jsonb", nullable: false),
TechnicalCapabilities = table.Column(type: "jsonb", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_PrequalificationRequests", x => x.id);
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_AfterSalesEvaluationRep~",
column: x => x.AfterSalesEvaluationReportId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_AuthorizedPersonnelFile~",
column: x => x.AuthorizedPersonnelFileId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_ClientIssuesTrackingSys~",
column: x => x.ClientIssuesTrackingSystemId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_ComplianceConfirmationId",
column: x => x.ComplianceConfirmationId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_Declaration_PowerOfAtto~",
column: x => x.Declaration_PowerOfAttorneyId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_FinancialReport2022Id",
column: x => x.FinancialReport2022Id,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_FinancialReport2023Id",
column: x => x.FinancialReport2023Id,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_FinancialReport2024Id",
column: x => x.FinancialReport2024Id,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_GeneralArrangementDrawi~",
column: x => x.GeneralArrangementDrawingId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_GtpTechnicalDataSheetId",
column: x => x.GtpTechnicalDataSheetId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_GtpUploadId",
column: x => x.GtpUploadId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_IndustrialLicenseFromEc~",
column: x => x.IndustrialLicenseFromEconomicDept_LicenseDocumentId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_OfficialAgencyAgreement~",
column: x => x.OfficialAgencyAgreementId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_OmanChamberMembership_L~",
column: x => x.OmanChamberMembership_LicenseDocumentId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_OrgChartCorporateId",
column: x => x.OrgChartCorporateId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_OrgChartFactorySupportId",
column: x => x.OrgChartFactorySupportId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_OrgChartLocalSupportId",
column: x => x.OrgChartLocalSupportId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_OrgChartManufacturerId",
column: x => x.OrgChartManufacturerId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_PendingCertificationFil~",
column: x => x.PendingCertificationFileId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_Product3DModelId",
column: x => x.Product3DModelId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_ProductionDetails_Suppo~",
column: x => x.ProductionDetails_SupportingDocumentId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_TypicalConnectionDrawin~",
column: x => x.TypicalConnectionDrawingId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_File_model_WarrantyCertificateId",
column: x => x.WarrantyCertificateId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_Vendors_VendorId",
column: x => x.VendorId,
principalTable: "Vendors",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "FileModelPrequalificationRequest",
columns: table => new
{
PrequalificationRequestId = table.Column(type: "bigint", nullable: false),
TypeTestFilesId = table.Column(type: "bigint", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_FileModelPrequalificationRequest", x => new { x.PrequalificationRequestId, x.TypeTestFilesId });
table.ForeignKey(
name: "FK_FileModelPrequalificationRequest_File_model_TypeTestFilesId",
column: x => x.TypeTestFilesId,
principalTable: "File_model",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_FileModelPrequalificationRequest_PrequalificationRequests_P~",
column: x => x.PrequalificationRequestId,
principalTable: "PrequalificationRequests",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "PrequalificationRequests_OtherIndustrialLicenses",
columns: table => new
{
PrequalificationRequestId = table.Column(type: "bigint", nullable: false),
Id = table.Column(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
IssuingAuthority = table.Column(type: "text", nullable: true),
RegistrationNo = table.Column(type: "text", nullable: true),
DateOfRegistration = table.Column(type: "timestamp with time zone", nullable: true),
ExpiryDate = table.Column(type: "timestamp with time zone", nullable: true),
LicenseDocumentId = table.Column(type: "bigint", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_PrequalificationRequests_OtherIndustrialLicenses", x => new { x.PrequalificationRequestId, x.Id });
table.ForeignKey(
name: "FK_PrequalificationRequests_OtherIndustrialLicenses_File_model~",
column: x => x.LicenseDocumentId,
principalTable: "File_model",
principalColumn: "id");
table.ForeignKey(
name: "FK_PrequalificationRequests_OtherIndustrialLicenses_Prequalifi~",
column: x => x.PrequalificationRequestId,
principalTable: "PrequalificationRequests",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_FileModelPrequalificationRequest_TypeTestFilesId",
table: "FileModelPrequalificationRequest",
column: "TypeTestFilesId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_AfterSalesEvaluationReportId",
table: "PrequalificationRequests",
column: "AfterSalesEvaluationReportId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_AuthorizedPersonnelFileId",
table: "PrequalificationRequests",
column: "AuthorizedPersonnelFileId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_ClientIssuesTrackingSystemId",
table: "PrequalificationRequests",
column: "ClientIssuesTrackingSystemId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_ComplianceConfirmationId",
table: "PrequalificationRequests",
column: "ComplianceConfirmationId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_Declaration_PowerOfAttorneyId",
table: "PrequalificationRequests",
column: "Declaration_PowerOfAttorneyId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_FinancialReport2022Id",
table: "PrequalificationRequests",
column: "FinancialReport2022Id");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_FinancialReport2023Id",
table: "PrequalificationRequests",
column: "FinancialReport2023Id");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_FinancialReport2024Id",
table: "PrequalificationRequests",
column: "FinancialReport2024Id");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_GeneralArrangementDrawingId",
table: "PrequalificationRequests",
column: "GeneralArrangementDrawingId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_GtpTechnicalDataSheetId",
table: "PrequalificationRequests",
column: "GtpTechnicalDataSheetId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_GtpUploadId",
table: "PrequalificationRequests",
column: "GtpUploadId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_IndustrialLicenseFromEconomicDept_~",
table: "PrequalificationRequests",
column: "IndustrialLicenseFromEconomicDept_LicenseDocumentId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_OfficialAgencyAgreementId",
table: "PrequalificationRequests",
column: "OfficialAgencyAgreementId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_OmanChamberMembership_LicenseDocum~",
table: "PrequalificationRequests",
column: "OmanChamberMembership_LicenseDocumentId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_OrgChartCorporateId",
table: "PrequalificationRequests",
column: "OrgChartCorporateId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_OrgChartFactorySupportId",
table: "PrequalificationRequests",
column: "OrgChartFactorySupportId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_OrgChartLocalSupportId",
table: "PrequalificationRequests",
column: "OrgChartLocalSupportId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_OrgChartManufacturerId",
table: "PrequalificationRequests",
column: "OrgChartManufacturerId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_PendingCertificationFileId",
table: "PrequalificationRequests",
column: "PendingCertificationFileId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_Product3DModelId",
table: "PrequalificationRequests",
column: "Product3DModelId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_ProductionDetails_SupportingDocume~",
table: "PrequalificationRequests",
column: "ProductionDetails_SupportingDocumentId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_TypicalConnectionDrawingId",
table: "PrequalificationRequests",
column: "TypicalConnectionDrawingId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_VendorId",
table: "PrequalificationRequests",
column: "VendorId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_WarrantyCertificateId",
table: "PrequalificationRequests",
column: "WarrantyCertificateId");
migrationBuilder.CreateIndex(
name: "IX_PrequalificationRequests_OtherIndustrialLicenses_LicenseDoc~",
table: "PrequalificationRequests_OtherIndustrialLicenses",
column: "LicenseDocumentId");
}
///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "FileModelPrequalificationRequest");
migrationBuilder.DropTable(
name: "PrequalificationRequests_OtherIndustrialLicenses");
migrationBuilder.DropTable(
name: "PrequalificationRequests");
}
}
}