Enforced relationships between activities and indicators, fixed actuals recording

This commit is contained in:
2026-10-22 13:47:54 +02:00
parent 4dd0899209
commit 9835121fd9
23 changed files with 3496 additions and 270 deletions
@@ -0,0 +1,75 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PostFundManagement.Infrastructure.Database.Migrations
{
/// <inheritdoc />
public partial class AddedActivityToIndicator : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<long>(
name: "ActivityId",
table: "Indicators",
type: "bigint",
nullable: true);
migrationBuilder.AddColumn<decimal>(
name: "ActualCost",
table: "Indicators",
type: "numeric(18,2)",
precision: 18,
scale: 2,
nullable: false,
defaultValueSql: "0");
migrationBuilder.AddColumn<decimal>(
name: "TargetCost",
table: "Indicators",
type: "numeric(18,2)",
precision: 18,
scale: 2,
nullable: false,
defaultValueSql: "0");
migrationBuilder.CreateIndex(
name: "IX_Indicators_ActivityId",
table: "Indicators",
column: "ActivityId");
migrationBuilder.AddForeignKey(
name: "FK_Indicators_Activities_ActivityId",
table: "Indicators",
column: "ActivityId",
principalTable: "Activities",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Indicators_Activities_ActivityId",
table: "Indicators");
migrationBuilder.DropIndex(
name: "IX_Indicators_ActivityId",
table: "Indicators");
migrationBuilder.DropColumn(
name: "ActivityId",
table: "Indicators");
migrationBuilder.DropColumn(
name: "ActualCost",
table: "Indicators");
migrationBuilder.DropColumn(
name: "TargetCost",
table: "Indicators");
}
}
}
@@ -634,10 +634,19 @@ namespace PostFundManagement.Infrastructure.Database.Migrations
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<long?>("ActivityId")
.HasColumnType("bigint");
b.Property<decimal>("ActualAmount")
.HasPrecision(18, 2)
.HasColumnType("numeric(18,2)");
b.Property<decimal>("ActualCost")
.ValueGeneratedOnAdd()
.HasPrecision(18, 2)
.HasColumnType("numeric(18,2)")
.HasDefaultValueSql("0");
b.Property<decimal>("BaselineAmount")
.HasPrecision(18, 2)
.HasColumnType("numeric(18,2)");
@@ -662,6 +671,12 @@ namespace PostFundManagement.Infrastructure.Database.Migrations
.HasPrecision(18, 2)
.HasColumnType("numeric(18,2)");
b.Property<decimal>("TargetCost")
.ValueGeneratedOnAdd()
.HasPrecision(18, 2)
.HasColumnType("numeric(18,2)")
.HasDefaultValueSql("0");
b.Property<long>("TenantId")
.HasColumnType("bigint");
@@ -672,6 +687,8 @@ namespace PostFundManagement.Infrastructure.Database.Migrations
b.HasKey("Id");
b.HasIndex("ActivityId");
b.HasIndex("CreatedBy");
b.HasIndex("ProjectId");
@@ -1929,6 +1946,11 @@ namespace PostFundManagement.Infrastructure.Database.Migrations
modelBuilder.Entity("PostFundManagement.Domain.Entities.Indicator", b =>
{
b.HasOne("PostFundManagement.Domain.Entities.Activity", "Activity")
.WithMany("Indicators")
.HasForeignKey("ActivityId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("PostFundManagement.Domain.Entities.User", "Creator")
.WithMany()
.HasForeignKey("CreatedBy")
@@ -1947,6 +1969,8 @@ namespace PostFundManagement.Infrastructure.Database.Migrations
.OnDelete(DeleteBehavior.NoAction)
.IsRequired();
b.Navigation("Activity");
b.Navigation("Creator");
b.Navigation("Project");
@@ -2440,6 +2464,8 @@ namespace PostFundManagement.Infrastructure.Database.Migrations
modelBuilder.Entity("PostFundManagement.Domain.Entities.Activity", b =>
{
b.Navigation("Evidences");
b.Navigation("Indicators");
});
modelBuilder.Entity("PostFundManagement.Domain.Entities.Award", b =>