// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using PostFundManagement.Infrastructure.Database; #nullable disable namespace PostFundManagement.Infrastructure.Database.Migrations { [DbContext(typeof(ApplicationDbContext))] partial class ApplicationDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.12") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("PostFundManagement.Domain.Entities.Activity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("numeric"); b.Property("ApprovedBy") .HasColumnType("uuid"); b.Property("ApproverId") .HasColumnType("uuid"); b.Property("Category") .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Description") .HasColumnType("text"); b.Property("MilestoneId") .HasColumnType("bigint"); b.Property("PerformedAt") .HasColumnType("timestamp with time zone"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("Title") .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.Property("UpdatorId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("ApproverId"); b.HasIndex("CreatorId"); b.HasIndex("MilestoneId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.HasIndex("UpdatorId"); b.ToTable("Activities", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.AuditLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Action") .HasColumnType("text"); b.Property("EntityId") .HasColumnType("text"); b.Property("EntityName") .HasColumnType("text"); b.Property("PerformedBy") .HasColumnType("uuid"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("Timestamp") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("AuditLogs", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Award", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("numeric"); b.Property("ApprovedBy") .HasColumnType("uuid"); b.Property("ApproverId") .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("OrganisationId") .HasColumnType("bigint"); b.Property("ProgrammeId") .HasColumnType("bigint"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.Property("UpdatorId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("ApproverId"); b.HasIndex("CreatorId"); b.HasIndex("OrganisationId"); b.HasIndex("ProgrammeId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.HasIndex("UpdatorId"); b.ToTable("Awards", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Beneficiary", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Category") .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("Location") .HasColumnType("text"); b.Property("Name") .HasColumnType("text"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("ReachedCount") .HasColumnType("integer"); b.Property("TargetCount") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("CreatedBy"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.HasIndex("UserId"); b.ToTable("Beneficiaries", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Budget", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("numeric"); b.Property("ApprovedBy") .HasColumnType("uuid"); b.Property("ApproverId") .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Name") .HasColumnType("text"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("ApproverId"); b.HasIndex("CreatorId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.ToTable("Budgets", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.ChangeRequest", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ApprovedBy") .HasColumnType("uuid"); b.Property("ApproverId") .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Justification") .HasColumnType("text"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("RevisedBudget") .HasColumnType("numeric"); b.Property("RevisedEndedAt") .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("Title") .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("ApproverId"); b.HasIndex("CreatorId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.ToTable("ChangeRequests", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.ComplianceItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("Requirements") .HasColumnType("text"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("Title") .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("VerifiedBy") .HasColumnType("uuid"); b.Property("VerifierId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.HasIndex("VerifierId"); b.ToTable("ComplianceItems", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Contract", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AwardId") .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("EffectiveAt") .HasColumnType("timestamp with time zone"); b.Property("ExpiresAt") .HasColumnType("timestamp with time zone"); b.Property("ExternalSignatureId") .HasColumnType("text"); b.Property("SignedDocumentUrl") .HasColumnType("text"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("TotalValue") .HasColumnType("numeric"); b.HasKey("Id"); b.HasIndex("AwardId") .IsUnique(); b.HasIndex("CreatorId"); b.HasIndex("TenantId"); b.ToTable("Contracts", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Disbursement", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("numeric"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("MilestoneId") .HasColumnType("bigint"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.Property("UpdatorId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("MilestoneId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.HasIndex("UpdatorId"); b.ToTable("Disbursements", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Evidence", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ActivityId") .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("DocumentUrl") .HasColumnType("text"); b.Property("IndicatorId") .HasColumnType("bigint"); b.Property("MilestoneId") .HasColumnType("bigint"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("Type") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.Property("UpdatorId") .HasColumnType("uuid"); b.Property("Version") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("ActivityId"); b.HasIndex("CreatorId"); b.HasIndex("IndicatorId"); b.HasIndex("MilestoneId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.HasIndex("UpdatorId"); b.ToTable("Evidences", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Indicator", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ActualAmount") .HasColumnType("numeric"); b.Property("BaselineAmount") .HasColumnType("numeric"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Name") .HasColumnType("text"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("TargetAmount") .HasColumnType("numeric"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UnitOfMeasure") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.ToTable("Indicators", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Instrument", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Code") .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Description") .HasColumnType("text"); b.Property("Name") .HasColumnType("text"); b.Property("ProgrammeId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("ProgrammeId"); b.HasIndex("TenantId"); b.ToTable("Instruments", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Invite", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AwardId") .HasColumnType("bigint"); b.Property("ContractId") .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("InvitedOrganisationId") .HasColumnType("bigint"); b.Property("OrganisationId") .HasColumnType("bigint"); b.Property("Recipient") .HasColumnType("uuid"); b.Property("RecipientUserId") .HasColumnType("uuid"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("AwardId"); b.HasIndex("ContractId"); b.HasIndex("InvitedOrganisationId"); b.HasIndex("OrganisationId"); b.HasIndex("RecipientUserId"); b.HasIndex("TenantId"); b.ToTable("Invites", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Issue", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AssignedTo") .HasColumnType("uuid"); b.Property("AssigneeId") .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Description") .HasColumnType("text"); b.Property("Priority") .HasColumnType("integer"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("Resolution") .HasColumnType("text"); b.Property("ResolvedAt") .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("Title") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("AssigneeId"); b.HasIndex("CreatorId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.ToTable("Issues", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Milestone", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("DueAt") .HasColumnType("timestamp with time zone"); b.Property("Name") .HasColumnType("text"); b.Property("Priority") .HasColumnType("integer"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.Property("UpdatorId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.HasIndex("UpdatorId"); b.ToTable("Milestones", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Notification", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Destination") .HasColumnType("text"); b.Property("Error") .HasColumnType("text"); b.Property("Message") .HasColumnType("text"); b.Property("OrganisationId") .HasColumnType("bigint"); b.Property("Platform") .HasColumnType("integer"); b.Property("Recipient") .HasColumnType("uuid"); b.Property("RecipientUserId") .HasColumnType("uuid"); b.Property("SentAt") .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("integer"); b.Property("Subject") .HasColumnType("text"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("OrganisationId"); b.HasIndex("RecipientUserId"); b.HasIndex("TenantId"); b.ToTable("Notifications", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Organisation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Email") .HasColumnType("text"); b.Property("Name") .HasColumnType("text"); b.Property("RegistrationNo") .HasColumnType("text"); b.Property("Status") .HasColumnType("integer"); b.Property("Type") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.ToTable("Organisations", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Outcome", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("BeneficiaryId") .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Description") .HasColumnType("text"); b.Property("Name") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("BeneficiaryId"); b.HasIndex("CreatorId"); b.ToTable("Outcomes", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Portfolio", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Description") .HasColumnType("text"); b.Property("Name") .HasColumnType("text"); b.Property("OrganisationId") .HasColumnType("bigint"); b.Property("OwnedBy") .HasColumnType("uuid"); b.Property("OwnerId") .HasColumnType("uuid"); b.Property("TenantId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("OrganisationId"); b.HasIndex("OwnerId"); b.HasIndex("TenantId"); b.ToTable("Portfolios", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Programme", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Name") .HasColumnType("text"); b.Property("OwnedBy") .HasColumnType("uuid"); b.Property("OwnerId") .HasColumnType("uuid"); b.Property("PortfolioId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("OwnerId"); b.HasIndex("PortfolioId"); b.HasIndex("TenantId"); b.ToTable("Programmes", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Project", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Description") .HasColumnType("text"); b.Property("EndedAt") .HasColumnType("timestamp with time zone"); b.Property("Name") .HasColumnType("text"); b.Property("ProgrammeId") .HasColumnType("bigint"); b.Property("ProjectType") .HasColumnType("integer"); b.Property("Sector") .HasColumnType("integer"); b.Property("StartedAt") .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.Property("UpdatorId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("ProgrammeId"); b.HasIndex("TenantId"); b.HasIndex("UpdatorId"); b.ToTable("Projects", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Risk", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Description") .HasColumnType("text"); b.Property("Impact") .HasColumnType("integer"); b.Property("Likelihood") .HasColumnType("integer"); b.Property("Name") .HasColumnType("text"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("TenantId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.ToTable("Risks", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Rule", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Name") .HasColumnType("text"); b.Property("ProgrammeId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.Property("UpdatorId") .HasColumnType("uuid"); b.Property("Version") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("ProgrammeId"); b.HasIndex("TenantId"); b.HasIndex("UpdatorId"); b.ToTable("Rules", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.SiteVisit", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Findings") .HasColumnType("text"); b.Property("InspectorName") .HasColumnType("text"); b.Property("ProjectId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("VisitedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("ProjectId"); b.HasIndex("TenantId"); b.ToTable("SiteVisits", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Tenant", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Name") .HasColumnType("text"); b.Property("Status") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UpdatedBy") .HasColumnType("uuid"); b.Property("UpdatorId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("UpdatorId"); b.ToTable("Tenants", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.TenantOrganisation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("OrganisationId") .HasColumnType("bigint"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("OrganisationId"); b.HasIndex("TenantId"); b.ToTable("TenantOrganisations", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.TenantUser", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedBy") .HasColumnType("uuid"); b.Property("Status") .HasColumnType("integer"); b.Property("TenantId") .HasColumnType("bigint"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("CreatedBy"); b.HasIndex("TenantId"); b.HasIndex("UserId"); b.ToTable("TenantUsers", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Email") .HasColumnType("text"); b.Property("LastLoginAt") .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("integer"); b.HasKey("Id"); b.ToTable("Users", (string)null); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Activity", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Approver") .WithMany() .HasForeignKey("ApproverId"); b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Milestone", "Milestone") .WithMany() .HasForeignKey("MilestoneId"); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId"); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Updator") .WithMany() .HasForeignKey("UpdatorId"); b.Navigation("Approver"); b.Navigation("Creator"); b.Navigation("Milestone"); b.Navigation("Project"); b.Navigation("Tenant"); b.Navigation("Updator"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Award", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Approver") .WithMany() .HasForeignKey("ApproverId"); b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Organisation", "Organisation") .WithMany() .HasForeignKey("OrganisationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Programme", "Programme") .WithMany("Awards") .HasForeignKey("ProgrammeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany("Awards") .HasForeignKey("ProjectId"); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Updator") .WithMany() .HasForeignKey("UpdatorId"); b.Navigation("Approver"); b.Navigation("Creator"); b.Navigation("Organisation"); b.Navigation("Programme"); b.Navigation("Project"); b.Navigation("Tenant"); b.Navigation("Updator"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Beneficiary", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatedBy") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Creator"); b.Navigation("Project"); b.Navigation("Tenant"); b.Navigation("User"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Budget", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Approver") .WithMany() .HasForeignKey("ApproverId"); b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Approver"); b.Navigation("Creator"); b.Navigation("Project"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.ChangeRequest", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Approver") .WithMany() .HasForeignKey("ApproverId"); b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Approver"); b.Navigation("Creator"); b.Navigation("Project"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.ComplianceItem", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Verifier") .WithMany() .HasForeignKey("VerifierId"); b.Navigation("Creator"); b.Navigation("Project"); b.Navigation("Tenant"); b.Navigation("Verifier"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Contract", b => { b.HasOne("PostFundManagement.Domain.Entities.Award", "Award") .WithOne("Contract") .HasForeignKey("PostFundManagement.Domain.Entities.Contract", "AwardId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Award"); b.Navigation("Creator"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Disbursement", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Milestone", "Milestone") .WithMany() .HasForeignKey("MilestoneId"); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Updator") .WithMany() .HasForeignKey("UpdatorId"); b.Navigation("Creator"); b.Navigation("Milestone"); b.Navigation("Project"); b.Navigation("Tenant"); b.Navigation("Updator"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Evidence", b => { b.HasOne("PostFundManagement.Domain.Entities.Activity", "Activity") .WithMany("Evidences") .HasForeignKey("ActivityId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Indicator", "Indicator") .WithMany() .HasForeignKey("IndicatorId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Milestone", "Milestone") .WithMany() .HasForeignKey("MilestoneId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Updator") .WithMany() .HasForeignKey("UpdatorId"); b.Navigation("Activity"); b.Navigation("Creator"); b.Navigation("Indicator"); b.Navigation("Milestone"); b.Navigation("Project"); b.Navigation("Tenant"); b.Navigation("Updator"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Indicator", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Creator"); b.Navigation("Project"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Instrument", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Programme", "Programme") .WithMany("Instruments") .HasForeignKey("ProgrammeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Creator"); b.Navigation("Programme"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Invite", b => { b.HasOne("PostFundManagement.Domain.Entities.Award", "Award") .WithMany() .HasForeignKey("AwardId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Contract", "Contract") .WithMany() .HasForeignKey("ContractId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Organisation", "InvitedOrganisation") .WithMany() .HasForeignKey("InvitedOrganisationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Organisation", "Organisation") .WithMany() .HasForeignKey("OrganisationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "RecipientUser") .WithMany() .HasForeignKey("RecipientUserId"); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Award"); b.Navigation("Contract"); b.Navigation("InvitedOrganisation"); b.Navigation("Organisation"); b.Navigation("RecipientUser"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Issue", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Assignee") .WithMany() .HasForeignKey("AssigneeId"); b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Assignee"); b.Navigation("Creator"); b.Navigation("Project"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Milestone", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Updator") .WithMany() .HasForeignKey("UpdatorId"); b.Navigation("Creator"); b.Navigation("Project"); b.Navigation("Tenant"); b.Navigation("Updator"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Notification", b => { b.HasOne("PostFundManagement.Domain.Entities.Organisation", "Organisation") .WithMany() .HasForeignKey("OrganisationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "RecipientUser") .WithMany() .HasForeignKey("RecipientUserId"); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Organisation"); b.Navigation("RecipientUser"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Organisation", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.Navigation("Creator"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Outcome", b => { b.HasOne("PostFundManagement.Domain.Entities.Beneficiary", "Beneficiary") .WithMany() .HasForeignKey("BeneficiaryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.Navigation("Beneficiary"); b.Navigation("Creator"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Portfolio", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Organisation", "Organisation") .WithMany() .HasForeignKey("OrganisationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Owner") .WithMany() .HasForeignKey("OwnerId"); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Creator"); b.Navigation("Organisation"); b.Navigation("Owner"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Programme", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.User", "Owner") .WithMany() .HasForeignKey("OwnerId"); b.HasOne("PostFundManagement.Domain.Entities.Portfolio", "Portfolio") .WithMany("Programmes") .HasForeignKey("PortfolioId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Creator"); b.Navigation("Owner"); b.Navigation("Portfolio"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Project", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Programme", "Programme") .WithMany("Projects") .HasForeignKey("ProgrammeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Updator") .WithMany() .HasForeignKey("UpdatorId"); b.Navigation("Creator"); b.Navigation("Programme"); b.Navigation("Tenant"); b.Navigation("Updator"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Risk", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Creator"); b.Navigation("Project"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Rule", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Programme", "Programme") .WithMany("Rules") .HasForeignKey("ProgrammeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "Updator") .WithMany() .HasForeignKey("UpdatorId"); b.Navigation("Creator"); b.Navigation("Programme"); b.Navigation("Tenant"); b.Navigation("Updator"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.SiteVisit", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Creator"); b.Navigation("Project"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Tenant", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.User", "Updator") .WithMany() .HasForeignKey("UpdatorId"); b.Navigation("Creator"); b.Navigation("Updator"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.TenantOrganisation", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatorId"); b.HasOne("PostFundManagement.Domain.Entities.Organisation", "Organisation") .WithMany() .HasForeignKey("OrganisationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Creator"); b.Navigation("Organisation"); b.Navigation("Tenant"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.TenantUser", b => { b.HasOne("PostFundManagement.Domain.Entities.User", "Creator") .WithMany() .HasForeignKey("CreatedBy") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.Tenant", "Tenant") .WithMany() .HasForeignKey("TenantId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("PostFundManagement.Domain.Entities.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Creator"); b.Navigation("Tenant"); b.Navigation("User"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Activity", b => { b.Navigation("Evidences"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Award", b => { b.Navigation("Contract"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Portfolio", b => { b.Navigation("Programmes"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Programme", b => { b.Navigation("Awards"); b.Navigation("Instruments"); b.Navigation("Projects"); b.Navigation("Rules"); }); modelBuilder.Entity("PostFundManagement.Domain.Entities.Project", b => { b.Navigation("Awards"); }); #pragma warning restore 612, 618 } } }