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"); } } }