diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/OfstedInspectionTask.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/OfstedInspectionTask.cs
index 984208ac6..2eb7c9866 100644
--- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/OfstedInspectionTask.cs
+++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/OfstedInspectionTask.cs
@@ -14,7 +14,9 @@ public class OfstedInspectionTask
public bool? SharedOutcomeWithTrust { get; set; }
- public YesNoNotApplicable? InspectionConditionsMet { get; set; }
+ public string InspectionConditionsMet { get; set; }
+
+ public string InspectionConditionsMetNotApplicable { get; set; }
public bool? ProposedToOpenOnGias { get; set; }
diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/OfstedInspectionApiTests.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/OfstedInspectionApiTests.cs
index d995d1176..b20571129 100644
--- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/OfstedInspectionApiTests.cs
+++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/OfstedInspectionApiTests.cs
@@ -29,7 +29,8 @@ public async Task Patch_NewOfstedInspection_Returns_201()
OfstedAndTrustLiaisonDetailsConfirmed = true,
BlockAndContentDetailsToOpenersSpreadSheet = true,
SharedOutcomeWithTrust = true,
- InspectionConditionsMet = YesNoNotApplicable.Yes,
+ InspectionConditionsMetNotApplicable = "Not applicable",
+ InspectionConditionsMet = null,
ProposedToOpenOnGias = true,
SavedToWorkplaces = true,
DateInspectionsAndAnyActionsCompleted = new DateTime().Date.AddDays(10)
@@ -48,8 +49,8 @@ public async Task Patch_NewOfstedInspection_Returns_201()
.Be(request.OfstedInspection.BlockAndContentDetailsToOpenersSpreadSheet);
projectResponse.OfstedInspection.SharedOutcomeWithTrust.Should()
.Be(request.OfstedInspection.SharedOutcomeWithTrust);
- projectResponse.OfstedInspection.InspectionConditionsMet.Should()
- .Be(request.OfstedInspection.InspectionConditionsMet);
+ projectResponse.OfstedInspection.InspectionConditionsMetNotApplicable.Should()
+ .Be(request.OfstedInspection.InspectionConditionsMetNotApplicable);
projectResponse.OfstedInspection.ProposedToOpenOnGias.Should()
.Be(request.OfstedInspection.ProposedToOpenOnGias);
projectResponse.OfstedInspection.SavedToWorkplaces.Should()
@@ -80,7 +81,8 @@ public async Task Patch_ExistingOfstedInspection_Returns_201()
OfstedAndTrustLiaisonDetailsConfirmed = false,
BlockAndContentDetailsToOpenersSpreadSheet = false,
SharedOutcomeWithTrust = false,
- InspectionConditionsMet = YesNoNotApplicable.NotApplicable,
+ InspectionConditionsMetNotApplicable = null,
+ InspectionConditionsMet = "No",
ProposedToOpenOnGias = false,
SavedToWorkplaces = false,
DateInspectionsAndAnyActionsCompleted = null
@@ -101,8 +103,8 @@ public async Task Patch_ExistingOfstedInspection_Returns_201()
.Be(request.OfstedInspection.BlockAndContentDetailsToOpenersSpreadSheet);
projectResponse.OfstedInspection.SharedOutcomeWithTrust.Should()
.Be(request.OfstedInspection.SharedOutcomeWithTrust);
- projectResponse.OfstedInspection.InspectionConditionsMet.Should()
- .Be(request.OfstedInspection.InspectionConditionsMet);
+ projectResponse.OfstedInspection.InspectionConditionsMetNotApplicable.Should()
+ .Be(request.OfstedInspection.InspectionConditionsMetNotApplicable);
projectResponse.OfstedInspection.ProposedToOpenOnGias.Should()
.Be(request.OfstedInspection.ProposedToOpenOnGias);
projectResponse.OfstedInspection.SavedToWorkplaces.Should()
diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/OfstedInspection/OfstedInspectionTaskBuilder.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/OfstedInspection/OfstedInspectionTaskBuilder.cs
index 2ac5a0ea7..956b2c775 100644
--- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/OfstedInspection/OfstedInspectionTaskBuilder.cs
+++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/OfstedInspection/OfstedInspectionTaskBuilder.cs
@@ -9,34 +9,23 @@ public static class OfstedInspectionTaskBuilder
public static OfstedInspectionTask Build(Milestones milestones)
{
if (milestones == null)
- {
return new OfstedInspectionTask();
- }
return new OfstedInspectionTask
{
ProcessDetailsProvided = milestones.FsgPreOpeningMilestonesProcessDetailsProvided,
InspectionBlockDecided = milestones.FsgPreOpeningMilestonesInspectionBlockDecided,
- OfstedAndTrustLiaisonDetailsConfirmed = milestones.FsgPreOpeningMilestonesOfstedAndTrustLiaisonDetailsConfirmed,
- BlockAndContentDetailsToOpenersSpreadSheet = milestones.FsgPreOpeningMilestonesBlockAndContentDetailsToOpenersSpreadSheet,
+ OfstedAndTrustLiaisonDetailsConfirmed =
+ milestones.FsgPreOpeningMilestonesOfstedAndTrustLiaisonDetailsConfirmed,
+ BlockAndContentDetailsToOpenersSpreadSheet =
+ milestones.FsgPreOpeningMilestonesBlockAndContentDetailsToOpenersSpreadSheet,
SharedOutcomeWithTrust = milestones.FsgPreOpeningMilestonesSharedOutcomeWithTrust,
ProposedToOpenOnGias = milestones.FsgPreOpeningMilestonesProposedToOpenOnGias,
SavedToWorkplaces = milestones.FsgPreOpeningMilestonesDocumentsAndG6SavedToWorkplaces,
- InspectionConditionsMet = InspectionConditionsMet(milestones.FsgPreOpeningMilestonesInspectionConditionsMet),
+ InspectionConditionsMetNotApplicable = milestones.FsgPreOpeningInspectionConditionsMetNotApplicable,
+ InspectionConditionsMet = milestones.FsgPreOpeningMilestonesInspectionConditionsMet,
DateInspectionsAndAnyActionsCompleted = milestones.FsgPreOpeningMilestonesOprActualDateOfCompletion
};
-
- }
-
- private static YesNoNotApplicable? InspectionConditionsMet(string condition)
- {
- return condition switch
- {
- "Yes" => YesNoNotApplicable.Yes,
- "No" => YesNoNotApplicable.No,
- "Not applicable" => YesNoNotApplicable.NotApplicable,
- _ => null
- };
}
}
-}
+}
\ No newline at end of file
diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/OfstedInspection/UpdateOfstedInspectionTaskService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/OfstedInspection/UpdateOfstedInspectionTaskService.cs
index 8ac1628b7..61218a504 100644
--- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/OfstedInspection/UpdateOfstedInspectionTaskService.cs
+++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/OfstedInspection/UpdateOfstedInspectionTaskService.cs
@@ -28,10 +28,11 @@ public async Task Update(UpdateTaskServiceParameters parameters)
db.FsgPreOpeningMilestonesOfstedAndTrustLiaisonDetailsConfirmed = task.OfstedAndTrustLiaisonDetailsConfirmed;
db.FsgPreOpeningMilestonesBlockAndContentDetailsToOpenersSpreadSheet = task.BlockAndContentDetailsToOpenersSpreadSheet;
db.FsgPreOpeningMilestonesSharedOutcomeWithTrust = task.SharedOutcomeWithTrust;
- db.FsgPreOpeningMilestonesInspectionConditionsMet = task.InspectionConditionsMet.ToDescription();
db.FsgPreOpeningMilestonesProposedToOpenOnGias = task.ProposedToOpenOnGias;
db.FsgPreOpeningMilestonesDocumentsAndG6SavedToWorkplaces = task.SavedToWorkplaces;
db.FsgPreOpeningMilestonesOprActualDateOfCompletion = task.DateInspectionsAndAnyActionsCompleted;
+ db.FsgPreOpeningInspectionConditionsMetNotApplicable = task.InspectionConditionsMetNotApplicable;
+ db.FsgPreOpeningMilestonesInspectionConditionsMet = task.InspectionConditionsMet;
}
}
}
\ No newline at end of file
diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Entities/Milestones.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Entities/Milestones.cs
index d2cd293e0..a5cd13d04 100644
--- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Entities/Milestones.cs
+++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Entities/Milestones.cs
@@ -185,5 +185,7 @@ public partial class Milestones
public bool? PFACMSentAnEmailToTheTrust { get; set; }
public string PFACMWhyAMeetingWasNotHeld { get; set; }
+
+ public string FsgPreOpeningInspectionConditionsMetNotApplicable { get; set; }
}
}
\ No newline at end of file
diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20241007123217_Add_InspectionConditionsMetNotApplicable_Milestones.Designer.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20241007123217_Add_InspectionConditionsMetNotApplicable_Milestones.Designer.cs
new file mode 100644
index 000000000..a80af67b8
--- /dev/null
+++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20241007123217_Add_InspectionConditionsMetNotApplicable_Milestones.Designer.cs
@@ -0,0 +1,12849 @@
+//
+using System;
+using Dfe.ManageFreeSchoolProjects.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace Dfe.ManageFreeSchoolProjects.Data.Migrations
+{
+ [DbContext(typeof(MfspContext))]
+ [Migration("20241007123217_Add_InspectionConditionsMetNotApplicable_Milestones")]
+ partial class Add_InspectionConditionsMetNotApplicable_Milestones
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.6")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.BasicNeed", b =>
+ {
+ b.Property("FreeSchoolName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Free school name");
+
+ b.Property("Phase")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)");
+
+ b.Property("PostcodeUsedHere")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Postcode used here");
+
+ b.Property("PrimaryPlanningAreaCode")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Primary planning area code");
+
+ b.Property("PrimaryPlanningAreaName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Primary planning area name");
+
+ b.Property("ProjectId")
+ .HasMaxLength(25)
+ .IsUnicode(false)
+ .HasColumnType("varchar(25)")
+ .HasColumnName("Project ID");
+
+ b.Property("SecondaryPlanningAreaCode")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Secondary planning area code");
+
+ b.Property("SecondaryPlanningAreaName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Secondary planning area name");
+
+ b.Property("_201920PrimaryPhaseLocalAreaSSNoPlaces")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("2019/20 Primary Phase Local Area S/S No. places");
+
+ b.Property("_201920PrimaryPhaseLocalAreaSSPlaces")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("2019/20 Primary Phase Local Area S/S % places");
+
+ b.Property("_201920PrimaryPhasePlanningAreaSSNoPlaces")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("2019/20 Primary Phase Planning Area S/S No. places");
+
+ b.Property("_201920PrimaryPhasePlanningAreaSSPlaces")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("2019/20 Primary Phase Planning Area S/S % places");
+
+ b.Property("_201920SecondaryPhaseLocalAreaSSNoPlaces")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("2019/20 Secondary Phase Local Area S/S No. places");
+
+ b.Property("_201920SecondaryPhaseLocalAreaSSPlaces")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("2019/20 Secondary Phase Local Area S/S % places");
+
+ b.Property("_201920SecondaryPhasePlanningAreaSSNoPlaces")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("2019/20 Secondary Phase Planning Area S/S No. places");
+
+ b.Property("_201920SecondaryPhasePlanningAreaSSPlaces")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("2019/20 Secondary Phase Planning Area S/S % places");
+
+ b.ToTable("Basic_Need", "dbo");
+ });
+
+ modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Br", b =>
+ {
+ b.Property("Rid")
+ .HasMaxLength(11)
+ .IsUnicode(false)
+ .HasColumnType("varchar(11)")
+ .HasColumnName("RID");
+
+ b.Property("BudgetRecordsAcquisitionCostVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Acquisition cost VAT");
+
+ b.Property("BudgetRecordsAcquisitionManualOverride")
+ .HasColumnType("bit")
+ .HasColumnName("Budget Records.Acquisition manual override");
+
+ b.Property("BudgetRecordsAqusitionRevenue")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Aqusition Revenue");
+
+ b.Property("BudgetRecordsBroadband")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Broadband");
+
+ b.Property("BudgetRecordsBudgetApprovalProcess")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Budget approval process");
+
+ b.Property("BudgetRecordsBudgetId")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Budget ID");
+
+ b.Property("BudgetRecordsBudgetStage")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Budget stage");
+
+ b.Property("BudgetRecordsBudgetStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Budget status");
+
+ b.Property("BudgetRecordsCcfPropertyBudgetUplift")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.CCF property budget uplift");
+
+ b.Property("BudgetRecordsConstructionAmountIncludingSurveys")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Construction amount , including surveys");
+
+ b.Property("BudgetRecordsConstructionAmountIncludingSurveysVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Construction amount , including surveys VAT");
+
+ b.Property("BudgetRecordsConstructionManualOverride")
+ .HasColumnType("bit")
+ .HasColumnName("Budget Records.Construction manual override");
+
+ b.Property("BudgetRecordsConstructionRevenue")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Construction revenue");
+
+ b.Property("BudgetRecordsCostOfReInstatementOfTemporaryAccommodation")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Cost of re-instatement of temporary accommodation");
+
+ b.Property("BudgetRecordsCostPerPupil")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Cost Per Pupil");
+
+ b.Property("BudgetRecordsEfaCapitalRegionalDdApprovalStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.EFA Capital Regional DD (approval status)");
+
+ b.Property("BudgetRecordsEfaCapitalRegionalDdApproverName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.EFA Capital Regional DD (approver name)");
+
+ b.Property("BudgetRecordsEfaCapitalRegionalDdDecisionDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget Records.EFA Capital Regional DD (decision date)");
+
+ b.Property("BudgetRecordsFfEManualOverride")
+ .HasColumnType("bit")
+ .HasColumnName("Budget Records.FF&E manual override");
+
+ b.Property("BudgetRecordsFinalCarCcfFormLink")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Budget Records.Final CAR / CCF Form link");
+
+ b.Property("BudgetRecordsFinalPropertyModelLink")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Budget Records.Final property model link");
+
+ b.Property("BudgetRecordsFinalTechnicalFundingAllocationModelLink")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Budget Records.Final technical funding allocation model link");
+
+ b.Property("BudgetRecordsFixturesFurnitureAndEquipment")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Fixtures, Furniture, and Equipment");
+
+ b.Property("BudgetRecordsFixturesFurnitureAndEquipmentVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Fixtures, Furniture, and Equipment VAT");
+
+ b.Property("BudgetRecordsFpmuApprovalStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.FPMU (approval status)");
+
+ b.Property("BudgetRecordsFpmuApproverName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.FPMU (approver name)");
+
+ b.Property("BudgetRecordsFpmuDecisionDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget Records.FPMU (decision date)");
+
+ b.Property("BudgetRecordsFscDivisionalDirectorApprovalStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.FSC Divisional Director (approval status)");
+
+ b.Property("BudgetRecordsFscDivisionalDirectorApproverName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.FSC Divisional Director (approver name)");
+
+ b.Property("BudgetRecordsFscDivisionalDirectorDecisionDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget Records.FSC Divisional Director (decision date)");
+
+ b.Property("BudgetRecordsFscHeadOfFinanceApprovalStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.FSC Head of Finance (approval status)");
+
+ b.Property("BudgetRecordsFscHeadOfFinanceApproverName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.FSC Head of Finance (approver name)");
+
+ b.Property("BudgetRecordsFscHeadOfFinanceDecisionDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget Records.FSC Head of Finance (decision date)");
+
+ b.Property("BudgetRecordsIctActives")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.ICT actives");
+
+ b.Property("BudgetRecordsIctBudgetManualOverride")
+ .HasColumnType("bit")
+ .HasColumnName("Budget Records.ICT budget manual override");
+
+ b.Property("BudgetRecordsIctDecantCost")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.ICT decant cost");
+
+ b.Property("BudgetRecordsIctEquipmentHardware")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.ICT equipment/hardware");
+
+ b.Property("BudgetRecordsIctPassives")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.ICT passives");
+
+ b.Property("BudgetRecordsIndependentFinanceReviewerApprovalStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Independent Finance Reviewer (approval status)");
+
+ b.Property("BudgetRecordsIndependentFinanceReviewerApproverName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Independent Finance Reviewer (approver name)");
+
+ b.Property("BudgetRecordsIndependentFinanceReviewerDecisionDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget Records.Independent Finance Reviewer (decision date)");
+
+ b.Property("BudgetRecordsIndependentPropertyReviewerApprovalStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Independent Property Reviewer (approval status)");
+
+ b.Property("BudgetRecordsIndependentPropertyReviewerApproverName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Independent Property Reviewer (approver name)");
+
+ b.Property("BudgetRecordsIndependentPropertyReviewerDecisionDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget Records.Independent Property Reviewer (decision date)");
+
+ b.Property("BudgetRecordsIndependentTechnicalCostQsApprovalStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Independent Technical & Cost QS (approval status)");
+
+ b.Property("BudgetRecordsIndependentTechnicalCostQsApproverName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Independent Technical & Cost QS (approver name)");
+
+ b.Property("BudgetRecordsIndependentTechnicalCostQsDecisionDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget Records.Independent Technical & Cost QS (decision date)");
+
+ b.Property("BudgetRecordsInflationBaseDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget Records.Inflation base date");
+
+ b.Property("BudgetRecordsLegalFeesConstructionAdviceIncVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Legal fees - construction advice (Inc VAT)");
+
+ b.Property("BudgetRecordsLiveBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Live budget");
+
+ b.Property("BudgetRecordsLocatedInvestmentCommitteeApprovalStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Located Investment Committee (approval status)");
+
+ b.Property("BudgetRecordsLocatedInvestmentCommitteeApproverName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Located Investment Committee (approver name)");
+
+ b.Property("BudgetRecordsLocatedInvestmentCommitteeDecisionDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget Records.Located Investment Committee (decision date)");
+
+ b.Property("BudgetRecordsMinisterApprovalStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Minister (approval status)");
+
+ b.Property("BudgetRecordsMinisterApproverName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Minister (approver name)");
+
+ b.Property("BudgetRecordsMinisterDecisionDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget Records.Minister (decision date)");
+
+ b.Property("BudgetRecordsNumberOfPupils")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Number of pupils");
+
+ b.Property("BudgetRecordsProjectCode")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Project code");
+
+ b.Property("BudgetRecordsProjectName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Project name");
+
+ b.Property("BudgetRecordsPropertyManagementCosts")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Property management costs");
+
+ b.Property("BudgetRecordsRevenueManualOverride")
+ .HasColumnType("bit")
+ .HasColumnName("Budget Records.Revenue manual override");
+
+ b.Property("BudgetRecordsTechnicalFeesIncVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Technical fees (inc VAT)");
+
+ b.Property("BudgetRecordsTechnicalFeesSurveysIncVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Technical fees - surveys (inc VAT)");
+
+ b.Property("BudgetRecordsTemporaryConstructionIncludingSurveys")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Temporary construction, including surveys");
+
+ b.Property("BudgetRecordsTemporaryConstructionIncludingSurveysVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Temporary construction, including surveys - VAT");
+
+ b.Property("BudgetRecordsTemporarySiteIctPassives")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Temporary site ICT passives");
+
+ b.Property("BudgetRecordsTemporarySiteManualOverride")
+ .HasColumnType("bit")
+ .HasColumnName("Budget Records.Temporary site manual override");
+
+ b.Property("BudgetRecordsTemporarySitesLegalFeesConstructionAdviceIncVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Temporary sites - legal fees construction advice (inc VAT)");
+
+ b.Property("BudgetRecordsTemporarySitesTechnicalFeesIncVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Temporary sites - technical fees (inc VAT)");
+
+ b.Property("BudgetRecordsTemporarySitesTechnicalFeesSurveysIncVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Temporary sites - technical fees surveys (inc VAT)");
+
+ b.Property("BudgetRecordsThirdPartyContributions")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Third party contributions");
+
+ b.Property("BudgetRecordsTotalAcquisitionCostExcVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Total acquisition cost ( exc VAT )");
+
+ b.Property("BudgetRecordsTotalAcquisitionLegalFees")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Total acquisition legal fees");
+
+ b.Property("BudgetRecordsTotalCapitalBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Total capital budget");
+
+ b.Property("BudgetRecordsTotalConstructionBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Total construction budget");
+
+ b.Property("BudgetRecordsTotalFfEBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Total FF&E budget");
+
+ b.Property("BudgetRecordsTotalIctBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Total ICT budget");
+
+ b.Property("BudgetRecordsTotalManualOverride")
+ .HasColumnType("bit")
+ .HasColumnName("Budget Records.Total manual override");
+
+ b.Property("BudgetRecordsTotalPropertyBudgetInclVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Total property budget ( incl VAT)");
+
+ b.Property("BudgetRecordsTotalPropertyFees")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Total property fees");
+
+ b.Property("BudgetRecordsTotalRevenue")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Total revenue");
+
+ b.Property("BudgetRecordsTotalTemporarySitesBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.Total temporary sites budget");
+
+ b.Property("BudgetRecordsVatOnFees")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.VAT on fees");
+
+ b.Property("BudgetRecordsWipNotes")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget Records.WIP notes");
+
+ b.Property("PRid")
+ .HasMaxLength(11)
+ .IsUnicode(false)
+ .HasColumnType("varchar(11)")
+ .HasColumnName("p_rid");
+
+ b.Property("PeriodEnd")
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("datetime2")
+ .HasColumnName("PeriodEnd");
+
+ b.Property("PeriodStart")
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("datetime2")
+ .HasColumnName("PeriodStart");
+
+ b.HasKey("Rid");
+
+ b.ToTable("BR", "dbo");
+
+ b.ToTable(tb => tb.IsTemporal(ttb =>
+ {
+ ttb.UseHistoryTable("BRHistory", "dbo");
+ ttb
+ .HasPeriodStart("PeriodStart")
+ .HasColumnName("PeriodStart");
+ ttb
+ .HasPeriodEnd("PeriodEnd")
+ .HasColumnName("PeriodEnd");
+ }));
+ });
+
+ modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Bs", b =>
+ {
+ b.Property("Rid")
+ .HasMaxLength(11)
+ .IsUnicode(false)
+ .HasColumnType("varchar(11)")
+ .HasColumnName("RID");
+
+ b.Property("BudgetSummaryAcquisitionBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Acquisition budget");
+
+ b.Property("BudgetSummaryBudgetApprovalDate")
+ .HasColumnType("date")
+ .HasColumnName("Budget summary.Budget approval date");
+
+ b.Property("BudgetSummaryBudgetApprovalProcess")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Budget approval process");
+
+ b.Property("BudgetSummaryBudgetStageSummary")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Budget stage summary");
+
+ b.Property("BudgetSummaryCapitalCostTier")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Capital cost tier");
+
+ b.Property("BudgetSummaryConstructionBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Construction budget");
+
+ b.Property("BudgetSummaryCostPlan1Approved")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Cost Plan 1 approved");
+
+ b.Property("BudgetSummaryCostPlan2Approved")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Cost Plan 2 approved");
+
+ b.Property("BudgetSummaryCostsAtPracticalCompletionApproved")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Costs at practical completion approved");
+
+ b.Property("BudgetSummaryFfEBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.FF&E budget");
+
+ b.Property("BudgetSummaryFinalAccountsAgreed")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Final accounts agreed");
+
+ b.Property("BudgetSummaryIctBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.ICT budget");
+
+ b.Property("BudgetSummaryIsTheLaMakingAFinancialContributionTowardsThisProject")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Is the LA making a financial contribution towards this project?");
+
+ b.Property("BudgetSummaryLaContributionType")
+ .HasMaxLength(1000)
+ .IsUnicode(false)
+ .HasColumnType("varchar(1000)")
+ .HasColumnName("Budget summary.LA Contribution type");
+
+ b.Property("BudgetSummaryOtherContributionType")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Other contribution type");
+
+ b.Property("BudgetSummaryPreCarFundingApproved")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Pre CAR funding approved");
+
+ b.Property("BudgetSummaryPreCarFundingRequired")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Pre CAR funding required");
+
+ b.Property("BudgetSummaryStoreBudgetRecordName")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Store budget record name");
+
+ b.Property("BudgetSummaryTemporarySiteBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Temporary Site budget");
+
+ b.Property("BudgetSummaryTotalCapitalBudget")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Total capital budget");
+
+ b.Property("BudgetSummaryTotalRevenue")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Budget summary.Total Revenue");
+
+ b.Property("PRid")
+ .HasMaxLength(11)
+ .IsUnicode(false)
+ .HasColumnType("varchar(11)")
+ .HasColumnName("p_rid");
+
+ b.Property("PeriodEnd")
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("datetime2")
+ .HasColumnName("PeriodEnd");
+
+ b.Property("PeriodStart")
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("datetime2")
+ .HasColumnName("PeriodStart");
+
+ b.Property("UpdatedByUserId")
+ .HasColumnType("int");
+
+ b.HasKey("Rid");
+
+ b.HasIndex("UpdatedByUserId");
+
+ b.ToTable("BS", "dbo");
+
+ b.ToTable(tb => tb.IsTemporal(ttb =>
+ {
+ ttb.UseHistoryTable("BSHistory", "dbo");
+ ttb
+ .HasPeriodStart("PeriodStart")
+ .HasColumnName("PeriodStart");
+ ttb
+ .HasPeriodEnd("PeriodEnd")
+ .HasColumnName("PeriodEnd");
+ }));
+ });
+
+ modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.ConstructData", b =>
+ {
+ b.Property("CapitalProjectRag")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Capital Project RAG");
+
+ b.Property("CapitalProjectRagRatingCommentary")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Capital Project RAG Rating Commentary");
+
+ b.Property("DateOfHoTSecuredOnTemporaryAccommodationSiteIfRequired")
+ .IsUnicode(false)
+ .HasColumnType("date")
+ .HasColumnName("Date of HoT secured on temporary accommodation site, if required");
+
+ b.Property("HoTAgreedForSiteForMainSchoolBuildingActual")
+ .IsUnicode(false)
+ .HasColumnType("date")
+ .HasColumnName("HoT Agreed for site for Main School Building (Actual)");
+
+ b.Property("IsThisTheMainPlanningRecord")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Is this the main planning record?");
+
+ b.Property("LastRefreshDate")
+ .HasColumnType("date");
+
+ b.Property("MainSchoolBuildingFirstReadyForOccupationActual")
+ .IsUnicode(false)
+ .HasColumnType("date")
+ .HasColumnName("Main School Building first ready for occupation (Actual)");
+
+ b.Property("MainSchoolBuildingFirstReadyForOccupationForecast")
+ .IsUnicode(false)
+ .HasColumnType("date")
+ .HasColumnName("Main School Building first ready for occupation (Forecast)");
+
+ b.Property("PlanningDecision")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Planning decision");
+
+ b.Property("PlanningRisk")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Planning risk");
+
+ b.Property("PlanningSiteId")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Planning Site ID");
+
+ b.Property("PostcodeOfSite")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Postcode of site");
+
+ b.Property("PracticalCompletionCertificateIssuedDateA")
+ .IsUnicode(false)
+ .HasColumnType("date")
+ .HasColumnName("Practical Completion Certificate issued date (A)");
+
+ b.Property("ProjectDirector")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Project Director");
+
+ b.Property("ProjectId")
+ .IsRequired()
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Project ID");
+
+ b.Property("ProjectManager")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Project Manager");
+
+ b.Property("RegionalHead")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Regional Head");
+
+ b.Property("SiteId")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Site ID");
+
+ b.Property("SiteIdentifiedForMainSchoolBuildingActual")
+ .IsUnicode(false)
+ .HasColumnType("date")
+ .HasColumnName("Site identified for main school building (Actual)");
+
+ b.Property("SiteStatus")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Site status");
+
+ b.Property("TemporaryAccommodationFirstReadyForOccupationActual")
+ .IsUnicode(false)
+ .HasColumnType("date")
+ .HasColumnName("Temporary accommodation first ready for occupation (Actual)");
+
+ b.Property("TemporaryAccommodationFirstReadyForOccupationForecast")
+ .IsUnicode(false)
+ .HasColumnType("date")
+ .HasColumnName("Temporary accommodation first ready for occupation (Forecast)");
+
+ b.Property("TemporaryRagRating")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Temporary RAG rating");
+
+ b.Property("TemporaryRagRatingCommentary")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Temporary RAG Rating Commentary");
+
+ b.Property("TypeOfSite")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Type of Site");
+
+ b.Property("UpdatedByUserId")
+ .HasColumnType("int");
+
+ b.HasIndex("UpdatedByUserId");
+
+ b.ToTable("constructData", "dbo");
+ });
+
+ modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Construction", b =>
+ {
+ b.Property("Rid")
+ .HasMaxLength(11)
+ .IsUnicode(false)
+ .HasColumnType("varchar(11)")
+ .HasColumnName("RID");
+
+ b.Property("IctDetailsBroadbandOrdered")
+ .HasColumnType("date")
+ .HasColumnName("ICT Details.Broadband ordered");
+
+ b.Property("IctDetailsIctProcurementRouteAgreedWithTrust")
+ .HasColumnType("date")
+ .HasColumnName("ICT Details.ICT procurement route agreed with Trust");
+
+ b.Property("PRid")
+ .HasMaxLength(11)
+ .IsUnicode(false)
+ .HasColumnType("varchar(11)")
+ .HasColumnName("p_rid");
+
+ b.Property("PeriodEnd")
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("datetime2")
+ .HasColumnName("PeriodEnd");
+
+ b.Property("PeriodStart")
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("datetime2")
+ .HasColumnName("PeriodStart");
+
+ b.Property("SiteDetailsAreaOfExistingBuildingsM2PermanentArea")
+ .HasMaxLength(8)
+ .IsUnicode(false)
+ .HasColumnType("varchar(8)")
+ .HasColumnName("Site Details.Area of existing buildings m2 : Permanent Area");
+
+ b.Property("SiteDetailsAreaOfExistingBuildingsM2TemporaryArea")
+ .HasMaxLength(8)
+ .IsUnicode(false)
+ .HasColumnType("varchar(8)")
+ .HasColumnName("Site Details.Area of existing buildings m2 : Temporary Area");
+
+ b.Property("SiteDetailsAreaOfHardStandingM2")
+ .HasMaxLength(6)
+ .IsUnicode(false)
+ .HasColumnType("varchar(6)")
+ .HasColumnName("Site Details.Area of hard standing m2");
+
+ b.Property("SiteDetailsAreaOfMajorRefurbishmentM2")
+ .HasMaxLength(6)
+ .IsUnicode(false)
+ .HasColumnType("varchar(6)")
+ .HasColumnName("Site Details.Area of major refurbishment m2");
+
+ b.Property("SiteDetailsAreaOfMinorRefurbishmentM2")
+ .HasMaxLength(6)
+ .IsUnicode(false)
+ .HasColumnType("varchar(6)")
+ .HasColumnName("Site Details.Area of minor refurbishment m2");
+
+ b.Property("SiteDetailsAreaOfMugaPlayingFieldsM2")
+ .HasMaxLength(6)
+ .IsUnicode(false)
+ .HasColumnType("varchar(6)")
+ .HasColumnName("Site Details.Area of MUGA / playing fields m2");
+
+ b.Property("SiteDetailsAreaOfNewBuildM2")
+ .HasMaxLength(6)
+ .IsUnicode(false)
+ .HasColumnType("varchar(6)")
+ .HasColumnName("Site Details.Area of new build m2");
+
+ b.Property("SiteDetailsAreaOfRefreshM2")
+ .HasMaxLength(6)
+ .IsUnicode(false)
+ .HasColumnType("varchar(6)")
+ .HasColumnName("Site Details.Area of refresh m2");
+
+ b.Property("SiteDetailsAreaOfRefurbishmentM2")
+ .HasMaxLength(6)
+ .IsUnicode(false)
+ .HasColumnType("varchar(6)")
+ .HasColumnName("Site Details.Area of refurbishment m2");
+
+ b.Property("SiteDetailsAreaOfTemporaryAccommodationRequiredM2")
+ .HasMaxLength(6)
+ .IsUnicode(false)
+ .HasColumnType("varchar(6)")
+ .HasColumnName("Site Details.Area of temporary accommodation required m2");
+
+ b.Property("SiteDetailsLocation")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Site Details.Location");
+
+ b.Property("SiteDetailsMaximumGrossAreaRequiredM2")
+ .HasMaxLength(6)
+ .IsUnicode(false)
+ .HasColumnType("varchar(6)")
+ .HasColumnName("Site Details.Maximum gross area required m2");
+
+ b.Property("SiteDetailsMinimumGrossAreaRequiredM2")
+ .HasMaxLength(6)
+ .IsUnicode(false)
+ .HasColumnType("varchar(6)")
+ .HasColumnName("Site Details.Minimum gross area required m2");
+
+ b.Property("SiteDetailsSprinklerInstallationType")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Site Details.Sprinkler Installation Type");
+
+ b.Property("SiteDetailsSprinklerType")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Site Details.Sprinkler Type");
+
+ b.Property("SiteDetailsSprinklers")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Site Details.Sprinklers");
+
+ b.Property("SiteDetailsTypeOfWorks")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Site Details.Type of works");
+
+ b.HasKey("Rid");
+
+ b.ToTable("Construction", "dbo");
+
+ b.ToTable(tb => tb.IsTemporal(ttb =>
+ {
+ ttb.UseHistoryTable("ConstructionHistory", "dbo");
+ ttb
+ .HasPeriodStart("PeriodStart")
+ .HasColumnName("PeriodStart");
+ ttb
+ .HasPeriodEnd("PeriodEnd")
+ .HasColumnName("PeriodEnd");
+ }));
+ });
+
+ modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Contracts", b =>
+ {
+ b.Property("Rid")
+ .HasMaxLength(11)
+ .IsUnicode(false)
+ .HasColumnType("varchar(11)")
+ .HasColumnName("RID");
+
+ b.Property("Contract1stSectionalCompletionActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.1st sectional completion (actual)");
+
+ b.Property("Contract1stSectionalCompletionForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.1st sectional completion (forecast)");
+
+ b.Property("Contract2ndSectionalCompletionActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.2nd sectional completion (actual)");
+
+ b.Property("Contract2ndSectionalCompletionForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.2nd sectional completion (forecast)");
+
+ b.Property("Contract3rdSectionalCompletionActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.3rd sectional completion (actual)");
+
+ b.Property("Contract3rdSectionalCompletionForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.3rd sectional completion (forecast)");
+
+ b.Property("ContractAddressOfSite")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Address of site");
+
+ b.Property("ContractAllWorksCompleteInclStatutoryCertificationIssuedActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.All works complete (incl statutory certification issued) (actual)");
+
+ b.Property("ContractAllWorksCompleteInclStatutoryCertificationIssuedForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.All works complete (incl statutory certification issued) (forecast)");
+
+ b.Property("ContractAwardOption")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Award Option");
+
+ b.Property("ContractBiddersDay")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Bidders Day");
+
+ b.Property("ContractConstructionSiteOpen")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Construction Site Open");
+
+ b.Property("ContractContractAwardValueExclVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Contract Award value (excl VAT)");
+
+ b.Property("ContractContractBudgetValueExclVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Contract budget value (excl VAT)");
+
+ b.Property("ContractContractCategory")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Contract Category");
+
+ b.Property("ContractContractId")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Contract ID");
+
+ b.Property("ContractContractNotes")
+ .IsUnicode(false)
+ .HasColumnType("varchar(max)")
+ .HasColumnName("Contract.Contract notes");
+
+ b.Property("ContractContractProcurementStatus")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Contract Procurement Status");
+
+ b.Property("ContractContractReference")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Contract reference");
+
+ b.Property("ContractContractType")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Contract Type");
+
+ b.Property("ContractContractingParty")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Contracting party");
+
+ b.Property("ContractContractor")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Contractor");
+
+ b.Property("ContractContractorAppointedSpmPcsaEwaOtherActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Contractor appointed (SPM / PCSA / EWA / Other) (actual)");
+
+ b.Property("ContractContractorAppointedSpmPcsaEwaOtherForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Contractor appointed (SPM / PCSA / EWA / Other) (forecast)");
+
+ b.Property("ContractContractorSProposalsApprovedActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Contractor’s proposals approved (actual)");
+
+ b.Property("ContractContractorSProposalsApprovedForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Contractor’s proposals approved (forecast)");
+
+ b.Property("ContractContractorSProposalsSubmittedActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Contractor’s proposals submitted (actual)");
+
+ b.Property("ContractContractorSProposalsSubmittedForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Contractor’s proposals submitted (forecast)");
+
+ b.Property("ContractContractorWorkingToBepEirsThroughoutDesignConstructionHandover")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Contractor working to BEP & EIRs throughout design, construction & handover?");
+
+ b.Property("ContractDateDevelopmentAgreementSigned")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Date Development agreement signed");
+
+ b.Property("ContractDateOfClosedContractStatus")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Date of Closed contract status");
+
+ b.Property("ContractDateOfSdbcApproval")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Date of SDBC approval");
+
+ b.Property("ContractDateOfSdbcSubmission")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Date of SDBC submission");
+
+ b.Property("ContractDeliveryParty")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Delivery party");
+
+ b.Property("ContractDeliveryPartyIfOther")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Delivery party - if other");
+
+ b.Property("ContractEarlyWorksCostsExclVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Early works costs (excl VAT)");
+
+ b.Property("ContractEndOfDefectsLiabilityCertificatesLink")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.End of defects liability certificates link");
+
+ b.Property("ContractEnterIntoMainContractActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Enter into main contract (actual)");
+
+ b.Property("ContractEnterIntoMainContractForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Enter into main contract (forecast)");
+
+ b.Property("ContractExternalTechnicalAdviserAppointedActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.External Technical Adviser appointed (actual)");
+
+ b.Property("ContractFeasibilityReportApprovedByEsfaActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Feasibility report approved by ESFA (actual)");
+
+ b.Property("ContractFeasibilityReportLink")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Feasibility report link");
+
+ b.Property("ContractFeasibilityReportSubmittedToEsfaActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Feasibility report submitted to ESFA (actual)");
+
+ b.Property("ContractFeasibiltyReportStarted")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Feasibilty report started");
+
+ b.Property("ContractFinalAccountsAgreedActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Final accounts agreed (actual)");
+
+ b.Property("ContractFinalAccountsAgreedForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Final accounts agreed (forecast)");
+
+ b.Property("ContractFinalContractValueExclVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Final contract value (excl VAT)");
+
+ b.Property("ContractGifaForActualContractM2")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.GIFA for actual contract (m2)");
+
+ b.Property("ContractHasTheBepBeenReceivedFromTheContractor")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Has the BEP been received from the contractor?");
+
+ b.Property("ContractHaveTheAirsBeenIssued")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Have the AIRs been issued?");
+
+ b.Property("ContractHaveTheEirsBeenIssued")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Have the EIRs been issued?");
+
+ b.Property("ContractHseF10NotificationOfConstructionProjectFormSubmittedActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.HSE F10 notification of construction project form submitted (actual)");
+
+ b.Property("ContractId")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("ContractID");
+
+ b.Property("ContractIsBimRequiredForTheProject")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Is BIM required for the project?");
+
+ b.Property("ContractIsThisThePrincipalConstructionContractForThePermanentSchoolBuilding")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Is this the principal construction contract for the permanent school building?");
+
+ b.Property("ContractLatestContractValueExclVat")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Latest contract value (excl VAT)");
+
+ b.Property("ContractLinkToApprovedBc")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Link to Approved BC");
+
+ b.Property("ContractLinkToDevelopmentAgreement")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Link to Development agreement");
+
+ b.Property("ContractMakingGoodDefectsReinstatementWorksCompleteActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Making good defects / reinstatement works complete (actual)");
+
+ b.Property("ContractMakingGoodDefectsReinstatementWorksCompleteForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Making good defects / reinstatement works complete (forecast)");
+
+ b.Property("ContractModular")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Modular");
+
+ b.Property("ContractNameOfDeliveryParty")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Name of Delivery Party");
+
+ b.Property("ContractNameOfSite")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Name of site");
+
+ b.Property("ContractPlannedProgrammeSetWithTa")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Planned programme set with TA");
+
+ b.Property("ContractPlanningApplicationId")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Planning application ID");
+
+ b.Property("ContractPlanningApplicationSubmittedActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Planning application submitted (actual)");
+
+ b.Property("ContractPlanningApplicationSubmittedForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Planning application submitted (forecast)");
+
+ b.Property("ContractPlanningDecisionGrantedActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Planning decision granted (actual)");
+
+ b.Property("ContractPlanningDecisionGrantedForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Planning decision granted (forecast)");
+
+ b.Property("ContractPostcodeOfSite")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Postcode of site");
+
+ b.Property("ContractPracticalCompletionCertificateIssuedActual")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Practical completion certificate issued (actual)");
+
+ b.Property("ContractPracticalCompletionCertificateIssuedForecast")
+ .HasColumnType("date")
+ .HasColumnName("Contract.Practical completion certificate issued (forecast)");
+
+ b.Property("ContractPracticalCompletionCertificateLink")
+ .HasMaxLength(500)
+ .IsUnicode(false)
+ .HasColumnType("varchar(500)")
+ .HasColumnName("Contract.Practical completion certificate link");
+
+ b.Property("ContractPrincipalDesigner")
+ .HasMaxLength(100)
+ .IsUnicode(false)
+ .HasColumnType("varchar(100)")
+ .HasColumnName("Contract.Principal designer");
+
+ b.Property