From d19aead62cc2c384345ea518e480711bafd184f4 Mon Sep 17 00:00:00 2001 From: Jack Marshall Date: Tue, 17 Sep 2024 16:08:05 +0100 Subject: [PATCH 1/9] WIP Pre funding agreement checkpoint meeting --- .../Project/Tasks/GetProjectByTaskResponse.cs | 2 + ...reFundingAgreementCheckpointMeetingTask.cs | 11 ++ .../Tasks/ProjectByTaskSummaryResponse.cs | 2 + .../Project/Tasks/TaskName.cs | 3 +- .../Tasks/UpdateProjectByTaskRequest.cs | 4 + .../Project/Tasks/GetProjectByTaskService.cs | 4 + ...ngAgreementCheckpointMeetingTaskService.cs | 30 +++++ ...ngAgreementCheckpointMeetingTaskBuilder.cs | 21 +++ ...undingAgreementCheckpointMeetingService.cs | 35 +++++ .../Tasks/GetAllTasksStatusService.cs | 3 +- .../Constants/RouteConstants.cs | 5 +- ...reFundingAgreementCheckpointMeeting.cshtml | 41 ++++++ ...undingAgreementCheckpointMeeting.cshtml.cs | 121 ++++++++++++++++++ ...reFundingAgreementCheckpointMeeting.cshtml | 48 +++++++ ...undingAgreementCheckpointMeeting.cshtml.cs | 42 ++++++ .../Pages/Project/Tasks/TaskList.cshtml | 14 ++ 16 files changed, 383 insertions(+), 3 deletions(-) create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PreFundingAgreementCheckpointMeetingTask.cs create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/GetPreFundingAgreementCheckpointMeetingTaskService.cs create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/PreFundingAgreementCheckpointMeetingTaskBuilder.cs create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml.cs diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/GetProjectByTaskResponse.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/GetProjectByTaskResponse.cs index c97ff8035..f533b0d32 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/GetProjectByTaskResponse.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/GetProjectByTaskResponse.cs @@ -48,5 +48,7 @@ public class GetProjectByTaskResponse public PrincipalDesignateTask PrincipalDesignate { get; set; } public DueDiligenceChecks DueDiligenceChecks { get; set; } + + public PreFundingAgreementCheckpointMeetingTask PreFundingAgreementCheckpointMeeting { get; set; } } } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PreFundingAgreementCheckpointMeetingTask.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PreFundingAgreementCheckpointMeetingTask.cs new file mode 100644 index 000000000..a584109bb --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PreFundingAgreementCheckpointMeetingTask.cs @@ -0,0 +1,11 @@ +namespace Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks; + +public class PreFundingAgreementCheckpointMeetingTask +{ + public string TypeOfMeetingHeld { get; set; } + public string WhyAMeetingWasNotHeld { get; set; } + public DateTime? DateOfTheMeeting { get; set; } + public bool? CommissionedExternalExpert { get; set; } + public bool? SavedMeetingNoteInWorkplacesFolder { get; set; } + public bool? SentAnEmailToTheTrust { get; set; } +} \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/ProjectByTaskSummaryResponse.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/ProjectByTaskSummaryResponse.cs index bfc0280b8..b695f5397 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/ProjectByTaskSummaryResponse.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/ProjectByTaskSummaryResponse.cs @@ -60,6 +60,8 @@ public class ProjectByTaskSummaryResponse public TaskSummaryResponse PrincipalDesignate { get; set; } public TaskSummaryResponse DueDiligenceChecks { get; set; } + + public TaskSummaryResponse PreFundingAgreementCheckpointMeeting { get; set; } public int TaskCount { get; set; } public int CompletedTasks { get; set; } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/TaskName.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/TaskName.cs index 70befc95d..c4d0d4633 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/TaskName.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/TaskName.cs @@ -39,6 +39,7 @@ public enum TaskName CommissionedExternalExpert, MovingToOpen, PrincipalDesignate, - DueDiligenceChecks + DueDiligenceChecks, + PreFundingAgreementCheckpointMeeting } } \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/UpdateProjectByTaskRequest.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/UpdateProjectByTaskRequest.cs index ef9821eff..0474fa8e6 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/UpdateProjectByTaskRequest.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/UpdateProjectByTaskRequest.cs @@ -63,6 +63,8 @@ public class UpdateProjectByTaskRequest public DueDiligenceChecks DueDiligenceChecks { get; set; } public PDGGrantTask PDGGrantTask { get; set; } + + public PreFundingAgreementCheckpointMeetingTask PreFundingAgreementCheckpointMeeting { get; set; } public string TaskToUpdate { @@ -138,6 +140,8 @@ public string TaskToUpdate return TaskName.DueDiligenceChecks.ToString(); if (PDGGrantTask != null) return TaskName.PDG.ToString(); + if (PreFundingAgreementCheckpointMeeting != null) + return TaskName.PreFundingAgreementCheckpointMeeting.ToString(); return null; } } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/GetProjectByTaskService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/GetProjectByTaskService.cs index aae870773..aee564c8c 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/GetProjectByTaskService.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/GetProjectByTaskService.cs @@ -35,6 +35,7 @@ using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PrincipalDesignate; using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PupilNumbersChecks; using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.ReferenceNumbers; +using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PreFundingAgreementCheckpointMeeting; namespace Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks { @@ -171,6 +172,9 @@ public async Task Execute(string projectId, TaskName t case TaskName.DueDiligenceChecks: result = await new GetDueDiligenceChecksTaskService(_context).Get(parameters); break; + case TaskName.PreFundingAgreementCheckpointMeeting: + result = await new GetPreFundingAgreementCheckpointMeetingTaskService(_context).Get(parameters); + break; default: throw new ArgumentException($"Unknown task name {taskName}"); } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/GetPreFundingAgreementCheckpointMeetingTaskService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/GetPreFundingAgreementCheckpointMeetingTaskService.cs new file mode 100644 index 000000000..a0250141e --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/GetPreFundingAgreementCheckpointMeetingTaskService.cs @@ -0,0 +1,30 @@ +using Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks; +using Dfe.ManageFreeSchoolProjects.Data; +using Microsoft.EntityFrameworkCore; + +namespace Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PreFundingAgreementCheckpointMeeting +{ + internal class GetPreFundingAgreementCheckpointMeetingTaskService : IGetTaskService + { + private readonly MfspContext _context; + + public GetPreFundingAgreementCheckpointMeetingTaskService(MfspContext context) + { + _context = context; + + } + + public async Task Get(GetTaskServiceParameters parameters) + { + var result = await(from kpi in parameters.BaseQuery + join milestones in _context.Milestones on kpi.Rid equals milestones.Rid into joinedMilestones + from milestones in joinedMilestones.DefaultIfEmpty() + select new GetProjectByTaskResponse() + { + PreFundingAgreementCheckpointMeeting = PreFundingAgreementCheckpointMeetingTaskBuilder.Build(milestones) + }).FirstOrDefaultAsync(); + + return result ?? new GetProjectByTaskResponse() { PreFundingAgreementCheckpointMeeting = new () }; + } +} +} \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/PreFundingAgreementCheckpointMeetingTaskBuilder.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/PreFundingAgreementCheckpointMeetingTaskBuilder.cs new file mode 100644 index 000000000..498c26956 --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/PreFundingAgreementCheckpointMeetingTaskBuilder.cs @@ -0,0 +1,21 @@ +using Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks; +using Dfe.ManageFreeSchoolProjects.Data.Entities.Existing; + +namespace Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PreFundingAgreementCheckpointMeeting +{ + public static class PreFundingAgreementCheckpointMeetingTaskBuilder + { + public static PreFundingAgreementCheckpointMeetingTask Build(Milestones milestones) + { + return new PreFundingAgreementCheckpointMeetingTask() + { + TypeOfMeetingHeld = null, + WhyAMeetingWasNotHeld = null, + DateOfTheMeeting = null, + CommissionedExternalExpert = null, + SavedMeetingNoteInWorkplacesFolder = null, + SentAnEmailToTheTrust = null + }; + } + } +} diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs new file mode 100644 index 000000000..47d14265b --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs @@ -0,0 +1,35 @@ +using Dfe.ManageFreeSchoolProjects.Data; +using Microsoft.EntityFrameworkCore; + +namespace Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PreFundingAgreementCheckpointMeeting +{ + public class UpdatePreFundingAgreementCheckpointMeetingTaskService : IUpdateTaskService + { + private readonly MfspContext _context; + + public UpdatePreFundingAgreementCheckpointMeetingTaskService(MfspContext context) + { + _context = context; + } + + public async Task Update(UpdateTaskServiceParameters parameters) + { + var task = parameters.Request.PreFundingAgreementCheckpointMeeting; + var dbKpi = parameters.Kpi; + + if (task is null) + { + return; + } + + var db = await _context.Milestones.FirstOrDefaultAsync(r => r.Rid == dbKpi.Rid); + + if (db == null) + { + db = new Data.Entities.Existing.Milestones(); + db.Rid = dbKpi.Rid; + _context.Add(db); + } + } + } +} \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs index 1aa01f4f6..150b72c64 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs @@ -85,7 +85,8 @@ private static ProjectByTaskSummaryResponse BuildProjectByTaskSummaryResponse(Kp FinalFinancePlan = SafeRetrieveTaskSummary(projectTasks, TaskName.FinalFinancePlan.ToString()), CommissionedExternalExpert = SafeRetrieveTaskSummary(projectTasks, TaskName.CommissionedExternalExpert.ToString()), MovingToOpen = SafeRetrieveTaskSummary(projectTasks, TaskName.MovingToOpen.ToString()), - DueDiligenceChecks = SafeRetrieveTaskSummary(projectTasks, TaskName.DueDiligenceChecks.ToString()) + DueDiligenceChecks = SafeRetrieveTaskSummary(projectTasks, TaskName.DueDiligenceChecks.ToString()), + PreFundingAgreementCheckpointMeeting = SafeRetrieveTaskSummary(projectTasks, TaskName.PreFundingAgreementCheckpointMeeting.ToString()), }; var applicationsEvidenceTask = SafeRetrieveTaskSummary(projectTasks, TaskName.ApplicationsEvidence.ToString()); diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Constants/RouteConstants.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Constants/RouteConstants.cs index 29ca75fc5..d215a7ca4 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Constants/RouteConstants.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Constants/RouteConstants.cs @@ -171,6 +171,9 @@ public static class RouteConstants public const string EditReferenceNumbers = ViewReferenceNumbers + "/edit"; public const string ViewDueDiligenceChecks = TaskList + "/due-diligence-checks"; - public const string EditDueDiligenceChecks = ViewDueDiligenceChecks + "/edit"; + public const string EditDueDiligenceChecks = ViewDueDiligenceChecks + "/edit"; + + public const string ViewPreFundingAgreementCheckpointMeeting = TaskList + "/pre-funding-agreement-checkpoint-meeting"; + public const string EditPreFundingAgreementCheckpointMeeting = ViewPreFundingAgreementCheckpointMeeting + "/edit"; } } \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml new file mode 100644 index 000000000..f7c861ac6 --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml @@ -0,0 +1,41 @@ +@page "/projects/{projectId}/tasks/pre-funding-agreement-checkpoint-meeting/edit" +@using Dfe.ManageFreeSchoolProjects.Constants; +@using Dfe.ManageFreeSchoolProjects.TagHelpers +@model Dfe.ManageFreeSchoolProjects.Pages.Project.Tasks.PreFundingAgreementCheckpointMeeting.EditPreFundingAgreementCheckpointMeetingModel +@{ + ViewData["Title"] = $"Edit Pre-funding agreement checkpoint meeting - {Model.SchoolName}"; + + var backlink = string.Format(RouteConstants.ViewPreFundingAgreementCheckpointMeeting, Model.ProjectId); +} + +@section BeforeMain { + +} + + + +

+ @Model.SchoolNameEdit Pre-funding agreement checkpoint meeting +

+ +
+
+ +
+ @if (Model.IsPresumptionRoute) + { + + } + + + + + + + +
+
\ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs new file mode 100644 index 000000000..fe7e1b3b0 --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs @@ -0,0 +1,121 @@ +using Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks; +using Dfe.ManageFreeSchoolProjects.Constants; +using Dfe.ManageFreeSchoolProjects.Logging; +using Dfe.ManageFreeSchoolProjects.Models; +using Dfe.ManageFreeSchoolProjects.Services; +using Dfe.ManageFreeSchoolProjects.Services.Project; +using Dfe.ManageFreeSchoolProjects.Validators; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.Extensions.Logging; +using System; +using System.ComponentModel.DataAnnotations; +using System.Threading.Tasks; + + +namespace Dfe.ManageFreeSchoolProjects.Pages.Project.Tasks.PreFundingAgreementCheckpointMeeting +{ + public class EditPreFundingAgreementCheckpointMeetingModel : PageModel + { + private readonly IGetProjectByTaskService _getProjectService; + private readonly IUpdateProjectByTaskService _updateProjectTaskService; + private readonly ILogger _logger; + private readonly ErrorService _errorService; + + [BindProperty(SupportsGet = true, Name = "projectId")] + public string ProjectId { get; set; } + + [BindProperty(Name = "funding-arrangement-agreed")] + public bool? FundingArrangementAgreed { get; set; } + + [BindProperty(Name = "funding-arrangement-details-agreed")] + [Display(Name = "Comments")] + [ValidText(100)] + public string FundingArrangementDetailsAgreed { get; set; } + + [BindProperty(Name = "realistic-year-of-opening", BinderType= typeof(StartEndModelBinder))] + public string RealisticYearOfOpening { get; set; } + + [BindProperty(Name = "provisional-opening-date", BinderType = typeof(DateInputModelBinder))] + + public DateTime? ProvisionalOpeningDate { get; set; } + + [BindProperty(Name = "saved-documents-in-workplaces-folder")] + public bool? SavedDocumentsInWorkplacesFolder { get; set; } + + public string SchoolName { get; set; } + public bool IsPresumptionRoute { get; set; } + + + public EditPreFundingAgreementCheckpointMeetingModel(IGetProjectByTaskService getProjectService, + IUpdateProjectByTaskService updateProjectTaskService, + ILogger logger, + ErrorService errorService) + { + _getProjectService = getProjectService; + _updateProjectTaskService = updateProjectTaskService; + _logger = logger; + _errorService = errorService; + } + + public async Task OnGet() + { + _logger.LogMethodEntered(); + + await LoadProject(); + return Page(); + } + + public async Task OnPost() + { + var project = await _getProjectService.Execute(ProjectId, TaskName.KickOffMeeting); + SchoolName = project.SchoolName; + IsPresumptionRoute = project.IsPresumptionRoute; + + if (!ModelState.IsValid) + { + _errorService.AddErrors(ModelState.Keys, ModelState); + return Page(); + } + + try + { + var request = new UpdateProjectByTaskRequest() + { + KickOffMeeting = new KickOffMeetingTask() + { + FundingArrangementAgreed = FundingArrangementAgreed, + FundingArrangementDetailsAgreed = FundingArrangementDetailsAgreed, + RealisticYearOfOpening = RealisticYearOfOpening, + ProvisionalOpeningDate = ProvisionalOpeningDate, + SavedDocumentsInWorkplacesFolder = SavedDocumentsInWorkplacesFolder + + } + }; + + await _updateProjectTaskService.Execute(ProjectId, request); + + return Redirect(string.Format(RouteConstants.ViewKickOffMeeting, ProjectId)); + } + catch (Exception ex) + { + _logger.LogErrorMsg(ex); + throw; + } + } + + private async Task LoadProject() + { + var project = await _getProjectService.Execute(ProjectId, TaskName.KickOffMeeting); + + FundingArrangementAgreed = project.KickOffMeeting.FundingArrangementAgreed; + FundingArrangementDetailsAgreed = project.KickOffMeeting.FundingArrangementDetailsAgreed; + RealisticYearOfOpening = project.KickOffMeeting.RealisticYearOfOpening; + ProvisionalOpeningDate = project.KickOffMeeting.ProvisionalOpeningDate; + SavedDocumentsInWorkplacesFolder = project.KickOffMeeting.SavedDocumentsInWorkplacesFolder; + + SchoolName = project.SchoolName; + IsPresumptionRoute = project.IsPresumptionRoute; + } + } +} diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml new file mode 100644 index 000000000..9c8a4e82d --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml @@ -0,0 +1,48 @@ +@page "/projects/{projectId}/tasks/pre-funding-agreement-checkpoint-meeting" +@using Dfe.ManageFreeSchoolProjects.Constants; +@using Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks +@using Dfe.ManageFreeSchoolProjects.Pages.Project.Tasks.PreFundingAgreementCheckpointMeeting +@model Dfe.ManageFreeSchoolProjects.Pages.Project.Tasks.PreFundingAgreementCheckpointMeeting.ViewPreFundingAgreementCheckpointMeetingModel +@{ + ViewData["Title"] = $"Pre-funding agreement checkpoint meeting - {Model.Project.SchoolName}"; + + var backlink = string.Format(RouteConstants.TaskList, Model.ProjectId); + var editlink = string.Format(RouteConstants.EditPreFundingAgreementCheckpointMeeting, Model.ProjectId); + var preFundingAgreementCheckpointMeeting = Model.Project.PreFundingAgreementCheckpointMeeting; + var isPresumptionRoute = Model.Project.IsPresumptionRoute; +} + +@section BeforeMain { + +} + +
+
+

+ + @Model.Project.SchoolName + + Pre-funding agreement checkpoint meeting +

+ + + + + + + + + +
+ + + +
+
\ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml.cs new file mode 100644 index 000000000..9656c51cc --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml.cs @@ -0,0 +1,42 @@ +using Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks; +using Dfe.ManageFreeSchoolProjects.Constants; +using Dfe.ManageFreeSchoolProjects.Logging; +using Dfe.ManageFreeSchoolProjects.Services.Project; +using Dfe.ManageFreeSchoolProjects.Services.Tasks; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; +using System.Threading.Tasks; + +namespace Dfe.ManageFreeSchoolProjects.Pages.Project.Tasks.PreFundingAgreementCheckpointMeeting; + +public class ViewPreFundingAgreementCheckpointMeetingModel : ViewTaskBaseModel +{ + private readonly ILogger _logger; + + public ViewPreFundingAgreementCheckpointMeetingModel( + IGetProjectByTaskService getProjectService, + ILogger logger, + IGetTaskStatusService getTaskStatusService, IUpdateTaskStatusService updateTaskStatusService) : base(getProjectService, getTaskStatusService, updateTaskStatusService) + { + _logger = logger; + } + + public async Task OnGet() + { + _logger.LogMethodEntered(); + + await GetTask(TaskName.PreFundingAgreementCheckpointMeeting); + + return Page(); + } + + public async Task OnPost() + { + _logger.LogMethodEntered(); + + await PostTask(TaskName.PreFundingAgreementCheckpointMeeting); + + return Redirect(string.Format(RouteConstants.TaskList, ProjectId)); + } +} + diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml index 475649af7..522305801 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml @@ -47,6 +47,7 @@ var pdgPresumptionLink = string.Format(RouteConstants.ViewPDGPresumption, Model.ProjectId); var pdgCentralLink = string.Format(RouteConstants.ViewPDGCentral, Model.ProjectId); var pdgLink = (@Model.ProjectType == "Presumption") ? pdgPresumptionLink : pdgCentralLink; + var preFundingAgreementCheckpointMeetingLink = string.Format(RouteConstants.ViewPreFundingAgreementCheckpointMeeting, Model.ProjectId); ViewData["Title"] = $"{Model.SchoolName} - Task list"; } @@ -224,6 +225,19 @@ } + @if (@Model.ProjectType != "Presumption") { +
  • + + + Pre-funding agreement checkpoint meeting + + + @{ + RenderStatus(Model.ProjectTaskListSummary.PreFundingAgreementCheckpointMeeting); + } + +
  • + }
  • From c893ff5bcbe6c9b814c8bbc8da132d76b29cd647 Mon Sep 17 00:00:00 2001 From: Jack Marshall Date: Mon, 23 Sep 2024 15:44:07 +0100 Subject: [PATCH 2/9] WIP --- .../DependencyConfigurationExtensions.cs | 2 ++ ...undingAgreementCheckpointMeetingService.cs | 2 ++ .../Tasks/GetAllTasksStatusService.cs | 2 +- ...undingAgreementCheckpointMeeting.cshtml.cs | 21 +++---------------- ...reFundingAgreementCheckpointMeeting.cshtml | 1 + .../Pages/Project/Tasks/TaskList.cshtml | 2 +- 6 files changed, 10 insertions(+), 20 deletions(-) diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/StartupConfiguration/DependencyConfigurationExtensions.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/StartupConfiguration/DependencyConfigurationExtensions.cs index 181987d91..cf4863ade 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/StartupConfiguration/DependencyConfigurationExtensions.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/StartupConfiguration/DependencyConfigurationExtensions.cs @@ -55,6 +55,7 @@ using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Payments; using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.DueDiligenceChecks; using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PDG; +using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PreFundingAgreementCheckpointMeeting; namespace Dfe.ManageFreeSchoolProjects.API.StartupConfiguration { @@ -124,6 +125,7 @@ public static IServiceCollection AddApiDependencies(this IServiceCollection serv services.AddScoped(); services.AddScoped(); services.AddScoped(); + services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs index 47d14265b..90979d30d 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs @@ -30,6 +30,8 @@ public async Task Update(UpdateTaskServiceParameters parameters) db.Rid = dbKpi.Rid; _context.Add(db); } + + db.FsgPreOpeningMilestonesPfacmBaselineDate = null; } } } \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs index 150b72c64..92d798fb9 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs @@ -86,7 +86,7 @@ private static ProjectByTaskSummaryResponse BuildProjectByTaskSummaryResponse(Kp CommissionedExternalExpert = SafeRetrieveTaskSummary(projectTasks, TaskName.CommissionedExternalExpert.ToString()), MovingToOpen = SafeRetrieveTaskSummary(projectTasks, TaskName.MovingToOpen.ToString()), DueDiligenceChecks = SafeRetrieveTaskSummary(projectTasks, TaskName.DueDiligenceChecks.ToString()), - PreFundingAgreementCheckpointMeeting = SafeRetrieveTaskSummary(projectTasks, TaskName.PreFundingAgreementCheckpointMeeting.ToString()), + PreFundingAgreementCheckpointMeeting = SafeRetrieveTaskSummary(projectTasks, "PreFundingAgreementCheckpointMeeting"), }; var applicationsEvidenceTask = SafeRetrieveTaskSummary(projectTasks, TaskName.ApplicationsEvidence.ToString()); diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs index fe7e1b3b0..f97dc126e 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs @@ -68,7 +68,7 @@ public async Task OnGet() public async Task OnPost() { - var project = await _getProjectService.Execute(ProjectId, TaskName.KickOffMeeting); + var project = await _getProjectService.Execute(ProjectId, TaskName.PreFundingAgreementCheckpointMeeting); SchoolName = project.SchoolName; IsPresumptionRoute = project.IsPresumptionRoute; @@ -82,20 +82,11 @@ public async Task OnPost() { var request = new UpdateProjectByTaskRequest() { - KickOffMeeting = new KickOffMeetingTask() - { - FundingArrangementAgreed = FundingArrangementAgreed, - FundingArrangementDetailsAgreed = FundingArrangementDetailsAgreed, - RealisticYearOfOpening = RealisticYearOfOpening, - ProvisionalOpeningDate = ProvisionalOpeningDate, - SavedDocumentsInWorkplacesFolder = SavedDocumentsInWorkplacesFolder - - } }; await _updateProjectTaskService.Execute(ProjectId, request); - return Redirect(string.Format(RouteConstants.ViewKickOffMeeting, ProjectId)); + return Redirect(string.Format(RouteConstants.ViewPreFundingAgreementCheckpointMeeting, ProjectId)); } catch (Exception ex) { @@ -106,13 +97,7 @@ public async Task OnPost() private async Task LoadProject() { - var project = await _getProjectService.Execute(ProjectId, TaskName.KickOffMeeting); - - FundingArrangementAgreed = project.KickOffMeeting.FundingArrangementAgreed; - FundingArrangementDetailsAgreed = project.KickOffMeeting.FundingArrangementDetailsAgreed; - RealisticYearOfOpening = project.KickOffMeeting.RealisticYearOfOpening; - ProvisionalOpeningDate = project.KickOffMeeting.ProvisionalOpeningDate; - SavedDocumentsInWorkplacesFolder = project.KickOffMeeting.SavedDocumentsInWorkplacesFolder; + var project = await _getProjectService.Execute(ProjectId, TaskName.PreFundingAgreementCheckpointMeeting); SchoolName = project.SchoolName; IsPresumptionRoute = project.IsPresumptionRoute; diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml index 9c8a4e82d..0f19354b5 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml @@ -20,6 +20,7 @@
    +

    @Model.Project.SchoolName diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml index 522305801..add4f23e5 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml @@ -225,7 +225,7 @@ }

  • - @if (@Model.ProjectType != "Presumption") { + @if (Model.IsPresumptionRoute == false) {
  • From 8db1607d0d3e2d08c78cfe6acc7cc27eaaea3a2b Mon Sep 17 00:00:00 2001 From: Jack Marshall Date: Wed, 25 Sep 2024 15:13:48 +0100 Subject: [PATCH 3/9] API and Cypress tests --- .../Project/Tasks/GetProjectByTaskResponse.cs | 2 +- ...reFundingAgreementCheckpointMeetingTask.cs | 4 +- .../Project/Tasks/TypeOfMeetingHeld.cs | 10 +- .../Tasks/UpdateProjectByTaskRequest.cs | 4 +- .../Helpers/DatabaseModelBuilder.cs | 14 + ...ndingAgreementCheckpointMeetingApiTests.cs | 111 + .../Tasks/ReadinessToOpenMeetingApiTests.cs | 2 +- .../Reports/ProjectReportBuilderTests.cs | 6 + .../DependencyConfigurationExtensions.cs | 5 +- ...ngAgreementCheckpointMeetingTaskService.cs | 28 +- ...ngAgreementCheckpointMeetingTaskBuilder.cs | 19 +- ...undingAgreementCheckpointMeetingService.cs | 18 +- .../Reports/AllProjectsReportService.cs | 3 + .../UseCases/Reports/ProjectReportBuilder.cs | 1 + .../Tasks/GetAllTasksStatusService.cs | 2 +- ...funding-agreement-checkpoint-meeting.cy.ts | 151 + .../cypress/pages/taskListPage.ts | 5 + ...funding-agreement-checkpoint-meeting-cy.ts | 104 + .../Entities/Milestones.cs | 10 + ...dingAgreementCheckpointMeeting.Designer.cs | 12846 ++++++++++++++++ ...59_PreFundingAgreementCheckpointMeeting.cs | 128 + .../Migrations/MfspContextModelSnapshot.cs | 15 + ...reFundingAgreementCheckpointMeeting.cshtml | 72 +- ...undingAgreementCheckpointMeeting.cshtml.cs | 191 +- ...reFundingAgreementCheckpointMeeting.cshtml | 17 +- .../EditReadinessToOpenMeeting.cshtml | 2 +- .../EditReadinessToOpenMeeting.cshtml.cs | 2 +- .../ViewReadinessToOpenMeeting.cshtml | 2 +- .../Pages/Project/Tasks/TaskList.cshtml | 2 +- 29 files changed, 13648 insertions(+), 128 deletions(-) create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/PreFundingAgreementCheckpointMeetingApiTests.cs create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/pre-funding-agreement-checkpoint-meeting.cy.ts create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-pre-funding-agreement-checkpoint-meeting-cy.ts create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240924142359_PreFundingAgreementCheckpointMeeting.Designer.cs create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240924142359_PreFundingAgreementCheckpointMeeting.cs diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/GetProjectByTaskResponse.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/GetProjectByTaskResponse.cs index 559b34114..a12e37a96 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/GetProjectByTaskResponse.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/GetProjectByTaskResponse.cs @@ -49,7 +49,7 @@ public class GetProjectByTaskResponse public DueDiligenceChecks DueDiligenceChecks { get; set; } - public PreFundingAgreementCheckpointMeetingTask PreFundingAgreementCheckpointMeeting { get; set; } + public PreFundingAgreementCheckpointMeetingTask PreFundingAgreementCheckpointMeetingTask { get; set; } public ReadinessToOpenMeetingTask ReadinessToOpenMeetingTask { get; set; } } } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PreFundingAgreementCheckpointMeetingTask.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PreFundingAgreementCheckpointMeetingTask.cs index a584109bb..67a414022 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PreFundingAgreementCheckpointMeetingTask.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PreFundingAgreementCheckpointMeetingTask.cs @@ -2,8 +2,8 @@ namespace Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks; public class PreFundingAgreementCheckpointMeetingTask { - public string TypeOfMeetingHeld { get; set; } - public string WhyAMeetingWasNotHeld { get; set; } + public TypeOfMeetingHeld TypeOfMeetingHeld { get; set; } + public string WhyMeetingWasNotHeld { get; set; } public DateTime? DateOfTheMeeting { get; set; } public bool? CommissionedExternalExpert { get; set; } public bool? SavedMeetingNoteInWorkplacesFolder { get; set; } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/TypeOfMeetingHeld.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/TypeOfMeetingHeld.cs index dca9e35a0..f3a8bdadd 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/TypeOfMeetingHeld.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/TypeOfMeetingHeld.cs @@ -6,9 +6,13 @@ public enum TypeOfMeetingHeld { NotSet, [Description("Formal meeting")] - FormalMeeting, + FormalMeeting, + [Description("Formal checkpoint meeting")] + FormalCheckpointMeeting, [Description("Informal meeting")] - InformalMeeting, + InformalMeeting, + [Description("Internal review / case conference")] + InternalReviewMeeting, [Description("No meeting held")] - NoRomHeld, + NoMeetingHeld, } \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/UpdateProjectByTaskRequest.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/UpdateProjectByTaskRequest.cs index dd9e6050f..003c98f6e 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/UpdateProjectByTaskRequest.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/UpdateProjectByTaskRequest.cs @@ -64,7 +64,7 @@ public class UpdateProjectByTaskRequest public PDGGrantTask PDGGrantTask { get; set; } - public PreFundingAgreementCheckpointMeetingTask PreFundingAgreementCheckpointMeeting { get; set; } + public PreFundingAgreementCheckpointMeetingTask PreFundingAgreementCheckpointMeetingTask { get; set; } public ReadinessToOpenMeetingTask ReadinessToOpenMeetingTask { get; set; } @@ -142,7 +142,7 @@ public string TaskToUpdate return TaskName.DueDiligenceChecks.ToString(); if (PDGGrantTask != null) return TaskName.PDG.ToString(); - if (PreFundingAgreementCheckpointMeeting != null) + if (PreFundingAgreementCheckpointMeetingTask != null) return TaskName.PreFundingAgreementCheckpointMeeting.ToString(); if (ReadinessToOpenMeetingTask != null) return TaskName.ReadinessToOpenMeeting.ToString(); diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Helpers/DatabaseModelBuilder.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Helpers/DatabaseModelBuilder.cs index 2bdb4011a..045d8156a 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Helpers/DatabaseModelBuilder.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Helpers/DatabaseModelBuilder.cs @@ -607,5 +607,19 @@ public static Milestones ReadinessToOpenMeetingTask(string projectRid, TypeOfMee ROMWhyAMeetingWasNotHeld = whyMeetingWasNotHeld, }; } + + public static Milestones PreFundingAgreementCheckpointMeetingTask(string projectRid, TypeOfMeetingHeld typeOfMeetingHeld, DateTime dateOfTheMeeting, string whyMeetingWasNotHeld) + { + return new Milestones + { + Rid = projectRid, + FsgPreOpeningMilestonesPfacmActualDateOfCompletion = dateOfTheMeeting, + PFACMTypeOfMeetingHeld = typeOfMeetingHeld.ToString(), + PFACMCommissionedAnExternalExpertToAttendMeetingsIfApplicable = true, + PFACMSavedMeetingNoteInWorkplacesFolder = true, + PFACMSentAnEmailToTheTrust = true, + PFACMWhyAMeetingWasNotHeld = whyMeetingWasNotHeld, + }; + } } } \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/PreFundingAgreementCheckpointMeetingApiTests.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/PreFundingAgreementCheckpointMeetingApiTests.cs new file mode 100644 index 000000000..7b4f1eabb --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/PreFundingAgreementCheckpointMeetingApiTests.cs @@ -0,0 +1,111 @@ +using System; +using System.Net; +using System.Threading.Tasks; +using Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks; +using Dfe.ManageFreeSchoolProjects.API.Tests.Fixtures; +using Dfe.ManageFreeSchoolProjects.API.Tests.Helpers; + +namespace Dfe.ManageFreeSchoolProjects.API.Tests.Integration.Tasks; + +[Collection(ApiTestCollection.ApiTestCollectionName)] +public class PreFundingAgreementCheckpointMeetingApiTests(ApiTestFixture apiTestFixture) : ApiTestsBase(apiTestFixture) +{ + [Fact] + public async Task Patch_NewPFACM_Then_NewPFACMCreated() + { + var project = DatabaseModelBuilder.BuildProject(); + var projectId = project.ProjectStatusProjectId; + + using var context = _testFixture.GetContext(); + context.Kpi.Add(project); + await context.SaveChangesAsync(); + + var request = new UpdateProjectByTaskRequest() + { + PreFundingAgreementCheckpointMeetingTask = new PreFundingAgreementCheckpointMeetingTask + { + DateOfTheMeeting = new DateTime().Date, + TypeOfMeetingHeld = TypeOfMeetingHeld.FormalCheckpointMeeting, + WhyMeetingWasNotHeld = null, + CommissionedExternalExpert = true, + SavedMeetingNoteInWorkplacesFolder = true, + SentAnEmailToTheTrust = true + } + }; + + var projectResponse = + await _client.UpdateProjectTask(projectId, request, TaskName.PreFundingAgreementCheckpointMeeting.ToString()); + + projectResponse.PreFundingAgreementCheckpointMeetingTask.DateOfTheMeeting.Should() + .Be(request.PreFundingAgreementCheckpointMeetingTask.DateOfTheMeeting); + projectResponse.PreFundingAgreementCheckpointMeetingTask.TypeOfMeetingHeld.Should() + .Be(request.PreFundingAgreementCheckpointMeetingTask.TypeOfMeetingHeld); + projectResponse.PreFundingAgreementCheckpointMeetingTask.WhyMeetingWasNotHeld.Should() + .BeNull(); + projectResponse.PreFundingAgreementCheckpointMeetingTask.SavedMeetingNoteInWorkplacesFolder.Should() + .Be(request.PreFundingAgreementCheckpointMeetingTask.SavedMeetingNoteInWorkplacesFolder); + projectResponse.PreFundingAgreementCheckpointMeetingTask.SentAnEmailToTheTrust.Should() + .Be(request.PreFundingAgreementCheckpointMeetingTask.SentAnEmailToTheTrust); + projectResponse.PreFundingAgreementCheckpointMeetingTask.CommissionedExternalExpert.Should() + .Be(request.PreFundingAgreementCheckpointMeetingTask.CommissionedExternalExpert); + } + + + [Fact] + public async Task Patch_Existing_PFACM_Then_ExistingPFACMUpdated() + { + var project = DatabaseModelBuilder.BuildProject(); + var projectId = project.ProjectStatusProjectId; + + using var context = _testFixture.GetContext(); + context.Kpi.Add(project); + + var preFundingAgreementCheckpointMeetingTask = DatabaseModelBuilder.PreFundingAgreementCheckpointMeetingTask(project.Rid, + TypeOfMeetingHeld.NoMeetingHeld, DateTime.Today, whyMeetingWasNotHeld: string.Empty); + context.Milestones.Add(preFundingAgreementCheckpointMeetingTask); + await context.SaveChangesAsync(); + + var request = new UpdateProjectByTaskRequest() + { + PreFundingAgreementCheckpointMeetingTask = new PreFundingAgreementCheckpointMeetingTask + { + SavedMeetingNoteInWorkplacesFolder = false, + CommissionedExternalExpert = false, + SentAnEmailToTheTrust = false + } + }; + + var updateProjRes = await _client.UpdateProjectTask(projectId, request, TaskName.PreFundingAgreementCheckpointMeeting.ToString()); + + updateProjRes.PreFundingAgreementCheckpointMeetingTask.SavedMeetingNoteInWorkplacesFolder.Should().BeFalse(); + updateProjRes.PreFundingAgreementCheckpointMeetingTask.CommissionedExternalExpert.Should().BeFalse(); + updateProjRes.PreFundingAgreementCheckpointMeetingTask.SentAnEmailToTheTrust.Should().BeFalse(); + } + + + [Fact] + public async Task PFACM_DateOfMeetingSet_ButMeetingTypeIsNotSet_ReturnsFormalCheckpointMeetingType() + { + var project = DatabaseModelBuilder.BuildProject(); + var projectId = project.ProjectStatusProjectId; + + using var context = _testFixture.GetContext(); + context.Kpi.Add(project); + + var preFundingAgreementCheckpointMeetingTask = DatabaseModelBuilder.PreFundingAgreementCheckpointMeetingTask(project.Rid, + TypeOfMeetingHeld.NotSet, DateTime.Today, whyMeetingWasNotHeld: string.Empty); + context.Milestones.Add(preFundingAgreementCheckpointMeetingTask); + await context.SaveChangesAsync(); + + var getProjRes = + await _client.GetAsync( + $"/api/v1/client/projects/{projectId}/tasks/{TaskName.PreFundingAgreementCheckpointMeeting.ToString()}"); + + getProjRes.StatusCode.Should().Be(HttpStatusCode.OK); + + var pfacmTask = await getProjRes.Content.ReadResponseFromWrapper(); + + pfacmTask.PreFundingAgreementCheckpointMeetingTask.DateOfTheMeeting.Should().NotBeNull(); + pfacmTask.PreFundingAgreementCheckpointMeetingTask.TypeOfMeetingHeld.Should().Be(TypeOfMeetingHeld.FormalCheckpointMeeting); + } +} \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/ReadinessToOpenMeetingApiTests.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/ReadinessToOpenMeetingApiTests.cs index 1d6ba95a9..5d333333e 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/ReadinessToOpenMeetingApiTests.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/ReadinessToOpenMeetingApiTests.cs @@ -64,7 +64,7 @@ public async Task Patch_Existing_ROM_Then_ExistingROMUpdated() context.Kpi.Add(project); var pupilNumbersChecksTask = DatabaseModelBuilder.ReadinessToOpenMeetingTask(project.Rid, - TypeOfMeetingHeld.NoRomHeld, DateTime.Today, whyMeetingWasNotHeld: string.Empty); + TypeOfMeetingHeld.NoMeetingHeld, DateTime.Today, whyMeetingWasNotHeld: string.Empty); context.Milestones.Add(pupilNumbersChecksTask); await context.SaveChangesAsync(); diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Reports/ProjectReportBuilderTests.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Reports/ProjectReportBuilderTests.cs index 612a87e75..d43a292e1 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Reports/ProjectReportBuilderTests.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Reports/ProjectReportBuilderTests.cs @@ -33,6 +33,7 @@ public void Build_ReturnsProjectReport() taskHeaders.Should().Contain("Risk appraisal meeting"); taskHeaders.Should().Contain("Project development grant (PDG)"); taskHeaders.Should().Contain("Kick-off meeting"); + taskHeaders.Should().Contain("Pre-funding agreement checkpoint meeting"); taskHeaders.Should().Contain("Funding agreement"); taskHeaders.Should().Contain("Funding agreement health check"); taskHeaders.Should().Contain("Funding agreement submission"); @@ -77,6 +78,7 @@ public void Build_ReturnsProjectReport() AssertEntry(nameof(RiskAppraisalMeetingTask.InitialRiskAppraisalMeetingCompleted), "No", project, columnHeaders); AssertEntry(nameof(PDGDashboard.PaymentActualDate), "01/02/2024", project, columnHeaders); AssertEntry(nameof(KickOffMeetingTask.FundingArrangementAgreed), "Yes", project, columnHeaders); + AssertEntry(nameof(PreFundingAgreementCheckpointMeetingTask.SentAnEmailToTheTrust), "Yes", project, columnHeaders); AssertEntry(nameof(ArticlesOfAssociationTask.ChairHaveSubmittedConfirmation), "No", project, columnHeaders); AssertEntry(nameof(FinancePlanTask.RpaCoverType), "Cover", project, columnHeaders); AssertEntry(nameof(FinalFinancePlanTask.Grade6SignedOffFinalPlanDate), "01/01/2023", project, columnHeaders); @@ -199,6 +201,10 @@ private static List BuildSourceData() { FundingArrangementAgreed = true, }, + PreFundingAgreementCheckpointMeetingTask = new PreFundingAgreementCheckpointMeetingTask() + { + SentAnEmailToTheTrust = true, + }, ArticlesOfAssociation = new ArticlesOfAssociationTask() { ChairHaveSubmittedConfirmation = false, diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/StartupConfiguration/DependencyConfigurationExtensions.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/StartupConfiguration/DependencyConfigurationExtensions.cs index 8aed64721..d694a4264 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/StartupConfiguration/DependencyConfigurationExtensions.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/StartupConfiguration/DependencyConfigurationExtensions.cs @@ -126,7 +126,6 @@ public static IServiceCollection AddApiDependencies(this IServiceCollection serv services.AddScoped(); services.AddScoped(); services.AddScoped(); - services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); @@ -149,7 +148,9 @@ public static IServiceCollection AddApiDependencies(this IServiceCollection serv services.AddScoped(); services.AddScoped(); services.AddScoped(); - + services.AddScoped(); + services.AddScoped(); + services.AddValidatorsFromAssembly(Assembly.Load(Assembly.GetExecutingAssembly().FullName)); return services; diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/GetPreFundingAgreementCheckpointMeetingTaskService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/GetPreFundingAgreementCheckpointMeetingTaskService.cs index a0250141e..b8b7d4a02 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/GetPreFundingAgreementCheckpointMeetingTaskService.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/GetPreFundingAgreementCheckpointMeetingTaskService.cs @@ -4,27 +4,27 @@ namespace Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PreFundingAgreementCheckpointMeeting { - internal class GetPreFundingAgreementCheckpointMeetingTaskService : IGetTaskService + public class GetPreFundingAgreementCheckpointMeetingTaskService(MfspContext context) : IGetTaskService { - private readonly MfspContext _context; - - public GetPreFundingAgreementCheckpointMeetingTaskService(MfspContext context) - { - _context = context; - - } public async Task Get(GetTaskServiceParameters parameters) { - var result = await(from kpi in parameters.BaseQuery - join milestones in _context.Milestones on kpi.Rid equals milestones.Rid into joinedMilestones + var result = await (from kpi in parameters.BaseQuery + join milestones in context.Milestones on kpi.Rid equals milestones.Rid into joinedMilestones from milestones in joinedMilestones.DefaultIfEmpty() - select new GetProjectByTaskResponse() + select new GetProjectByTaskResponse { - PreFundingAgreementCheckpointMeeting = PreFundingAgreementCheckpointMeetingTaskBuilder.Build(milestones) + PreFundingAgreementCheckpointMeetingTask = PreFundingAgreementCheckpointMeetingTaskBuilder.Build(milestones) }).FirstOrDefaultAsync(); - return result ?? new GetProjectByTaskResponse() { PreFundingAgreementCheckpointMeeting = new () }; + var preFundingAgreementCheckpointMeeting = result.PreFundingAgreementCheckpointMeetingTask; + + if (preFundingAgreementCheckpointMeeting.DateOfTheMeeting.HasValue && preFundingAgreementCheckpointMeeting.TypeOfMeetingHeld == TypeOfMeetingHeld.NotSet) + { + preFundingAgreementCheckpointMeeting.TypeOfMeetingHeld = TypeOfMeetingHeld.FormalCheckpointMeeting; + } + + return result; } -} + } } \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/PreFundingAgreementCheckpointMeetingTaskBuilder.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/PreFundingAgreementCheckpointMeetingTaskBuilder.cs index 498c26956..729e0db93 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/PreFundingAgreementCheckpointMeetingTaskBuilder.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/PreFundingAgreementCheckpointMeetingTaskBuilder.cs @@ -7,15 +7,18 @@ public static class PreFundingAgreementCheckpointMeetingTaskBuilder { public static PreFundingAgreementCheckpointMeetingTask Build(Milestones milestones) { - return new PreFundingAgreementCheckpointMeetingTask() + if (milestones == null) + return new PreFundingAgreementCheckpointMeetingTask(); + + return new PreFundingAgreementCheckpointMeetingTask { - TypeOfMeetingHeld = null, - WhyAMeetingWasNotHeld = null, - DateOfTheMeeting = null, - CommissionedExternalExpert = null, - SavedMeetingNoteInWorkplacesFolder = null, - SentAnEmailToTheTrust = null - }; + DateOfTheMeeting = milestones.FsgPreOpeningMilestonesPfacmActualDateOfCompletion, + TypeOfMeetingHeld = EnumParsers.ParseTypeOfMeetingHeld(milestones.PFACMTypeOfMeetingHeld), + WhyMeetingWasNotHeld = milestones.PFACMWhyAMeetingWasNotHeld, + CommissionedExternalExpert = milestones.PFACMCommissionedAnExternalExpertToAttendMeetingsIfApplicable, + SavedMeetingNoteInWorkplacesFolder = milestones.PFACMSavedMeetingNoteInWorkplacesFolder, + SentAnEmailToTheTrust = milestones.PFACMSentAnEmailToTheTrust + }; } } } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs index 90979d30d..fa33a4118 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PreFundingAgreementCheckpointMeeting/UpdatePreFundingAgreementCheckpointMeetingService.cs @@ -14,7 +14,7 @@ public UpdatePreFundingAgreementCheckpointMeetingTaskService(MfspContext context public async Task Update(UpdateTaskServiceParameters parameters) { - var task = parameters.Request.PreFundingAgreementCheckpointMeeting; + var task = parameters.Request.PreFundingAgreementCheckpointMeetingTask; var dbKpi = parameters.Kpi; if (task is null) @@ -31,7 +31,21 @@ public async Task Update(UpdateTaskServiceParameters parameters) _context.Add(db); } - db.FsgPreOpeningMilestonesPfacmBaselineDate = null; + db.FsgPreOpeningMilestonesPfacmActualDateOfCompletion = + parameters.Request.PreFundingAgreementCheckpointMeetingTask.DateOfTheMeeting; + + db.PFACMTypeOfMeetingHeld = parameters.Request.PreFundingAgreementCheckpointMeetingTask.TypeOfMeetingHeld.ToString(); + + db.PFACMCommissionedAnExternalExpertToAttendMeetingsIfApplicable = + parameters.Request.PreFundingAgreementCheckpointMeetingTask.CommissionedExternalExpert; + + db.PFACMSavedMeetingNoteInWorkplacesFolder = parameters.Request.PreFundingAgreementCheckpointMeetingTask + .SavedMeetingNoteInWorkplacesFolder; + + db.PFACMSentAnEmailToTheTrust = parameters.Request.PreFundingAgreementCheckpointMeetingTask + .SentAnEmailToTheTrust; + + db.PFACMWhyAMeetingWasNotHeld = parameters.Request.PreFundingAgreementCheckpointMeetingTask.WhyMeetingWasNotHeld; } } } \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Reports/AllProjectsReportService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Reports/AllProjectsReportService.cs index 7a2980c90..94cdae106 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Reports/AllProjectsReportService.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Reports/AllProjectsReportService.cs @@ -35,6 +35,8 @@ using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PrincipalDesignate; using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.ReadinessToOpenMeeting; using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.ReferenceNumbers; +using Dfe.ManageFreeSchoolProjects.API.UseCases.Project.Tasks.PreFundingAgreementCheckpointMeeting; + namespace Dfe.ManageFreeSchoolProjects.API.UseCases.Reports { @@ -139,6 +141,7 @@ from po in joinedPo.DefaultIfEmpty() RiskAppraisalMeeting = RiskAppraisalMeetingTaskBuilder.Build(riskAppraisalMeetingTask), PDGDashboard = PDGDashboardBuilder.Build(po), KickOffMeeting = KickOffMeetingTaskBuilder.Build(kpi, milestones), + PreFundingAgreementCheckpointMeetingTask = PreFundingAgreementCheckpointMeetingTaskBuilder.Build(milestones), FundingAgreement = FundingAgreementTaskBuilder.Build(milestones), FundingAgreementHealthCheck = FundingAgreementHealthCheckTaskBuilder.Build(milestones), FundingAgreementSubmission = FundingAgreementSubmissionTaskBuilder.Build(milestones), diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Reports/ProjectReportBuilder.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Reports/ProjectReportBuilder.cs index 35cd63895..783aeab8c 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Reports/ProjectReportBuilder.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Reports/ProjectReportBuilder.cs @@ -33,6 +33,7 @@ public static ProjectReport Build(List projectReportSou new() { Task = project.TaskInformation.ReferenceNumbers, TaskName = "Reference numbers", Section = referenceNumbersSection }, new() { Task = project.TaskInformation.PDGDashboard, TaskName = "Project development grant (PDG)", Section = pdgSection }, new() { Task = project.TaskInformation.KickOffMeeting, TaskName = "Kick-off meeting", Section = preOpeningSection }, + new() { Task = project.TaskInformation.PreFundingAgreementCheckpointMeetingTask, TaskName = "Pre-funding agreement checkpoint meeting", Section = preOpeningSection }, new() { Task = project.TaskInformation.FundingAgreement, TaskName = "Funding agreement", Section = preOpeningSection }, new() { Task = project.TaskInformation.FundingAgreementHealthCheck, TaskName = "Funding agreement health check", Section = preOpeningSection }, new() { Task = project.TaskInformation.FundingAgreementSubmission, TaskName = "Funding agreement submission", Section = preOpeningSection }, diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs index 1e0ff5586..b29a42455 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Tasks/GetAllTasksStatusService.cs @@ -87,7 +87,7 @@ private static ProjectByTaskSummaryResponse BuildProjectByTaskSummaryResponse(Kp SafeRetrieveTaskSummary(projectTasks, TaskName.CommissionedExternalExpert.ToString()), MovingToOpen = SafeRetrieveTaskSummary(projectTasks, TaskName.MovingToOpen.ToString()), DueDiligenceChecks = SafeRetrieveTaskSummary(projectTasks, TaskName.DueDiligenceChecks.ToString()), - PreFundingAgreementCheckpointMeeting = SafeRetrieveTaskSummary(projectTasks, "PreFundingAgreementCheckpointMeeting"), + PreFundingAgreementCheckpointMeeting = SafeRetrieveTaskSummary(projectTasks, TaskName.PreFundingAgreementCheckpointMeeting.ToString()), ReadinessToOpenMeeting = SafeRetrieveTaskSummary(projectTasks, TaskName.ReadinessToOpenMeeting.ToString()) }; diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/pre-funding-agreement-checkpoint-meeting.cy.ts b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/pre-funding-agreement-checkpoint-meeting.cy.ts new file mode 100644 index 000000000..6f0a2a529 --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/pre-funding-agreement-checkpoint-meeting.cy.ts @@ -0,0 +1,151 @@ +import { ProjectDetailsRequest } from "cypress/api/domain"; +import projectApi from "cypress/api/projectApi"; +import { RequestBuilder } from "cypress/api/requestBuilder"; +import { Logger } from "cypress/common/logger"; +import summaryPage from "cypress/pages/task-summary-base"; +import taskListPage from "cypress/pages/taskListPage"; +import preFundingAgreementCheckpointMeetingEditPage from "../../../pages/tasks/pre-opening/edit-pre-funding-agreement-checkpoint-meeting-cy"; + +describe("Testing pre-funding agreement checkpoint meeting task", () => { + + let project: ProjectDetailsRequest; + + beforeEach(() => { + cy.login(); + + project = RequestBuilder.createProjectDetailsCentralRoute(); + + projectApi + .post({ + projects: [project], + }) + .then(() => { + cy.visit(`/projects/${project.projectId}/tasks`); + }); + }); + + it("Should be able to set pre-funding agreement checkpoint meeting", () => { + Logger.log("Select pre-funding agreement checkpoint meeting"); + taskListPage.isTaskStatusIsNotStarted("PreFundingAgreementCheckpointMeeting") + .selectPreFundingAgreementCheckpointMeetingFromTaskList(); + + summaryPage + .schoolNameIs(project.schoolName) + .titleIs("Pre-funding agreement checkpoint meeting") + .inOrder() + .summaryShows("Type of meeting held").IsEmpty().HasChangeLink() + .summaryShows("Commissioned an external expert to attend any meetings (if applicable)").IsEmpty().HasChangeLink() + .summaryShows("Saved the meeting note in Workplaces folder").IsEmpty().HasChangeLink() + .summaryShows("Sent an email to the trust highlighting any significant concerns and necessary actions (if applicable)").IsEmpty().HasChangeLink() + .isNotMarkedAsComplete() + + Logger.log("Go back to task list"); + summaryPage.clickBack(); + + taskListPage.selectPreFundingAgreementCheckpointMeetingFromTaskList(); + summaryPage.clickChange(); + + Logger.log("Pre-funding agreement checkpoint meeting can save null values"); + + preFundingAgreementCheckpointMeetingEditPage + .clickContinue() + + Logger.log("Pre-funding agreement checkpoint meeting can be edited"); + + summaryPage.clickChange(); + + preFundingAgreementCheckpointMeetingEditPage + .selectFormalCheckpointMeeting() + .dateOfTheFormalCheckpointMeeting("60", "12", "2050") + .clickContinue() + .errorForFormalCheckpointMeetingDate("Day must be between 1 and 31") + .dateOfTheFormalCheckpointMeeting("30", "12", "1999") + .clickContinue() + .errorForFormalCheckpointMeetingDate("Year must be between 2000 and 2050") + .dateOfTheFormalCheckpointMeeting("5", "5", "2040") + .checkCommissionedExternalExpert() + .checkSavedMeetingNote() + .checkSentAnEmailToTheTrust() + .clickContinue() + + Logger.log("Should update the task status"); + + summaryPage + .schoolNameIs(project.schoolName) + .titleIs("Pre-funding agreement checkpoint meeting") + .inOrder() + .summaryShows("Type of meeting held").HasValue("Formal meeting").HasChangeLink() + .summaryShows("Date of the meeting").HasValue("5 May 2040").HasChangeLink() + .summaryShows("Commissioned an external expert to attend any meetings (if applicable)").HasValue("Yes").HasChangeLink() + .summaryShows("Saved the meeting note in Workplaces folder").HasValue("Yes").HasChangeLink() + .summaryShows("Sent an email to the trust highlighting any significant concerns and necessary actions (if applicable)").HasValue("Yes").HasChangeLink() + .isNotMarkedAsComplete() + .clickConfirmAndContinue() + + taskListPage.isTaskStatusInProgress("PreFundingAgreementCheckpointMeeting"); + + taskListPage.selectPreFundingAgreementCheckpointMeetingFromTaskList(); + + Logger.log("Pre-funding agreement checkpoint meeting can be edited again with No meeting held option"); + + summaryPage.clickChange(); + + preFundingAgreementCheckpointMeetingEditPage + .selectNoMeetingHeld() + .whyMeetingWasNotHeld() + .checkCommissionedExternalExpert() + .uncheckSavedMeetingNote() + .checkSentAnEmailToTheTrust() + .clickContinue() + + Logger.log("Should update the task status"); + + summaryPage + .schoolNameIs(project.schoolName) + .titleIs("Pre-funding agreement checkpoint meeting") + .inOrder() + .summaryShows("Type of meeting held").HasValue("No meeting held").HasChangeLink() + .summaryShows("Why a meeting was not held").HasValue("This is the reason why meeting was not held").HasChangeLink() + .summaryShows("Commissioned an external expert to attend any meetings (if applicable)").HasValue("Yes").HasChangeLink() + .summaryShows("Saved the meeting note in Workplaces folder").HasValue("No").HasChangeLink() + .summaryShows("Sent an email to the trust highlighting any significant concerns and necessary actions (if applicable)").HasValue("Yes").HasChangeLink() + .isNotMarkedAsComplete() + .clickConfirmAndContinue() + + taskListPage.isTaskStatusInProgress("PreFundingAgreementCheckpointMeeting"); + + taskListPage.selectPreFundingAgreementCheckpointMeetingFromTaskList(); + summaryPage.clickChange(); + + Logger.log("Should be able to select Internal review meeting"); + + preFundingAgreementCheckpointMeetingEditPage + .selectInternalReviewMeeting() + .dateOfTheInternalReviewMeeting("60", "12", "2050") + .clickContinue() + .errorForInternalReviewMeetingDate("Day must be between 1 and 31") + .dateOfTheInternalReviewMeeting("30", "12", "1999") + .clickContinue() + .errorForInternalReviewMeetingDate("Year must be between 2000 and 2050") + .dateOfTheInternalReviewMeeting("23", "5", "2030") + .checkCommissionedExternalExpert() + .checkSavedMeetingNote() + .checkSentAnEmailToTheTrust() + .clickContinue() + + summaryPage + .schoolNameIs(project.schoolName) + .titleIs("Pre-funding agreement checkpoint meeting") + .inOrder() + .summaryShows("Type of meeting held").HasValue("Internal review / case conference").HasChangeLink() + .summaryShows("Date of the meeting").HasValue("23 May 2030").HasChangeLink() + .summaryShows("Commissioned an external expert to attend any meetings (if applicable)").HasValue("Yes").HasChangeLink() + .summaryShows("Saved the meeting note in Workplaces folder").HasValue("Yes").HasChangeLink() + .summaryShows("Sent an email to the trust highlighting any significant concerns and necessary actions (if applicable)").HasValue("Yes").HasChangeLink() + .isNotMarkedAsComplete() + .MarkAsComplete() + .clickConfirmAndContinue() + + taskListPage.isTaskStatusIsCompleted("PreFundingAgreementCheckpointMeeting"); + }); +}); diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/taskListPage.ts b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/taskListPage.ts index 1c641f2f1..a27f0793e 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/taskListPage.ts +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/taskListPage.ts @@ -164,6 +164,11 @@ class TaskListPage { return this; } + public selectPreFundingAgreementCheckpointMeetingFromTaskList(): this { + cy.getByTestId("pre-funding-agreement-checkpoint-meeting-task").click() + return this; + } + public selectMovingToOpenFromTaskList(): this { cy.getByTestId("movingToOpen-task").click() return this; diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-pre-funding-agreement-checkpoint-meeting-cy.ts b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-pre-funding-agreement-checkpoint-meeting-cy.ts new file mode 100644 index 000000000..12d236bad --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-pre-funding-agreement-checkpoint-meeting-cy.ts @@ -0,0 +1,104 @@ +class PreFundingAgreementCheckpointMeetingEditPage { + private errorTracking = ""; + + selectFormalCheckpointMeeting(): this { + cy.getById("formal-checkpoint-meeting-option").click() + return this + } + + selectInternalReviewMeeting(): this { + cy.getById("internal-review-meeting-option").click() + return this + } + + selectNoMeetingHeld(): this { + cy.getById("no-meeting-held-option").click() + return this + } + + checkCommissionedExternalExpert(): this { + cy.getById("commissioned-external-expert").check() + return this + } + + checkSavedMeetingNote(): this { + cy.getById("saved-meeting-note-in-workplaces-folder").check() + return this + } + + checkSentAnEmailToTheTrust(): this { + cy.getById("sent-an-email=to-the-trust").check() + return this + } + + whyMeetingWasNotHeld(): this { + cy.getById("why-meeting-not-held").type('This is the reason why meeting was not held') + return this + } + + uncheckCommissionedExternalExpert(): this { + cy.getById("commissioned-external-expert").uncheck() + return this + } + + uncheckSavedMeetingNote(): this { + cy.getById("saved-meeting-note-in-workplaces-folder").uncheck() + return this + } + + uncheckSentAnEmailToTheTrust(): this { + cy.getById("sent-an-email=to-the-trust").uncheck() + return this + } + + dateOfTheFormalCheckpointMeeting(day: string, month: string, year: string): this { + const key = "date-of-the-formal-meeting"; + this.setDate(key, day, month, year); + return this + } + + dateOfTheInternalReviewMeeting(day: string, month: string, year: string): this { + const key = "date-of-the-internal-review-meeting"; + this.setDate(key, day, month, year); + return this + } + + private setDate(key: string, day: string, month: string, year: string) { + cy.get('#' + `${key}-day`).typeFast(day); + cy.get('#' + `${key}-month`).typeFast(month); + cy.get('#' + `${key}-year`).typeFast(year); + } + clickContinue(): this { + cy.getByTestId("continue").click(); + return this; + } + + errorForFormalCheckpointMeetingDate(error: string): this { + cy.getById('date-of-the-formal-meeting-error').contains(error) + return this + } + + errorForInternalReviewMeetingDate(error: string): this { + cy.getById('date-of-the-internal-review-meeting-error').contains(error) + return this + } + + showsError(error: string) { + cy.get(`#${this.errorTracking}-error-link`) + .should("contain.text", error); + + cy.get(`#${this.errorTracking}-error-link`) + .invoke('attr', 'href') + .then((href) => { + cy.get(href as string).should("exist"); + }); + + cy.get(`#${this.errorTracking}-error`) + .should("contain.text", error); + return this; + } + +} + +const preFundingAgreementCheckpointMeetingEditPage = new PreFundingAgreementCheckpointMeetingEditPage(); +export default preFundingAgreementCheckpointMeetingEditPage; diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Entities/Milestones.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Entities/Milestones.cs index 6d7263c23..d2cd293e0 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Entities/Milestones.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Entities/Milestones.cs @@ -175,5 +175,15 @@ public partial class Milestones public bool? ROMSavedTheExternalROMReportInWorkplacesFolder { get; set; } public string ROMWhyAMeetingWasNotHeld { get; set; } + + public string PFACMTypeOfMeetingHeld { get; set; } + + public bool? PFACMCommissionedAnExternalExpertToAttendMeetingsIfApplicable { get; set; } + + public bool? PFACMSavedMeetingNoteInWorkplacesFolder { get; set; } + + public bool? PFACMSentAnEmailToTheTrust { get; set; } + + public string PFACMWhyAMeetingWasNotHeld { get; set; } } } \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240924142359_PreFundingAgreementCheckpointMeeting.Designer.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240924142359_PreFundingAgreementCheckpointMeeting.Designer.cs new file mode 100644 index 000000000..291442ee6 --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240924142359_PreFundingAgreementCheckpointMeeting.Designer.cs @@ -0,0 +1,12846 @@ +// +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("20240924142359_PreFundingAgreementCheckpointMeeting")] + partial class PreFundingAgreementCheckpointMeeting + { + /// + 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("ContractProcurementOption") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Procurement Option"); + + b.Property("ContractProcurementRoute") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Procurement route"); + + b.Property("ContractProcurementStartTenderIssuedActual") + .HasColumnType("date") + .HasColumnName("Contract.Procurement start / Tender Issued (actual)"); + + b.Property("ContractProcurementStartTenderIssuedForecast") + .HasColumnType("date") + .HasColumnName("Contract.Procurement start / Tender Issued (forecast)"); + + b.Property("ContractProportionOfNewBuild") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Proportion of New Build"); + + b.Property("ContractRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.RAG rating"); + + b.Property("ContractReasonForClosedContractStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Reason for Closed contract status"); + + b.Property("ContractSectionalCompletionCertificatesLink") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("Contract.Sectional completion certificates link"); + + b.Property("ContractSiteId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Site ID"); + + b.Property("ContractSiteVisit") + .HasColumnType("date") + .HasColumnName("Contract.Site Visit"); + + b.Property("ContractStartOnSiteActual") + .HasColumnType("date") + .HasColumnName("Contract.Start on site (actual)"); + + b.Property("ContractStartOnSiteForecast") + .HasColumnType("date") + .HasColumnName("Contract.Start on site (forecast)"); + + b.Property("ContractTenderReportApprovedByEfaActual") + .HasColumnType("date") + .HasColumnName("Contract.Tender report approved by EFA (actual)"); + + b.Property("ContractTenderReportApprovedByEfaForecast") + .HasColumnType("date") + .HasColumnName("Contract.Tender report approved by EFA (forecast)"); + + b.Property("ContractTenderReportLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Tender report link"); + + b.Property("ContractTenderReportSubmittedToEfaActual") + .HasColumnType("date") + .HasColumnName("Contract.Tender report submitted to EFA (actual)"); + + b.Property("ContractTenderReportSubmittedToEfaForecast") + .HasColumnType("date") + .HasColumnName("Contract.Tender report submitted to EFA (forecast)"); + + b.Property("ContractTypeOfContractorAppointment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Type of contractor appointment"); + + b.Property("ContractTypeOfContractorAppointmentIfOther") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Type of contractor appointment if other"); + + b.Property("ContractTypeOfWorks") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Type of works"); + + 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("Contracts", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("ContractsHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Fal", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("FundingApprovalLettersFundingApprovalLetterIssuedDate") + .HasColumnType("date") + .HasColumnName("Funding Approval Letters.Funding approval letter issued date"); + + b.Property("FundingApprovalLettersFundingApprovalLetterRecipient") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Funding approval letter recipient"); + + b.Property("FundingApprovalLettersFundingApprovalLetterTotalValue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Funding approval letter Total value"); + + b.Property("FundingApprovalLettersId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.ID"); + + b.Property("FundingApprovalLettersLinkToFundingApprovalLetter") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Link to funding approval letter"); + + b.Property("FundingApprovalLettersTotalConstruction") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Total construction"); + + b.Property("FundingApprovalLettersTotalFfEBudget") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Total FF&E budget"); + + b.Property("FundingApprovalLettersTotalIctBudget") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Total ICT budget"); + + b.Property("FundingApprovalLettersTotalTemporarySiteBudget") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Total temporary site budget"); + + 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("FAL", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("FALHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.FsKim", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("GeneralDetailsAcademyLaestab") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Academy LAESTAB"); + + b.Property("GeneralDetailsAcademyName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Academy Name"); + + b.Property("GeneralDetailsAcademyStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Academy Status"); + + b.Property("GeneralDetailsAcademyUkprn") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("General Details.Academy UKPRN"); + + b.Property("GeneralDetailsAcademyUrn") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Academy URN"); + + b.Property("GeneralDetailsLaestab") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.LAESTAB"); + + b.Property("GeneralDetailsLocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Local Authority"); + + b.Property("GeneralDetailsPhase") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Phase"); + + b.Property("GeneralDetailsProjectName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Project Name"); + + b.Property("GeneralDetailsProjectStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Project status"); + + b.Property("GeneralDetailsReBrokeredDate") + .HasColumnType("date") + .HasColumnName("General Details.Re-brokered date"); + + b.Property("GeneralDetailsRouteOfProject") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Route of Project"); + + b.Property("GeneralDetailsRscRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.RSC Region"); + + b.Property("GeneralDetailsUrn") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.URN"); + + 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("ReBrokerageStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Re-brokerage status"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("FS_KIM", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("FS_KIMHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Kai", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("ApplicationDetailsAnyOtherFreedomsTheSchoolIntendsToUse") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Any other freedoms the school intends to use"); + + b.Property("ApplicationDetailsAreAnyMembersOfTheGroupAlsoInvolvedInOtherApplicationsToOpenFreeSchoolsInThisRound") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Are any members of the group also involved in other applications to open free schools in this round?"); + + b.Property("ApplicationDetailsAreThereAnyConnectionsWithOtherOrganisationsWithinTheUkOrOverseas") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Are there any connections with other organisations within the UK or overseas?"); + + b.Property("ApplicationDetailsAreThereAnyConnectionsWithReligiousOrganisationsOrInstitutions") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Are there any connections with religious organisations or institutions?"); + + b.Property("ApplicationDetailsCompanyAddress") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Company address"); + + b.Property("ApplicationDetailsCompanyName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Company name"); + + b.Property("ApplicationDetailsCompanyRegistrationNumber") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Company registration number"); + + b.Property("ApplicationDetailsDateLaDecisionExpected") + .HasColumnType("date") + .HasColumnName("Application Details.Date LA decision expected"); + + b.Property("ApplicationDetailsDateProposalsExpected") + .HasColumnType("date") + .HasColumnName("Application Details.Date proposals expected"); + + b.Property("ApplicationDetailsDateSpecificationIssuedByLa") + .HasColumnType("date") + .HasColumnName("Application Details.Date specification issued by LA"); + + b.Property("ApplicationDetailsDateWhenCompanyWasIncorporated") + .HasColumnType("date") + .HasColumnName("Application Details.Date when company was incorporated"); + + b.Property("ApplicationDetailsDetailsOfAnyConnectionsWithReligiousOrganisationsOrInstitutions") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Details of any connections with religious organisations or institutions"); + + b.Property("ApplicationDetailsDetailsOfConnectionsWithOrganisationsWithinTheUkOrOverseas") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Details of connections with organisations within the UK or overseas"); + + b.Property("ApplicationDetailsDidTheProposerGroupHaveHelpAndSupportFromAnotherCompanyOrOrganisation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Did the proposer group have help and support from another company or organisation?"); + + b.Property("ApplicationDetailsDidTheProposerGroupSeekHelpAndSupportFromTheNewSchoolsNetwork") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Did the proposer group seek help and support from the New Schools Network?"); + + b.Property("ApplicationDetailsDoesTheGroupRunASchoolInTheLocalArea") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Does the group run a school in the local area?"); + + b.Property("ApplicationDetailsDoesTheGroupRunASchoolOfTheSamePhaseAndType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Does the group run a school of the same phase and type?"); + + b.Property("ApplicationDetailsForIndependentSchoolsLinkToTheMostRecentInspectionReport") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.For independent schools, link to the most recent inspection report"); + + b.Property("ApplicationDetailsForIndependentSchoolsNameRatingAndUniqueReferenceNumber") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.For independent schools, name, rating and unique reference number"); + + b.Property("ApplicationDetailsHasTheGroupAppliedBeforeToOpenThisSchoolWhetherUnderTheCurrentNameOrAnotherName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Has the group applied before to open this school, whether under the current name or another name?"); + + b.Property("ApplicationDetailsHasThePrincipalDesignateBeenIdentified") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Has the principal designate been identified?"); + + b.Property("ApplicationDetailsHasTheProposerGroupEstablishedATrustInAccordanceWithTheDfEModelArticlesOfAssociation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Has the proposer group established a trust in accordance with the DfE model articles of association?"); + + b.Property("ApplicationDetailsHowDoesTheProposerDescribeTheirGroup") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.How does the proposer describe their group?"); + + b.Property("ApplicationDetailsHowManyApplicationsIsTheProposerGroupSeekingToOpenInThisApplicationRound") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.How many applications is the proposer group seeking to open in this application round?"); + + b.Property("ApplicationDetailsIfANurseryIsProposedPleaseStatePupilCapacity") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.If a nursery is proposed, please state pupil capacity"); + + b.Property("ApplicationDetailsIfANurseryIsProposedPleaseStateTheAgeRange") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.If a nursery is proposed, please state the age range"); + + b.Property("ApplicationDetailsIfANurseryIsProposedStateNurseryPupilCapacityAndAgeRange") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.If a nursery is proposed, state nursery pupil capacity and age range"); + + b.Property("ApplicationDetailsIfASixthFormIsProposedPleaseStateTheSixthFormPupilCapacity") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.If a sixth form is proposed, please state the sixth form pupil capacity"); + + b.Property("ApplicationDetailsIfTheTrustRunsAcademiesFreeSchoolsHasAnythingChangedInTheTrustWithinTheLastMonth") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.If the trust runs academies/free schools, has anything changed in the trust within the last month?"); + + b.Property("ApplicationDetailsIfYesAndTheNameOfTheSchoolWasDifferentStateWhatTheOriginalNameWas") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.If yes and the name of the school was different, state what the original name was:"); + + b.Property("ApplicationDetailsIfYesStateTheNamesSOfTheOrganisationsSAndDescribeTheirRole") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.If yes, state the names (s) of the organisations(s) and describe their role"); + + b.Property("ApplicationDetailsIfYesWhenDidTheGroupLastApply") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.If yes, when did the group last apply?"); + + b.Property("ApplicationDetailsInWhichLocalAuthorityDistrictIsYourPreferredLocation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.In which local authority district is your preferred location?"); + + b.Property("ApplicationDetailsIsAnyoneConnectedWithThisApplicationRelatedInAnyWay") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Is anyone connected with this application related in any way?"); + + b.Property("ApplicationDetailsIsTheProposalADirectResultOfARequestFromGroups") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Is the proposal a direct result of a request from groups"); + + b.Property("ApplicationDetailsIsTheProposerGroupPlanningToContractTheManagementOfTheSchoolToAnotherOrganisation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Is the proposer group planning to contract the management of the school to another organisation?"); + + b.Property("ApplicationDetailsLaClosingDateForReceiptOfProposals") + .HasColumnType("date") + .HasColumnName("Application Details.LA closing date for receipt of proposals"); + + b.Property("ApplicationDetailsLinkToPreRegistration") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Link to pre-registration"); + + b.Property("ApplicationDetailsLinkToSpecification") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Link to specification"); + + b.Property("ApplicationDetailsMaximumCapacityOfTheFreeSchoolIncluding1619SixthFormButNotIncludingNursery") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Maximum capacity of the free school (including 16-19/sixth form, but not including nursery)"); + + b.Property("ApplicationDetailsNamesAndUniqueReferenceNumberSForEachOfTheTrustSOpenSchools") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Names and unique reference number(s) for each of the trust's open schools"); + + b.Property("ApplicationDetailsNumberOfCompanyMembers") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Number of company members"); + + b.Property("ApplicationDetailsNumberOfTrustees") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Number of trustees"); + + b.Property("ApplicationDetailsProposalsReceived") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Proposals received"); + + b.Property("ApplicationDetailsProposedChairOfTrustees") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Proposed chair of trustees"); + + b.Property("ApplicationDetailsStateYearTheSchoolWillHaveTheOpeningAndPanNumber") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.State year the school will have the opening and PAN number"); + + b.Property("ApplicationDetailsTimeDedicatedToFaithStudiesHoursPerWeek") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Time dedicated to faith studies (hours per week)"); + + b.Property("ApplicationDetailsTimeDedicatedToMinorityLanguageStudyHoursPerWeek") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Time dedicated to minority language study (hours per week)"); + + b.Property("ApplicationDetailsWillTheSchoolAdoptNonStandardTermsAndConditionsForTeachers") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Will the school adopt non-standard terms and conditions for teachers?"); + + b.Property("ApplicationDetailsWillTheSchoolAdoptTheNationalCurriculum") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Will the school adopt the national curriculum?"); + + b.Property("ApplicationDetailsWillTheSchoolEmployTeachersWithoutQualifiedTeacherStatusQts") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Will the school employ teachers without qualified teacher status (QTS)?"); + + b.Property("ApplicationDetailsWillTheSchoolHaveADistinctivePedagogyOrEducationalPhilosophyForExampleSteinerOrMontessori") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Will the school have a distinctive pedagogy or educational philosophy, for example Steiner or Montessori?"); + + b.Property("ApplicationDetailsWillTheSchoolOperateANonStandardSchoolDay") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Will the school operate a non-standard school day?"); + + b.Property("ApplicationDetailsWillTheSchoolOperateANonStandardSchoolYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Will the school operate a non-standard school year?"); + + b.Property("AssessmentCriteriaAreYouRecommendingApprovalOfThe1619Element") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Criteria.Are you recommending approval of the 16-19 element?"); + + b.Property("AssessmentCriteriaConditions") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Assessment Criteria.Conditions"); + + b.Property("AssessmentCriteriaFinalRecommendation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Criteria.Final recommendation"); + + b.Property("AssessmentCriteriaFinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Criteria.Final Score"); + + b.Property("AssessmentCriteriaNurseryRecommendation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Criteria.Nursery recommendation"); + + b.Property("AssessmentCriteriaNurseryRecommendationCommentary") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Assessment Criteria.Nursery recommendation commentary"); + + b.Property("AssessmentCriteriaRecommendationCommentary") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Assessment Criteria.Recommendation commentary"); + + b.Property("AssessmentDetailsDateOfLaFsPresumptionAssessment") + .HasColumnType("date") + .HasColumnName("Assessment Details.Date of LA FS presumption assessment"); + + b.Property("AssessmentDetailsDateOfRscHtbPresumptionDecisionMeeting") + .HasColumnType("date") + .HasColumnName("Assessment Details.Date of RSC/HTB presumption decision meeting"); + + b.Property("AssessmentDetailsDfERepresentationOnFsPresumptionPanel") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.DfE representation on FS presumption panel?"); + + b.Property("AssessmentDetailsEqualitiesImpactAssessment") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Assessment Details.Equalities impact assessment"); + + b.Property("AssessmentDetailsInterviewAttendees") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Assessment Details.Interview Attendees"); + + b.Property("AssessmentDetailsInterviewPanel") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Assessment Details.Interview panel"); + + b.Property("AssessmentDetailsMinisterialPostInterviewDecision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Ministerial post-interview decision"); + + b.Property("AssessmentDetailsMinisterialPostPaperDecision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Ministerial post-paper decision"); + + b.Property("AssessmentDetailsNameOfDfEIndividualSOnFsPresumptionAssessmentPanel") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Name of DfE individual(s) on FS presumption assessment panel"); + + b.Property("AssessmentDetailsPostInterviewRecommendationToTheMinister") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Post-interview recommendation to the Minister"); + + b.Property("AssessmentDetailsPostPaperRecommendationToTheMinister") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Post-paper recommendation to the Minister"); + + b.Property("AssessmentDetailsRscPaperBasedRecommendation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.RSC paper-based recommendation"); + + b.Property("AssessmentDetailsRscPostInterviewRecommendation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.RSC post-interview recommendation"); + + b.Property("AssessmentDetailsWasSuccessfulFsPresumptionSponsorRecommendedByTheLa") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Was successful FS presumption sponsor recommended by the LA?"); + + 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("SectionBNeedB11619ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1(16-19) Application assessment comments"); + + b.Property("SectionBNeedB11619ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1(16-19) Application assessment score"); + + b.Property("SectionBNeedB11619CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B1(16-19) Characteristics (Old)"); + + b.Property("SectionBNeedB11619CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B1(16-19) Characteristics (Wave 14)"); + + b.Property("SectionBNeedB11619FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1(16-19) Final score"); + + b.Property("SectionBNeedB11619Indicators") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1(16-19) Indicators"); + + b.Property("SectionBNeedB11619InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1(16-19) Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionBNeedB11619IsTheLocalAuthoritySupportiveOfTheSchool") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1(16-19) Is the Local Authority supportive of the school?"); + + b.Property("SectionBNeedB11619ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1(16-19) Score after interview"); + + b.Property("SectionBNeedB11619SiftAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1(16-19) Sift assessment comments"); + + b.Property("SectionBNeedB11619SiftAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1(16-19) Sift assessment score"); + + b.Property("SectionBNeedB11ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.1 Application assessment comments"); + + b.Property("SectionBNeedB11ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.1 Application assessment score"); + + b.Property("SectionBNeedB11CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B1.1 Characteristics (Old)"); + + b.Property("SectionBNeedB11CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B1.1 Characteristics (Wave 14)"); + + b.Property("SectionBNeedB11FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.1 Final score"); + + b.Property("SectionBNeedB11IndicatorsContributory") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.1 Indicators - Contributory"); + + b.Property("SectionBNeedB11IndicatorsCore") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.1 Indicators - Core"); + + b.Property("SectionBNeedB11InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.1 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionBNeedB11IsTheLocalAuthoritySupportiveOfTheSchool") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.1 Is the Local Authority supportive of the school?"); + + b.Property("SectionBNeedB11ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.1 Score after interview"); + + b.Property("SectionBNeedB11SiftAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.1 Sift assessment comments"); + + b.Property("SectionBNeedB11SiftAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.1 Sift assessment score"); + + b.Property("SectionBNeedB12ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.2 Application assessment comments"); + + b.Property("SectionBNeedB12ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.2 Application assessment score"); + + b.Property("SectionBNeedB12FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.2 Final score"); + + b.Property("SectionBNeedB12InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.2 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionBNeedB12ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.2 Score after interview"); + + b.Property("SectionBNeedB12SiftAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.2 Sift assessment comments"); + + b.Property("SectionBNeedB12SiftAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.2 Sift assessment score"); + + b.Property("SectionBNeedB21619ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2(16-19) Application assessment comments"); + + b.Property("SectionBNeedB21619ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2(16-19) Application assessment score"); + + b.Property("SectionBNeedB21619CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B2(16-19) Characteristics (Old)"); + + b.Property("SectionBNeedB21619CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B2(16-19) Characteristics (Wave 14)"); + + b.Property("SectionBNeedB21619FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2(16-19) Final score"); + + b.Property("SectionBNeedB21619IndicatorsContributory") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2(16-19) Indicators – Contributory"); + + b.Property("SectionBNeedB21619IndicatorsCore") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2(16-19) Indicators – Core"); + + b.Property("SectionBNeedB21619InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2(16-19) Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionBNeedB21619ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2(16-19) Score after interview"); + + b.Property("SectionBNeedB21619SiftAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2(16-19) Sift assessment comments"); + + b.Property("SectionBNeedB21619SiftAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2(16-19) Sift assessment score"); + + b.Property("SectionBNeedB2ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2 Application assessment comments"); + + b.Property("SectionBNeedB2ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2 Application assessment score"); + + b.Property("SectionBNeedB2CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B2 Characteristics (Old)"); + + b.Property("SectionBNeedB2CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B2 Characteristics (Wave 14)"); + + b.Property("SectionBNeedB2FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2 Final score"); + + b.Property("SectionBNeedB2IndicatorsContributory") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2 Indicators – Contributory"); + + b.Property("SectionBNeedB2IndicatorsCore") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2 Indicators - Core"); + + b.Property("SectionBNeedB2InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionBNeedB2ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2 Score after interview"); + + b.Property("SectionBNeedB2SiftAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2 Sift assessment comments"); + + b.Property("SectionBNeedB2SiftAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2 Sift assessment score"); + + b.Property("SectionBNeedBNAfterInterviewNurseryNeedSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B(N) After interview nursery need summary comments"); + + b.Property("SectionBNeedBNEngagementWithTheLocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B(N) Engagement with the local authority"); + + b.Property("SectionBNeedBNNurseryNeedInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B(N) Nursery need interview prompts"); + + b.Property("SectionBNeedBNNurseryNeedSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B(N) Nursery need summary comments"); + + b.Property("SectionBNeedFinalTotalPercentageScoreForSectionB") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.Final total percentage score for Section B"); + + b.Property("SectionBNeedNeedApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.Need application assessment score"); + + b.Property("SectionBNeedNeedCommentaryAndInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.Need commentary and interview prompts"); + + b.Property("SectionBNeedNeedSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.Need summary comments"); + + b.Property("SectionBNeedPostcode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.Postcode"); + + b.Property("SectionBNeedWillWeContinueToAssess1619") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.Will we continue to assess 16-19?"); + + b.Property("SectionCVisionC1ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.C1 Application assessment comments"); + + b.Property("SectionCVisionC1ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.C1 Application assessment score"); + + b.Property("SectionCVisionC1CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section C - Vision.C1 Characteristics (Old)"); + + b.Property("SectionCVisionC1CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section C - Vision.C1 Characteristics (Wave 14)"); + + b.Property("SectionCVisionC1FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.C1 Final score"); + + b.Property("SectionCVisionC1InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.C1 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionCVisionC1ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.C1 Score after interview"); + + b.Property("SectionCVisionCNAfterInterviewSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.C(N) After interview summary comments"); + + b.Property("SectionCVisionCNAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.C(N) Assessment"); + + b.Property("SectionCVisionCNAssessmentAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.C(N) Assessment after interview"); + + b.Property("SectionCVisionCNAssessmentSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.C(N) Assessment summary comments"); + + b.Property("SectionCVisionCNNurseryVisionInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.C(N) Nursery vision interview prompts"); + + b.Property("SectionCVisionFinalTotalPercentageScoreForSectionC") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.Final total percentage score for section C"); + + b.Property("SectionCVisionVisionApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.Vision application assessment score"); + + b.Property("SectionCVisionVisionInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.Vision interview prompts"); + + b.Property("SectionCVisionVisionSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.Vision summary comments"); + + b.Property("SectionDEngagementCharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section D - Engagement.Characteristics (Old)"); + + b.Property("SectionDEngagementCharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section D - Engagement.Characteristics (Wave 14)"); + + b.Property("SectionDEngagementD1ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section D - Engagement.D1 Application assessment comments"); + + b.Property("SectionDEngagementD1ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section D - Engagement.D1 Application assessment score"); + + b.Property("SectionDEngagementD1FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section D - Engagement.D1 Final score"); + + b.Property("SectionDEngagementD1InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section D - Engagement.D1 Interview comments - evidence that led to a score change (if applicable)"); + + b.Property("SectionDEngagementD1ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section D - Engagement.D1 Score after interview"); + + b.Property("SectionDEngagementEngagementWithParentsAndTheLocalCommunityApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section D - Engagement.Engagement with parents and the local community application assessment score"); + + b.Property("SectionDEngagementEngagementWithParentsAndTheLocalCommunityInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section D - Engagement.Engagement with parents and the local community interview prompts"); + + b.Property("SectionDEngagementEngagementWithParentsAndTheLocalCommunitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section D - Engagement.Engagement with parents and the local community summary comments"); + + b.Property("SectionDEngagementFinalTotalPercentageScoreForSectionD") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section D - Engagement.Final total percentage score for section D"); + + b.Property("SectionEEducationPlanE1ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E1 Application assessment comments"); + + b.Property("SectionEEducationPlanE1ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E1 Application assessment score"); + + b.Property("SectionEEducationPlanE1CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E1 Characteristics (Old)"); + + b.Property("SectionEEducationPlanE1CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E1 Characteristics (Wave 14)"); + + b.Property("SectionEEducationPlanE1FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E1 Final score"); + + b.Property("SectionEEducationPlanE1InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E1 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionEEducationPlanE1ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E1 Score after interview"); + + b.Property("SectionEEducationPlanE2ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E2 Application assessment comments"); + + b.Property("SectionEEducationPlanE2ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E2 Application assessment score"); + + b.Property("SectionEEducationPlanE2CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E2 Characteristics (Old)"); + + b.Property("SectionEEducationPlanE2CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E2 Characteristics (Wave 14)"); + + b.Property("SectionEEducationPlanE2FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E2 Final score"); + + b.Property("SectionEEducationPlanE2InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E2 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionEEducationPlanE2ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E2 Score after interview"); + + b.Property("SectionEEducationPlanE3ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E3 Application assessment comments"); + + b.Property("SectionEEducationPlanE3ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E3 Application assessment score"); + + b.Property("SectionEEducationPlanE3CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E3 Characteristics (Old)"); + + b.Property("SectionEEducationPlanE3CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E3 Characteristics (Wave 14)"); + + b.Property("SectionEEducationPlanE3FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E3 Final score"); + + b.Property("SectionEEducationPlanE3InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E3 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionEEducationPlanE3ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E3 Score after interview"); + + b.Property("SectionEEducationPlanE4ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E4 Application assessment comments"); + + b.Property("SectionEEducationPlanE4ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E4 Application assessment score"); + + b.Property("SectionEEducationPlanE4CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E4 Characteristics (Old)"); + + b.Property("SectionEEducationPlanE4CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E4 Characteristics (Wave 14)"); + + b.Property("SectionEEducationPlanE4FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E4 Final score"); + + b.Property("SectionEEducationPlanE4InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E4 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionEEducationPlanE4ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E4 Score after interview"); + + b.Property("SectionEEducationPlanENAfterInterviewModelAndViabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E(N) After interview model and viability summary comments"); + + b.Property("SectionEEducationPlanENModelType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E(N) Model type"); + + b.Property("SectionEEducationPlanENNurseryModelAndViabilityInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E(N) Nursery model and viability interview prompts"); + + b.Property("SectionEEducationPlanENNurseryModelAndViabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E(N) Nursery model and viability summary comments"); + + b.Property("SectionEEducationPlanEducationAdviserAssessment") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.Education adviser assessment"); + + b.Property("SectionEEducationPlanEducationPlanApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.Education plan application assessment score"); + + b.Property("SectionEEducationPlanEducationPlanInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.Education plan interview prompts"); + + b.Property("SectionEEducationPlanEducationPlanSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.Education plan summary comments"); + + b.Property("SectionEEducationPlanFinalTotalPercentageScoreForSectionE") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.Final total percentage score for section E"); + + b.Property("SectionEEducationPlanIoDResidentialRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.IoD Residential RAG"); + + b.Property("SectionEEducationPlanIoDSchoolBasedRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.IoD School Based RAG"); + + b.Property("SectionEEducationPlanRagCommentaryBox") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.RAG commentary box"); + + b.Property("SectionFCapacityAndCapabilityCapacityAndCapabilityApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.Capacity and capability application assessment score"); + + b.Property("SectionFCapacityAndCapabilityCapacityAndCapabilityInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.Capacity and capability interview prompts"); + + b.Property("SectionFCapacityAndCapabilityCapacityAndCapabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.Capacity and capability summary comments"); + + b.Property("SectionFCapacityAndCapabilityDoesTheProposerGroupHaveAnyOpenSchools") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.Does the proposer group have any open schools?"); + + b.Property("SectionFCapacityAndCapabilityDoesTheProposerGroupRunAnyOpenStateFundedSchools") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.Does the proposer group run any open state funded schools?"); + + b.Property("SectionFCapacityAndCapabilityExistingProviderSummary") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.Existing provider summary"); + + b.Property("SectionFCapacityAndCapabilityF1ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F1 Application assessment comments"); + + b.Property("SectionFCapacityAndCapabilityF1ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F1 Application assessment score"); + + b.Property("SectionFCapacityAndCapabilityF1CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F1 Characteristics (Old)"); + + b.Property("SectionFCapacityAndCapabilityF1CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F1 Characteristics (Wave 14)"); + + b.Property("SectionFCapacityAndCapabilityF1FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F1 Final score"); + + b.Property("SectionFCapacityAndCapabilityF1InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F1 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionFCapacityAndCapabilityF1ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F1 Score after interview"); + + b.Property("SectionFCapacityAndCapabilityF2ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F2 Application assessment comments"); + + b.Property("SectionFCapacityAndCapabilityF2ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F2 Application assessment score"); + + b.Property("SectionFCapacityAndCapabilityF2CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F2 Characteristics (Old)"); + + b.Property("SectionFCapacityAndCapabilityF2CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F2 Characteristics (Wave 14)"); + + b.Property("SectionFCapacityAndCapabilityF2FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F2 Final score"); + + b.Property("SectionFCapacityAndCapabilityF2InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F2 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionFCapacityAndCapabilityF2ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F2 Score after interview"); + + b.Property("SectionFCapacityAndCapabilityF3ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F3 Application assessment comments"); + + b.Property("SectionFCapacityAndCapabilityF3ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F3 Application assessment score"); + + b.Property("SectionFCapacityAndCapabilityF3CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F3 Characteristics (Old)"); + + b.Property("SectionFCapacityAndCapabilityF3CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F3 Characteristics (Wave 14)"); + + b.Property("SectionFCapacityAndCapabilityF3FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F3 Final score"); + + b.Property("SectionFCapacityAndCapabilityF3InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F3 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionFCapacityAndCapabilityF3ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F3 Score after interview"); + + b.Property("SectionFCapacityAndCapabilityFNAfterInterviewCapacityAndCapabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F(N) After interview capacity and capability summary comments"); + + b.Property("SectionFCapacityAndCapabilityFNNurseryCapacityAndCapabilityInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F(N) Nursery capacity and capability interview prompts"); + + b.Property("SectionFCapacityAndCapabilityFNNurseryCapacityAndCapabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F(N) Nursery capacity and capability summary comments"); + + b.Property("SectionFCapacityAndCapabilityFNTrustSNurseryExperience") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F(N) Trust's nursery experience"); + + b.Property("SectionFCapacityAndCapabilityFinalTotalPercentageScoreForSectionF") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.Final total percentage score for section F"); + + b.Property("SectionFCapacityAndCapabilityMatReview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.MAT Review"); + + b.Property("SectionFCapacityAndCapabilityMembersNamesExperienceAndExpertise") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.Members' names, experience and expertise"); + + b.Property("SectionFCapacityAndCapabilitySingleList") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.Single list"); + + b.Property("SectionFCapacityAndCapabilityTrusteesNamesExperienceAndExpertise") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.Trustees' names, experience and expertise"); + + b.Property("SectionGFinancialViabilityFinalTotalPercentageScoreForSectionG") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.Final total percentage score for section G"); + + b.Property("SectionGFinancialViabilityFinancialViabilityApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.Financial viability application assessment score"); + + b.Property("SectionGFinancialViabilityFinancialViabilityInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.Financial viability interview prompts"); + + b.Property("SectionGFinancialViabilityFinancialViabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.Financial viability summary comments"); + + b.Property("SectionGFinancialViabilityG1ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.G1 Application assessment comments"); + + b.Property("SectionGFinancialViabilityG1ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G1 Application assessment score"); + + b.Property("SectionGFinancialViabilityG1CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section G - Financial viability.G1 Characteristics (Old)"); + + b.Property("SectionGFinancialViabilityG1CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section G - Financial viability.G1 Characteristics (Wave 14)"); + + b.Property("SectionGFinancialViabilityG1FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G1 Final score"); + + b.Property("SectionGFinancialViabilityG1InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.G1 Interview comments - evidence that led to a score change (if applicable)"); + + b.Property("SectionGFinancialViabilityG1ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G1 Score after interview"); + + b.Property("SectionGFinancialViabilityG2ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.G2 Application assessment comments"); + + b.Property("SectionGFinancialViabilityG2ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G2 Application assessment score"); + + b.Property("SectionGFinancialViabilityG2CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section G - Financial viability.G2 Characteristics (Old)"); + + b.Property("SectionGFinancialViabilityG2CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section G - Financial viability.G2 Characteristics (Wave 14)"); + + b.Property("SectionGFinancialViabilityG2FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G2 Final score"); + + b.Property("SectionGFinancialViabilityG2InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.G2 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionGFinancialViabilityG2ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G2 Score after interview"); + + b.Property("SectionHTheProposedSiteAddress") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Address"); + + b.Property("SectionHTheProposedSiteCostTier") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Cost Tier"); + + b.Property("SectionHTheProposedSiteHasASiteBeenIdentified") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Has a site been identified?"); + + b.Property("SectionHTheProposedSiteHighCostOutlier") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.High cost outlier"); + + b.Property("SectionHTheProposedSiteHighCostOutlierCommentaryBox") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.High cost outlier commentary box"); + + b.Property("SectionHTheProposedSitePlanningPermissionCharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section H - The proposed site.Planning permission characteristics (Old)"); + + b.Property("SectionHTheProposedSitePlanningPermissionCharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section H - The proposed site.Planning permission characteristics (Wave 14)"); + + b.Property("SectionHTheProposedSitePlanningRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Planning RAG"); + + b.Property("SectionHTheProposedSitePlanningRagComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Planning RAG comments"); + + b.Property("SectionHTheProposedSitePlanningRagConfidence") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Planning RAG confidence"); + + b.Property("SectionHTheProposedSitePostcode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Postcode"); + + b.Property("SectionHTheProposedSitePropertyRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Property RAG"); + + b.Property("SectionHTheProposedSitePropertyRagComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Property RAG comments"); + + b.Property("SectionHTheProposedSitePropertyRagConfidence") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Property RAG confidence"); + + b.Property("SectionHTheProposedSiteProposedSiteInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Proposed site interview prompts"); + + b.Property("SectionHTheProposedSiteSiteAvailabilityComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Site availability comments"); + + b.Property("SectionHTheProposedSiteSiteAvailabilityConfidence") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Site availability confidence"); + + b.Property("SectionHTheProposedSiteSiteAvailabilityRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Site availability RAG"); + + b.Property("SectionHTheProposedSiteSiteSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Site summary comments"); + + b.Property("SectionHTheProposedSiteTenureCharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section H - The proposed site.Tenure characteristics (Old)"); + + b.Property("SectionHTheProposedSiteTenureCharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section H - The proposed site.Tenure characteristics (Wave 14)"); + + b.Property("SectionIDueDiligenceComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section I - Due Diligence.Comments"); + + b.Property("SectionIDueDiligenceDateOfChecks") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Date of checks"); + + b.Property("SectionIDueDiligenceDidDdcedReportAnythingOfConcernOrInterest") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Did DDCED report anything of concern or interest?"); + + b.Property("SectionIDueDiligenceHasFsdEngagedWithOtherAreasOfTheDepartmentArddOtherUnitsWithinFsd") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section I - Due Diligence.Has FSD engaged with other areas of the department? (ARDD, other units within FSD)"); + + b.Property("SectionIDueDiligenceHaveDueDiligenceChecksBeenUndertakenByFsd") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Have due diligence checks been undertaken by FSD?"); + + b.Property("SectionIDueDiligenceHavePotentialRisksBeenEscalatedAndActionsIdentified") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Have potential risks been escalated and actions identified?"); + + b.Property("SectionIDueDiligenceIsADdcedRepresentativeRequiredToSitOnTheInterviewPanel") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Is a DDCED representative required to sit on the interview panel?"); + + b.Property("SectionIDueDiligenceIsThereAnythingOfConcernOrInterest") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Is there anything of concern or interest?"); + + b.Property("SectionIDueDiligenceLinkToDueDiligenceChecklist") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Link to due diligence checklist"); + + b.Property("SectionIDueDiligencePleaseProvideDetailsAndSuggestedActionsRemedies") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section I - Due Diligence.Please provide details and suggested actions/remedies"); + + b.Property("SectionIDueDiligencePleaseProvideDetailsAndSuggestedActionsRemediesDdced") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section I - Due Diligence.Please provide details and suggested actions/remedies (DDCED)"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("KAI", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("KAIHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Kpi", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("AprilIndicator") + .IsRequired() + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("April Indicator"); + + b.Property("BasicNeedAdditionalEvidenceOfNeed") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Basic Need.Additional evidence of need"); + + b.Property("BasicNeedAdditionalEvidenceOfNeedSecondary") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("Basic Need.Additional evidence of need - secondary"); + + b.Property("BasicNeedAdditionalEvidenceOfNeedSecondaryAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Additional evidence of need - secondary (assessment)"); + + b.Property("BasicNeedKp02PlanningAreaCode") + .HasMaxLength(8) + .IsUnicode(false) + .HasColumnType("varchar(8)") + .HasColumnName("Basic Need.KP02_Planning area code"); + + b.Property("BasicNeedKp04PlanningAreaCode") + .HasMaxLength(8) + .IsUnicode(false) + .HasColumnType("varchar(8)") + .HasColumnName("Basic Need.KP04_Planning area code"); + + b.Property("BasicNeedPercentageShortfallInLocalAreaAllYearGroupsInScapYear4") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Percentage shortfall in local area (all year groups in SCAP year +4)"); + + b.Property("BasicNeedPercentageShortfallInLocalAreaAllYearGroupsInScapYear4Secondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Percentage shortfall in local area (all year groups in SCAP year +4) - secondary"); + + b.Property("BasicNeedPercentageShortfallInLocalAreaYearOfOpeningAllYearGroups") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Percentage shortfall in local area — year of opening (all year groups)"); + + b.Property("BasicNeedPercentageShortfallInLocalAreaYearOfOpeningAllYearGroupsSecondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Percentage shortfall in local area - year of opening (all year groups) - secondary"); + + b.Property("BasicNeedPlanningAreaCodeSecondary") + .HasMaxLength(8) + .IsUnicode(false) + .HasColumnType("varchar(8)") + .HasColumnName("Basic Need.Planning area code - secondary"); + + b.Property("BasicNeedPlanningAreaCodeSecondaryAssessment") + .HasMaxLength(8) + .IsUnicode(false) + .HasColumnType("varchar(8)") + .HasColumnName("Basic Need.Planning area code - secondary (assessment)"); + + b.Property("BasicNeedSchoolInLocalAreaWithAShortfallOfPlacesInLocalArea") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in local area with a shortfall of places in local area"); + + b.Property("BasicNeedSchoolInLocalAreaWithAShortfallOfPlacesInLocalAreaSecondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in local area with a shortfall of places in local area - secondary"); + + b.Property("BasicNeedSchoolInLocalAreaWithAShortfallOfPlacesSecondaryAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in local area with a shortfall of places - secondary (assessment)"); + + b.Property("BasicNeedSchoolInPlanningAreaOfBasicNeed") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in planning area of basic need"); + + b.Property("BasicNeedSchoolInPlanningAreaOfBasicNeedAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in planning area of basic need (assessment)"); + + b.Property("BasicNeedSchoolInPlanningAreaOfBasicNeedSecondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in planning area of basic need - secondary"); + + b.Property("BasicNeedSchoolInPlanningAreaOfBasicNeedSecondaryAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in planning area of basic need - secondary (assessment)"); + + b.Property("BasicNeedShortfallOfPlacesInLocalAreaAllYearGroupsInScapYear4") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Basic Need.Shortfall of places in local area (all year groups in SCAP year +4)"); + + b.Property("BasicNeedShortfallOfPlacesInLocalAreaAllYearGroupsInScapYear4Secondary") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Basic Need.Shortfall of places in local area (all year groups in SCAP year +4) - secondary"); + + b.Property("BasicNeedShortfallOfPlacesInLocalAreaYearOfOpeningAllYearGroups") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Basic Need.Shortfall of places in local area — year of opening (all year groups)"); + + b.Property("BasicNeedShortfallOfPlacesInLocalAreaYearOfOpeningAllYearGroupsSecondary") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Basic Need.Shortfall of places in local area - year of opening (all year groups) - secondary"); + + b.Property("BasicNeedYearOfProjectedNeedSecondaryAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Year of projected need - secondary (assessment)"); + + b.Property("BasicNeedYearOfScapSurvey") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Year of SCAP survey"); + + b.Property("BasicNeedYearOfScapSurveySecondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Year of SCAP survey - secondary"); + + b.Property("CommunicationsArchivedLinesToTake") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Communications.Archived lines to take"); + + b.Property("CommunicationsCurrentLinesToTake") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Communications.Current lines to take"); + + b.Property("CommunicationsMediaPenPortrait") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Communications.Media pen portrait"); + + b.Property("ContingencyPlanningBackUpField") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Contingency Planning.Back-up Field"); + + b.Property("ContingencyPlanningCanCurrentCohortRemainInSchool") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.Can current cohort remain in school?"); + + b.Property("ContingencyPlanningCanSchoolTakeOnAnotherCohort") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.Can school take on another cohort?"); + + b.Property("ContingencyPlanningCanTempsBeExtended") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Contingency Planning.Can temps be extended?"); + + b.Property("ContingencyPlanningEssentialThatItIsDeliveredForSeptemberOrCurrentScheduledDateInTheRealisticYearOfOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.Essential that it is delivered for September (or current scheduled date) in the Realistic Year of Opening?"); + + b.Property("ContingencyPlanningExtraInformation") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Contingency Planning.Extra information"); + + b.Property("ContingencyPlanningFscDeliverabilityAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.FSC Deliverability Assessment"); + + b.Property("ContingencyPlanningFscDeliverabilityComment") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Contingency Planning.FSC Deliverability Comment"); + + b.Property("ContingencyPlanningHowLongCanTempsBeExtended") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Contingency Planning.How long can temps be extended?"); + + b.Property("ContingencyPlanningHowManyStudentsWillNeedAlternativeArrangements") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Contingency Planning.How many students will need alternative arrangements?"); + + b.Property("ContingencyPlanningIfOtherWhy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.If 'Other', why?"); + + b.Property("ContingencyPlanningIfOtherWhyForRAndAExplainAnythingBeingExploredOrNextSteps") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.If 'Other', why? (for R and A, explain anything being explored or next steps)"); + + b.Property("ContingencyPlanningIfYesWhy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.If ‘Yes’, why?"); + + b.Property("ContingencyPlanningProjectedLengthOfDelayToProject") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.Projected length of delay to project"); + + b.Property("ContingencyPlanningRddRationale") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.RDD Rationale"); + + b.Property("ContingencyPlanningRddSiteContingencyRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.RDD Site Contingency RAG"); + + b.Property("ContingencyPlanningSiteShutdown") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.Site shutdown"); + + b.Property("FsType") + .IsRequired() + .HasMaxLength(14) + .IsUnicode(false) + .HasColumnType("varchar(14)") + .HasColumnName("FS_Type"); + + b.Property("FsType1") + .IsRequired() + .HasMaxLength(16) + .IsUnicode(false) + .HasColumnType("varchar(16)") + .HasColumnName("FS_Type_1"); + + b.Property("KeyContactsAddressOfLeadProposer") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Key Contacts.Address of lead proposer"); + + b.Property("KeyContactsAllocatedLawFirm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Allocated law firm"); + + b.Property("KeyContactsAssessmentTeamLeader") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Assessment team leader"); + + b.Property("KeyContactsChairOfGovernorsEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of Governors email"); + + b.Property("KeyContactsChairOfGovernorsMat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of governors MAT"); + + b.Property("KeyContactsChairOfGovernorsMatEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of governors MAT email"); + + b.Property("KeyContactsChairOfGovernorsMatPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of governors MAT phone"); + + b.Property("KeyContactsChairOfGovernorsMatRole") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of governors MAT role"); + + b.Property("KeyContactsChairOfGovernorsName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of Governors name"); + + b.Property("KeyContactsChairOfGovernorsPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of Governors phone"); + + b.Property("KeyContactsCommercialManager") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Commercial Manager"); + + b.Property("KeyContactsEaOnceSchoolIsOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.EA once school is open"); + + b.Property("KeyContactsEducationAdviserAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Education adviser (assessment)"); + + b.Property("KeyContactsEducationAdviserPreOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Education adviser (pre-opening)"); + + b.Property("KeyContactsEsfaAcademiesSeniorAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA academies senior adviser"); + + b.Property("KeyContactsEsfaCapitalHeadOfRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital Head of Region"); + + b.Property("KeyContactsEsfaCapitalProjectDirector") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital project director"); + + b.Property("KeyContactsEsfaCapitalProjectDirectorEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital project director email"); + + b.Property("KeyContactsEsfaCapitalProjectManager") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital project manager"); + + b.Property("KeyContactsEsfaCapitalProjectManagerEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital project manager email"); + + b.Property("KeyContactsEsfaCapitalProjectManagerFirm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital project manager firm"); + + b.Property("KeyContactsEsfaLinkOfficer") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Link Officer"); + + b.Property("KeyContactsEsfaPropertyLead") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA property lead"); + + b.Property("KeyContactsEsfaRegionalPropertyLead") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA regional property lead"); + + b.Property("KeyContactsEsfaTechnicalAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA technical adviser"); + + b.Property("KeyContactsFrameworkPlanningConsultant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Framework planning consultant"); + + b.Property("KeyContactsFrameworkPlanningFirm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Framework planning firm"); + + b.Property("KeyContactsFrameworkPlanningFirmOther") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Framework planning firm – other"); + + b.Property("KeyContactsFsgAssessmentLead") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG assessment lead"); + + b.Property("KeyContactsFsgGrade6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG Grade 6"); + + b.Property("KeyContactsFsgGrade6Email") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG Grade 6 email"); + + b.Property("KeyContactsFsgLeadContact") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG lead contact"); + + b.Property("KeyContactsFsgLeadContactEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG lead contact email"); + + b.Property("KeyContactsFsgTeamLeader") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG team leader"); + + b.Property("KeyContactsFsgTeamLeaderEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG team leader email"); + + b.Property("KeyContactsIctAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ICT adviser"); + + b.Property("KeyContactsInterviewChair") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Interview chair"); + + b.Property("KeyContactsLeadProposerEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Lead proposer email "); + + b.Property("KeyContactsLeadProposerName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Lead proposer name"); + + b.Property("KeyContactsLeadProposerPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Lead proposer phone"); + + b.Property("KeyContactsLegalFirm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Legal firm"); + + b.Property("KeyContactsLegalManager") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Legal manager"); + + b.Property("KeyContactsLocalAuthorityContactPresumptionProject") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Local authority contact (presumption project)"); + + b.Property("KeyContactsLocatEdAcquisitionManager") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.LocatED acquisition manager"); + + b.Property("KeyContactsNamedContactOnceSchoolIsOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Named contact once school is open"); + + b.Property("KeyContactsOfstedContact") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Ofsted contact"); + + b.Property("KeyContactsOfstedContactEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Ofsted contact email"); + + b.Property("KeyContactsOfstedContactPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Ofsted contact phone"); + + b.Property("KeyContactsOfstedContactRole") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Ofsted contact role"); + + b.Property("KeyContactsPlanningAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Planning Adviser"); + + b.Property("KeyContactsPostCodeForMapping") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.PostCode for Mapping"); + + b.Property("KeyContactsPostcode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Postcode"); + + b.Property("KeyContactsPrincipalDesignateEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Principal Designate email"); + + b.Property("KeyContactsPrincipalDesignateName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Principal Designate Name"); + + b.Property("KeyContactsPrincipalDesignatePhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Principal Designate phone"); + + b.Property("KeyContactsPropertyAdviserAllocated") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Property adviser allocated"); + + b.Property("KeyContactsPropertyDocumentRepositoryLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Property document repository link"); + + b.Property("KeyContactsPropertyFirmDealing") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Property firm dealing"); + + b.Property("KeyContactsSchoolAddress") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Key Contacts.School address"); + + b.Property("KeyContactsSeniorExecutiveLeaderEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Senior Executive Leader email"); + + b.Property("KeyContactsSeniorExecutiveLeaderName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Senior Executive Leader name"); + + b.Property("KeyContactsSeniorExecutiveLeaderPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Senior Executive Leader phone"); + + b.Property("KeyContactsStrategicDesignAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Strategic design adviser"); + + b.Property("KeyContactsTechnicalAdvisoryFirm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Technical advisory firm"); + + b.Property("KeyContactsTrustSIctLeadContact") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Trust's ICT lead contact"); + + b.Property("KeyContactsTrustSIctLeadContactEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Trust's ICT lead contact email"); + + b.Property("KeyContactsTrustSIctLeadContactPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Trust's ICT lead contact phone"); + + b.Property("LeadSponsorId") + .HasMaxLength(7) + .IsUnicode(false) + .HasColumnType("varchar(7)") + .HasColumnName("Lead sponsor ID"); + + b.Property("LeadSponsorName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Lead sponsor name"); + + b.Property("LocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local authority"); + + b.Property("MatUnitProjects") + .IsRequired() + .HasMaxLength(32) + .IsUnicode(false) + .HasColumnType("varchar(32)") + .HasColumnName("MAT Unit Projects"); + + 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("ProjectStatusActualDateOfOpeningInPermanentAccommodation") + .HasColumnType("date") + .HasColumnName("Project Status.Actual date of opening in permanent accommodation"); + + b.Property("ProjectStatusActualDateOfOpeningInTemporaryAccommodation") + .HasColumnType("date") + .HasColumnName("Project Status.Actual date of opening in temporary accommodation"); + + b.Property("ProjectStatusActualOpeningDate") + .HasColumnType("date") + .HasColumnName("Project Status.Actual opening date"); + + b.Property("ProjectStatusCommentaryForCancellation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Commentary for cancellation"); + + b.Property("ProjectStatusCommentaryForFirstDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Commentary for first deferral"); + + b.Property("ProjectStatusCommentaryForSecondDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Commentary for second deferral"); + + b.Property("ProjectStatusCommentaryForThirdDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Commentary for third deferral"); + + b.Property("ProjectStatusCommentaryForWithdrawal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Commentary for withdrawal"); + + b.Property("ProjectStatusCurrentFreeSchoolName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Current free school name"); + + b.Property("ProjectStatusDateCancelled") + .HasColumnType("date") + .HasColumnName("Project Status.Date cancelled"); + + b.Property("ProjectStatusDateClosed") + .HasColumnType("date") + .HasColumnName("Project Status.Date closed"); + + b.Property("ProjectStatusDateOfApplicationIfOutsideWave") + .HasColumnType("date") + .HasColumnName("Project Status.Date of application if outside wave"); + + b.Property("ProjectStatusDateOfEntryIntoPreOpening") + .HasColumnType("date") + .HasColumnName("Project Status.Date of entry into pre-opening"); + + b.Property("ProjectStatusDateOfFirstDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.Date of first deferral"); + + b.Property("ProjectStatusDateOfSecondDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.Date of second deferral"); + + b.Property("ProjectStatusDateOfThirdDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.Date of third deferral"); + + b.Property("ProjectStatusDateWithdrawn") + .HasColumnType("date") + .HasColumnName("Project Status.Date withdrawn"); + + b.Property("ProjectStatusFreeSchoolApplicationWave") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Free school application wave"); + + b.Property("ProjectStatusFreeSchoolPenPortrait") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Project Status.Free school pen portrait"); + + b.Property("ProjectStatusFreeSchoolsApplicationNumber") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("Project Status.Free schools application number"); + + b.Property("ProjectStatusHasProjectBeenCancelled") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has project been cancelled?"); + + b.Property("ProjectStatusHasProjectBeenDeferredForASecondTime") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has project been deferred for a second time?"); + + b.Property("ProjectStatusHasProjectBeenDeferredForAThirdTime") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has project been deferred for a third time?"); + + b.Property("ProjectStatusHasProjectBeenWithdrawn") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has project been withdrawn?"); + + b.Property("ProjectStatusHasTheFreeSchoolChangedItsName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has the free school changed its name?"); + + b.Property("ProjectStatusHasTheProjectBeenDeferred") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has the project been deferred?"); + + b.Property("ProjectStatusKp05ReasonForSiteDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.KP05_Reason for site deferral"); + + b.Property("ProjectStatusKp06ReasonForSiteDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.KP06_Reason for site deferral"); + + b.Property("ProjectStatusNewOpeningDateFollowingFirstDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.New opening date following first deferral"); + + b.Property("ProjectStatusNewOpeningDateFollowingSecondDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.New opening date following second deferral"); + + b.Property("ProjectStatusNewOpeningDateFollowingThirdDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.New opening date following third deferral"); + + b.Property("ProjectStatusPlannedMoveDateToPermanentSite") + .HasColumnType("date") + .HasColumnName("Project Status.Planned move date to permanent site"); + + b.Property("ProjectStatusPreviousFreeSchoolName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Previous free school name"); + + b.Property("ProjectStatusPrimaryReasonForCancellation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Primary reason for cancellation"); + + b.Property("ProjectStatusPrimaryReasonForFirstDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Primary reason for first deferral"); + + b.Property("ProjectStatusPrimaryReasonForSecondDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Primary reason for second deferral"); + + b.Property("ProjectStatusPrimaryReasonForThirdDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Primary reason for third deferral"); + + b.Property("ProjectStatusPrimaryReasonForWithdrawal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Primary reason for withdrawal"); + + b.Property("ProjectStatusProjectId") + .HasMaxLength(25) + .IsUnicode(false) + .HasColumnType("varchar(25)") + .HasColumnName("Project Status.Project ID"); + + b.Property("ProjectStatusProjectStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Project status"); + + b.Property("ProjectStatusProvisionalOpeningDateAgreedWithTrust") + .HasColumnType("date") + .HasColumnName("Project Status.Provisional opening date agreed with trust"); + + b.Property("ProjectStatusRealisticYearOfOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Realistic year of opening"); + + b.Property("ProjectStatusReasonForSiteCancellation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Reason for site cancellation"); + + b.Property("ProjectStatusReasonForSiteDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Reason for site deferral"); + + b.Property("ProjectStatusReasonForSiteWithdrawal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Reason for site withdrawal"); + + b.Property("ProjectStatusRebrokeredUrn") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Rebrokered URN"); + + b.Property("ProjectStatusTrustsPreferredYearOfOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Trusts preferred year of opening"); + + b.Property("ProjectStatusUrnWhenGivenOne") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.URN (when given one)"); + + b.Property("RatProvisionalOpeningDateAgreedWithTrust") + .HasColumnType("date") + .HasColumnName("RAT Provisional opening date agreed with trust"); + + b.Property("RyooWd") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("RYOO_WD"); + + b.Property("SchoolDetailsAeaCatagory") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.AEA Catagory"); + + b.Property("SchoolDetailsAgeRange") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Age range"); + + b.Property("SchoolDetailsAlternativeProvision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Alternative Provision"); + + b.Property("SchoolDetailsConstituency") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Constituency"); + + b.Property("SchoolDetailsConstituencyID") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Constituency ID"); + + b.Property("SchoolDetailsConstituencyMp") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Constituency MP"); + + b.Property("SchoolDetailsDeprivationDecline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Deprivation decline"); + + b.Property("SchoolDetailsDetailsOfResidentialBoardingProvision") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("School Details.Details of residential/boarding provision"); + + b.Property("SchoolDetailsDistinguishingFeatures") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("School Details.Distinguishing features"); + + b.Property("SchoolDetailsDistrict") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.District"); + + b.Property("SchoolDetailsEfaTerritory") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.EFA Territory"); + + b.Property("SchoolDetailsEmployerPartners") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Employer Partners"); + + b.Property("SchoolDetailsEmployerSponsorsUtcsSsOnly") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Employer sponsors - UTCs/SS only"); + + b.Property("SchoolDetailsFaithStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Faith status"); + + b.Property("SchoolDetailsFaithType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Faith type"); + + b.Property("SchoolDetailsGender") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Gender"); + + b.Property("SchoolDetailsGeographicalRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Geographical Region"); + + b.Property("SchoolDetailsIndependentConverter") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Independent converter"); + + b.Property("SchoolDetailsLaestabWhenGivenOne") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.LAESTAB (when given one)"); + + b.Property("SchoolDetailsLeadSponsorId") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("School Details.Lead sponsor ID"); + + b.Property("SchoolDetailsLeadSponsorName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Lead sponsor name"); + + b.Property("SchoolDetailsLocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Local authority"); + + b.Property("SchoolDetailsLocalAuthorityControl") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Local authority control"); + + b.Property("SchoolDetailsNeetInLa") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.% NEET in LA"); + + b.Property("SchoolDetailsNumberOfFormsOfEntry") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Number of forms of entry"); + + b.Property("SchoolDetailsNursery") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Nursery"); + + b.Property("SchoolDetailsOtherPartners") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Other Partners"); + + b.Property("SchoolDetailsPleaseSpecifyOtherFaithType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Please specify other faith type"); + + b.Property("SchoolDetailsPleaseSpecifyOtherTypeOfProposerGroup") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Please specify other type of proposer group"); + + b.Property("SchoolDetailsPoliticalParty") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Political party"); + + b.Property("SchoolDetailsResidentialOrBoardingProvision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Residential or boarding provision"); + + b.Property("SchoolDetailsRscRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.RSC region"); + + b.Property("SchoolDetailsSchoolPhasePrimarySecondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.School phase (primary, secondary)"); + + b.Property("SchoolDetailsSchoolTypeMainstreamApEtc") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.School type (mainstream, AP etc)"); + + b.Property("SchoolDetailsSixthForm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Sixth form"); + + b.Property("SchoolDetailsSixthFormType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Sixth form type"); + + b.Property("SchoolDetailsSizeOfGoverningBody") + .HasMaxLength(2) + .IsUnicode(false) + .HasColumnType("varchar(2)") + .HasColumnName("School Details.Size of Governing Body"); + + b.Property("SchoolDetailsSpecialEducationNeeds") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Special Education Needs"); + + b.Property("SchoolDetailsSpecialism") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Specialism"); + + b.Property("SchoolDetailsSpecialistResourceProvision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Specialist Resource Provision"); + + b.Property("SchoolDetailsSponsorType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Sponsor type"); + + b.Property("SchoolDetailsStartOfTermDate") + .HasColumnType("date") + .HasColumnName("School Details.Start of term date"); + + b.Property("SchoolDetailsTrustId") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("School Details.Trust ID"); + + b.Property("SchoolDetailsTrustName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Trust name"); + + b.Property("SchoolDetailsTrustType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Trust type"); + + b.Property("SchoolDetailsTypeOfProposerGroup") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Type of proposer group"); + + b.Property("SchoolDetailsUniversitySponsor") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.University Sponsor"); + + b.Property("SponsorUnitProjects") + .IsRequired() + .HasMaxLength(39) + .IsUnicode(false) + .HasColumnType("varchar(39)") + .HasColumnName("Sponsor Unit Projects"); + + b.Property("TrustId") + .HasMaxLength(7) + .IsUnicode(false) + .HasColumnType("varchar(7)") + .HasColumnName("Trust ID"); + + b.Property("TrustName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Trust name"); + + b.Property("TrustType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Trust type"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.Property("UpperStatus") + .IsRequired() + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("Upper Status"); + + b.Property("UserId") + .HasColumnType("int"); + + b.Property("Wave") + .IsRequired() + .HasMaxLength(16) + .IsUnicode(false) + .HasColumnType("varchar(16)"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.HasIndex("UserId"); + + b.ToTable("KPI", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("KPIHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.LaData", b => + { + b.Property("LocalAuthoritiesLaCode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.LA Code"); + + b.Property("LocalAuthoritiesCapitalCostTier") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.Capital cost tier"); + + b.Property("LocalAuthoritiesGeographicalRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.Geographical region"); + + b.Property("LocalAuthoritiesLaLondonBased") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.LA London Based"); + + b.Property("LocalAuthoritiesLaName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.LA Name"); + + b.Property("LocalAuthoritiesLondonNotLondon") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.London/Not London"); + + b.Property("LocalAuthoritiesRscRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.RSC Region"); + + b.Property("PeriodEnd") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodEnd"); + + b.Property("PeriodStart") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodStart"); + + b.HasKey("LocalAuthoritiesLaCode"); + + b.ToTable("LA_Data", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("LA_DataHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Milestones", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("DraftGovernancePlanAndAssessmentSharedWithEsfa") + .HasColumnType("bit"); + + b.Property("DraftGovernancePlanAndAssessmentSharedWithExpert") + .HasColumnType("bit"); + + b.Property("DraftGovernancePlanAssessedUsingTemplate") + .HasColumnType("bit"); + + b.Property("DraftGovernancePlanDocumentsSavedInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("DraftGovernancePlanFedBackToTrust") + .HasColumnType("bit"); + + b.Property("DraftGovernancePlanReceivedDate") + .HasColumnType("datetime2"); + + b.Property("DraftGovernancePlanReceivedFromTrust") + .HasColumnType("bit"); + + b.Property("EqualitiesAssessmentCompletedEPR") + .HasColumnType("bit"); + + b.Property("EqualitiesAssessmentSavedEPRInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FSGPreOpeningMilestonesEducationBriefPupilAssessmentAndTrackingHistory") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Pupil assessment and tracking history in place"); + + b.Property("FSGPreOpeningMilestonesEducationBriefSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Education Brief Saved To Workplaces"); + + b.Property("FSGPreOpeningMilestonesEducationPlanInBrief") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Education Plan In Brief"); + + b.Property("FSGPreOpeningMilestonesEducationPolicesInBrief") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Education Policies In Brief"); + + b.Property("FSGPreOpeningMilestonesGIASApplicationFormSent") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones.GIASApplicationFormSent"); + + b.Property("FSGPreOpeningMilestonesGIASCheckedTrustInformation") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones.GIASCheckedTrustInformation"); + + b.Property("FSGPreOpeningMilestonesGIASSavedToWorkspaces") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones.GIASSavedToWorkspaces"); + + b.Property("FSGPreOpeningMilestonesGIASURNSent") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones.GIASURNSent"); + + b.Property("FinalGovernancePlanAgreed") + .HasColumnType("bit"); + + b.Property("FinancePlanSavedInWorkplacesFolder") + .HasColumnType("int"); + + b.Property("FsgPreOpeningDeletedAnyCopiesOfChairsDBSCertificate") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningDeletedEmailsContainingSuitabilityAndDeclarationForms") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenProjectBriefToEducationEstates") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Project Brief To Education Estates"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenProjectBriefToNewDeliveryOfficer") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Project Brief To New Delivery Officer"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenProjectBriefToSfso") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Project Brief To Sfso"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenSavedToWorkplacesFolderAnnexB") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Saved To Workplaces Folder AnnexB"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenSavedToWorkplacesFolderAnnexE") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Saved To Workplaces Folder AnnexE"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenSavedToWorkplacesFolderProjectBrief") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Saved To Workplaces Folder Project Brief"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenSentEmailsToRelevantContacts") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Sent Emails To Relevant Contacts"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenSentEmailsToSchoolsPrinciple") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Sent Emails To Schools Principle"); + + b.Property("FsgPreOpeningMilestoneSavedExternalExpertSpecsToWorkplacesFolder") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. saved external expert specs to workplaces folder"); + + b.Property("FsgPreOpeningMilestonesAcceptedOffersComments") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("Fsg Pre Opening Milestones. Accepted Offers Comments"); + + b.Property("FsgPreOpeningMilestonesAcceptedOffersEmailSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Accepted Offers Email Saved To Workplaces"); + + b.Property("FsgPreOpeningMilestonesAdmissionsArrangementsComplyWithPolicies") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Admissions Arrangements Comply With Policies"); + + b.Property("FsgPreOpeningMilestonesAdmissionsArrangementsRecommendedTemplate") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Admissions Arrangements Recommended Template"); + + b.Property("FsgPreOpeningMilestonesAdmissionsArrangementsSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Admissions Arrangements Saved To Workplaces"); + + b.Property("FsgPreOpeningMilestonesAppEvActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.AppEv Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesAppEvApplicable") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.AppEv Applicable"); + + b.Property("FsgPreOpeningMilestonesAppEvBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.AppEv Baseline date"); + + b.Property("FsgPreOpeningMilestonesAppEvForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.AppEv Forecast date"); + + b.Property("FsgPreOpeningMilestonesAppEvReasonNotApplicable") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("FSG Pre Opening Milestones.AppEv - Reason not applicable"); + + b.Property("FsgPreOpeningMilestonesApplicationsEvidenceBuildUpFormSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. applications evidence build up form saved to workplaces"); + + b.Property("FsgPreOpeningMilestonesApplicationsEvidenceComments") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("Fsg Pre Opening Milestones. applications evidence comments"); + + b.Property("FsgPreOpeningMilestonesApplicationsEvidenceConfirmedPupilNumbers") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. applications evidence confirmed pupil numbers"); + + b.Property("FsgPreOpeningMilestonesApplicationsEvidenceUnderwritingAgreementSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. applications evidence underwriting agreement saved to workplaces"); + + b.Property("FsgPreOpeningMilestonesAppointedPrincipalDesignate") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. appointed principal designate"); + + b.Property("FsgPreOpeningMilestonesBefpActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.BEFP Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesBefpApplicable") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.BEFP Applicable"); + + b.Property("FsgPreOpeningMilestonesBefpBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.BEFP Baseline date"); + + b.Property("FsgPreOpeningMilestonesBefpForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.BEFP Forecast date"); + + b.Property("FsgPreOpeningMilestonesBefpReasonNotApplicable") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("FSG Pre Opening Milestones.BEFP - Reason not applicable"); + + b.Property("FsgPreOpeningMilestonesBlockAndContentDetailsToOpenersSpreadSheet") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Block And Content Details To Openers SpreadSheet"); + + b.Property("FsgPreOpeningMilestonesCapacityDataMatchesFundingAgreement") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. capacity data matches funding agreement"); + + b.Property("FsgPreOpeningMilestonesCapacityDataMatchesGiasRegistration") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. capacity data matches gias registration"); + + b.Property("FsgPreOpeningMilestonesCoGappActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.CoGapp Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesCoGappBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.CoGapp Baseline date"); + + b.Property("FsgPreOpeningMilestonesCoGappForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.CoGapp Forecast date"); + + b.Property("FsgPreOpeningMilestonesCommissionedExternalExpertVisit") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. commissioned external expert visit"); + + b.Property("FsgPreOpeningMilestonesCommissionedExternalExpertVisitToSchool") + .HasColumnType("int") + .HasColumnName("Fsg Pre Opening Milestones. commissioned external expert visit to school"); + + b.Property("FsgPreOpeningMilestonesDbscActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSC Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesDbscBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSC Baseline date"); + + b.Property("FsgPreOpeningMilestonesDbscForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSC Forecast date"); + + b.Property("FsgPreOpeningMilestonesDbsiActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSI Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesDbsiBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSI Baseline date"); + + b.Property("FsgPreOpeningMilestonesDbsiForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSI Forecast date"); + + b.Property("FsgPreOpeningMilestonesDetailsOfFundingArrangementAgreedBetweenLaAndSponsor") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Details of Funding arrangement agreed between LA and Sponsor"); + + b.Property("FsgPreOpeningMilestonesDgpActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DGP Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesDgpBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DGP Baseline date"); + + b.Property("FsgPreOpeningMilestonesDgpForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DGP Forecast date"); + + b.Property("FsgPreOpeningMilestonesDocumentsAndG6SavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Documents And G6 Saved To Workplaces"); + + b.Property("FsgPreOpeningMilestonesEaoActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAO Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesEaoBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAO Baseline date"); + + b.Property("FsgPreOpeningMilestonesEaoForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAO Forecast date"); + + b.Property("FsgPreOpeningMilestonesEaoMilestoneApplicable") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.EAO - Milestone applicable"); + + b.Property("FsgPreOpeningMilestonesEaoReasonNotApplicable") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("FSG Pre Opening Milestones.EAO - Reason not applicable"); + + b.Property("FsgPreOpeningMilestonesEapolActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAPol Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesEapolBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAPol Baseline date"); + + b.Property("FsgPreOpeningMilestonesEapolForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAPol Forecast date"); + + b.Property("FsgPreOpeningMilestonesEdBrActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EdBr Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesEdBrBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EdBr Baseline date"); + + b.Property("FsgPreOpeningMilestonesEdBrForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EdBr Forecast date"); + + b.Property("FsgPreOpeningMilestonesExternalExpertVisitDate") + .HasColumnType("date") + .HasColumnName("Fsg Pre Opening Milestones. external expert visit date"); + + b.Property("FsgPreOpeningMilestonesFaActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FA Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesFaBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FA Baseline date"); + + b.Property("FsgPreOpeningMilestonesFaForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FA Forecast date"); + + b.Property("FsgPreOpeningMilestonesFcpActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FCP Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesFcpBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FCP Baseline date"); + + b.Property("FsgPreOpeningMilestonesFcpForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FCP Forecast date"); + + b.Property("FsgPreOpeningMilestonesFfpConfirmedTrustHasProvidedFinalPlan") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesFfpGrade6SignedOffFinalPlanDate") + .HasColumnType("datetime2"); + + b.Property("FsgPreOpeningMilestonesFfpSavedFinalPlanInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesFfpSentFinalPlanToRevenueFundingMailbox") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesFgpaActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FGPA Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesFgpaBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FGPA Baseline date"); + + b.Property("FsgPreOpeningMilestonesFgpaForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FGPA Forecast date"); + + b.Property("FsgPreOpeningMilestonesFpaActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FPA Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesFpaBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FPA Baseline date"); + + b.Property("FsgPreOpeningMilestonesFpaForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FPA Forecast date"); + + b.Property("FsgPreOpeningMilestonesFsrdActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FSRD Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesFsrdBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FSRD Baseline date"); + + b.Property("FsgPreOpeningMilestonesFsrdForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FSRD Forecast date"); + + b.Property("FsgPreOpeningMilestonesFundingArrangementAgreedBetweenLaAndSponsor") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesGiasActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.GIAS Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesGiasBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.GIAS Baseline date"); + + b.Property("FsgPreOpeningMilestonesGiasForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.GIAS Forecast date"); + + b.Property("FsgPreOpeningMilestonesHaveYouCompletedAndSavedYourRiskAppraisalForm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Have you completed and saved your Risk Appraisal Form?"); + + b.Property("FsgPreOpeningMilestonesIaeaActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.IAEA Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesIaeaBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.IAEA Baseline date"); + + b.Property("FsgPreOpeningMilestonesIaeaForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.IAEA Forecast date"); + + b.Property("FsgPreOpeningMilestonesImpactAssessmentDone") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening. Milestones Impact Assessment Done"); + + b.Property("FsgPreOpeningMilestonesImpactAssessmentSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening. Milestones Impact Assessment Saved To Workplaces"); + + b.Property("FsgPreOpeningMilestonesInspectionBlockDecided") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Inspection Block Decided"); + + b.Property("FsgPreOpeningMilestonesInspectionConditionsMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Inspection conditions met?"); + + b.Property("FsgPreOpeningMilestonesIsThisProjectRatedHighOrLowRiskForEducation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Is this project rated high or low risk for education?"); + + b.Property("FsgPreOpeningMilestonesIsThisProjectRatedHighOrLowRiskForFinance") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Is this project rated high or low risk for finance?"); + + b.Property("FsgPreOpeningMilestonesIsThisProjectRatedHighOrLowRiskForGovernance") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Is this project rated high or low risk for governance?"); + + b.Property("FsgPreOpeningMilestonesKickOffMeetingHeldActualDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.Kick off meeting held Actual Date"); + + b.Property("FsgPreOpeningMilestonesKickoffMeetingDocumentsSavedInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesLinkToRiskAppraisalForm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Link to Risk Appraisal Form"); + + b.Property("FsgPreOpeningMilestonesMaaActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MAA Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesMaaBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MAA Baseline date"); + + b.Property("FsgPreOpeningMilestonesMaaForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MAA Forecast date"); + + b.Property("FsgPreOpeningMilestonesMfadActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MFAD Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesMfadBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MFAD Baseline date"); + + b.Property("FsgPreOpeningMilestonesMfadDraftedFaHealthCheck") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadDraftedFaSubmission") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MFAD Forecast date"); + + b.Property("FsgPreOpeningMilestonesMfadMinisterSignedOffFaHealthCheck") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadMinisterSignedOffFaSubmission") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadRegionalDirectorSignedOffFaHealthCheck") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadRegionalDirectorSignedOffFaSubmission") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadSavedFaDocumentsInWorkspacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadSavedFaHealthCheckInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadSavedFaSubmissionInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadSharedFaWithTheTrust") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadTailoredAModelFundingAgreement") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadTrustAgreesWithModelFa") + .HasColumnType("int"); + + b.Property("FsgPreOpeningMilestonesMi101CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI101_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi103CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI103_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi105LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI105_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi107LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI107_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi109LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI109_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi111LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI111_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi113LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI113_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi115LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI115_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi117LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI117_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi119LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI119_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi121LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI121_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi123LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI123_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi125LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI125_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi127LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI127_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi129LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI129_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi131LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI131_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi133LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI133_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi135LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI135_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi137LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI137_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi139LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI139_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi141LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI141_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi143LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI143_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi145LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI145_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi147LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI147_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi149LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI149_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi151LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI151_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi153LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI153_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi155LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI155_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi54CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI54_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi56CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI56_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi58CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI58_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi60CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI60_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi62CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI62_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi64CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI64_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi66CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI66_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi68CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI68_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi70CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI70_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi72CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI72_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi74CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI74_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi76CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI76_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi78CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI78_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi80CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI80_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi81CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI81_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi83CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI83_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi85CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI85_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi87CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI87_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi89CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI89_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi91CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI91_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi93CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI93_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi95CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI95_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi97CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI97_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi99CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI99_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesOfstedAndTrustLiaisonDetailsConfirmed") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Ofsted And Trust Liaison Details Confirmed"); + + b.Property("FsgPreOpeningMilestonesOprActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.OPR Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesOprBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.OPR Baseline date"); + + b.Property("FsgPreOpeningMilestonesOprForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.OPR Forecast date"); + + b.Property("FsgPreOpeningMilestonesOutcomeOfInspectionAsAdvisedByOfsted") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Outcome of inspection as advised by Ofsted"); + + b.Property("FsgPreOpeningMilestonesOutcomeOfRom") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Outcome of ROM"); + + b.Property("FsgPreOpeningMilestonesPdappActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PDapp Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesPdappBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PDapp Baseline date"); + + b.Property("FsgPreOpeningMilestonesPdappForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PDapp Forecast date"); + + b.Property("FsgPreOpeningMilestonesPfacmActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PFACM Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesPfacmBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PFACM Baseline date"); + + b.Property("FsgPreOpeningMilestonesPfacmForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PFACM Forecast date"); + + b.Property("FsgPreOpeningMilestonesPfacmMilestoneApplicable") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.PFACM - Milestone applicable"); + + b.Property("FsgPreOpeningMilestonesPfacmReasonNotApplicable") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("FSG Pre Opening Milestones.PFACM - Reason not applicable"); + + b.Property("FsgPreOpeningMilestonesProcessDetailsProvided") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Process Details Provided"); + + b.Property("FsgPreOpeningMilestonesProposedToOpenOnGias") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Proposed To Open On Gias"); + + b.Property("FsgPreOpeningMilestonesRomActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.ROM Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesRomBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.ROM Baseline date"); + + b.Property("FsgPreOpeningMilestonesRomConditionsMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.ROM conditions met?"); + + b.Property("FsgPreOpeningMilestonesRomForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.ROM Forecast date"); + + b.Property("FsgPreOpeningMilestonesRomReasonNotApplicable") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("FSG Pre Opening Milestones.ROM - Reason not applicable"); + + b.Property("FsgPreOpeningMilestonesS9lActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.S9L Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesS9lBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.S9L Baseline date"); + + b.Property("FsgPreOpeningMilestonesS9lForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.S9L Forecast date"); + + b.Property("FsgPreOpeningMilestonesSapActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SAP Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesSapBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SAP Baseline date"); + + b.Property("FsgPreOpeningMilestonesSapForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SAP Forecast Date"); + + b.Property("FsgPreOpeningMilestonesSccActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCC Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesSccBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCC Baseline date"); + + b.Property("FsgPreOpeningMilestonesSccForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCC Forecast date"); + + b.Property("FsgPreOpeningMilestonesSchoolReceivedEnoughApplications") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. school received enough applications"); + + b.Property("FsgPreOpeningMilestonesScrActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCR Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesScrBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCR Baseline date"); + + b.Property("FsgPreOpeningMilestonesScrForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCR Forecast date"); + + b.Property("FsgPreOpeningMilestonesScrFulfilsSection10StatutoryDuty") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesScrReceived") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesScrSavedFindingsInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesSeenEvidenceOfAcceptedOffers") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Seen Evidence Of Accepted Offers"); + + b.Property("FsgPreOpeningMilestonesSharedOutcomeWithTrust") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Shared Outcome With Trust"); + + b.Property("FsgPreOpeningMilestonesSiteKickOffMeetingHeldActualDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.Site Kick off meeting held ( actual date)"); + + b.Property("FsgPreOpeningMilestonesViewCostPlan1") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.View Cost Plan 1"); + + b.Property("FsgPreOpeningMilestonesViewCostPlan2") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.View Cost Plan 2"); + + b.Property("FsgPreOpeningNonSpecialistChecksDoneOnAllTrustMembersAndTrustees") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningReceivedChairOfTrusteesCountersignedCertificate") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningRequestedCounterExtremismChecks") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningSavedNonSpecialistChecksSpreadsheetInWorkplaces") + .HasColumnType("bit"); + + b.Property("GovernancePlanAndAssessmentSharedWithLocalAuthority") + .HasColumnType("bit"); + + b.Property("LAAgreedPupilNumbers") + .HasColumnType("int"); + + b.Property("MAAArrangementsMatchGovernancePlans") + .HasColumnType("bit"); + + b.Property("MAAChairHaveSubmittedConfirmation") + .HasColumnType("bit"); + + b.Property("MAACheckedSubmittedArticlesMatch") + .HasColumnType("bit"); + + b.Property("PFACMCommissionedAnExternalExpertToAttendMeetingsIfApplicable") + .HasColumnType("bit"); + + b.Property("PFACMSavedMeetingNoteInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("PFACMSentAnEmailToTheTrust") + .HasColumnType("bit"); + + b.Property("PFACMTypeOfMeetingHeld") + .HasColumnType("nvarchar(max)"); + + b.Property("PFACMWhyAMeetingWasNotHeld") + .HasColumnType("nvarchar(max)"); + + 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("ROMCommissionedAnExternalExpertToAttendMeetingsIfApplicable") + .HasColumnType("bit"); + + b.Property("ROMPrincipalDesignateHasProvidedChecklist") + .HasColumnType("bit"); + + b.Property("ROMSavedTheExternalROMReportInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("ROMSavedTheInternalROMReportInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("ROMTypeOfMeetingHeld") + .HasColumnType("nvarchar(max)"); + + b.Property("ROMWhyAMeetingWasNotHeld") + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("Milestones", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("MilestonesHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.OfstedArchive", b => + { + b.Property("InspectionDate") + .HasColumnType("date") + .HasColumnName("Inspection date"); + + b.Property("OfstedRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Rating"); + + b.Property("Urn") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("URN"); + + b.ToTable("Ofsted_Archive", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.OfstedFsg", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("EducationalEstablishmentAddressPostcode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.Address postcode"); + + b.Property("EducationalEstablishmentConstituency") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.Constituency"); + + b.Property("EducationalEstablishmentDateClosed") + .HasColumnType("date") + .HasColumnName("Educational Establishment.Date Closed"); + + b.Property("EducationalEstablishmentDistrict") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.District"); + + b.Property("EducationalEstablishmentLaestab") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.LAESTAB"); + + b.Property("EducationalEstablishmentLocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.Local authority"); + + b.Property("EducationalEstablishmentOpenDate") + .HasColumnType("date") + .HasColumnName("Educational Establishment.Open date"); + + b.Property("EducationalEstablishmentRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.Region"); + + b.Property("EducationalEstablishmentRscRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.RSC Region"); + + b.Property("EducationalEstablishmentSchoolName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.School name"); + + b.Property("EducationalEstablishmentSchoolPhase") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.School phase"); + + b.Property("EducationalEstablishmentSchoolType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.School type"); + + b.Property("EducationalEstablishmentStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.Status"); + + b.Property("EducationalEstablishmentUrn") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("Educational Establishment.URN"); + + b.Property("LocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local authority"); + + b.Property("OfstedDataModerationDate") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Moderation date"); + + b.Property("OfstedDataModerationDateL") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Moderation date L"); + + b.Property("OfstedDataNumberOfMonthsInCategory4") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Number of months in Category 4"); + + b.Property("OfstedDataNumberOfMonthsInCategory4L") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Number of months in Category 4 L"); + + b.Property("OfstedDataOfstedSection5CategoryOfConcern") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Category Of Concern"); + + b.Property("OfstedDataOfstedSection5CategoryOfConcernL") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Category Of Concern L"); + + b.Property("OfstedDataOfstedSection5DateInCategory4") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 Date in Category 4"); + + b.Property("OfstedDataOfstedSection5DateInCategory4L") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 Date in Category 4 L"); + + b.Property("OfstedDataOfstedSection5DateOutOfCategory4") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 Date out of Category 4"); + + b.Property("OfstedDataOfstedSection5DateOutOfCategory4L") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 Date out of Category 4 L"); + + b.Property("OfstedDataOfstedSection5EffectivenessLeadershipAndManagement") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Effectiveness leadership and management"); + + b.Property("OfstedDataOfstedSection5InspectionDate") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 inspection date"); + + b.Property("OfstedDataOfstedSection5InspectionDateL") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 inspection date L"); + + b.Property("OfstedDataOfstedSection5OutcomesForChildrenAndLearners") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Outcomes for children and learners"); + + b.Property("OfstedDataOfstedSection5OverallEffectiveness") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Overall effectiveness"); + + b.Property("OfstedDataOfstedSection5OverallEffectivenessL") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Overall effectiveness L"); + + b.Property("OfstedDataOfstedSection5PersonalDevelopmentBehaviourAndWelfare") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Personal development, behaviour and welfare"); + + b.Property("OfstedDataOfstedSection5QualityOfTeachingLearningAndAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Quality of teaching, learning and assessment"); + + b.Property("OfstedDataOfstedSection5SixthFormProvision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Sixth form provision"); + + b.Property("OfstedDataOfstedSection8InspectionDate") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 8 inspection date"); + + b.Property("OfstedDataOfstedSection8Judgement") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 8 judgement"); + + b.Property("OfstedDataPreviousOfstedSection5InspectionDate") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Previous Ofsted section 5 inspection date"); + + b.Property("OfstedDataPreviousOfstedSection5InspectionDateL") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Previous Ofsted section 5 inspection date L"); + + b.Property("OfstedDataPreviousOfstedSection5OverallEffectiveness") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Previous Ofsted section 5 Overall effectiveness"); + + b.Property("OfstedDataPreviousOfstedSection5OverallEffectivenessL") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Previous Ofsted section 5 Overall effectiveness L"); + + 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("Phase") + .IsRequired() + .HasMaxLength(3) + .IsUnicode(false) + .HasColumnType("varchar(3)"); + + b.Property("ProjectUrn") + .HasMaxLength(25) + .IsUnicode(false) + .HasColumnType("varchar(25)") + .HasColumnName("Project URN"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("Ofsted_FSG", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("Ofsted_FSGHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Opens", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("CurrentStatusCaseNote") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Current Status.Case note"); + + b.Property("CurrentStatusDateOfLatestCaseNote") + .HasColumnType("date") + .HasColumnName("Current Status.Date of latest case note"); + + b.Property("CurrentStatusDueDiligenceConcerns") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Current Status.Due diligence concerns?"); + + b.Property("CurrentStatusEfaTerritoryConcernLevel") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Current Status.EFA territory concern level"); + + b.Property("CurrentStatusFinancialConcerns") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Current Status.Financial concerns"); + + b.Property("CurrentStatusGovernanceAndCompliance") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Current Status.Governance and compliance"); + + b.Property("CurrentStatusIntervention") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Current Status.Intervention"); + + b.Property("CurrentStatusIrregularity") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Current Status.Irregularity"); + + b.Property("CurrentStatusPrincipalSameAsOnOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Current Status.Principal same as on opening"); + + b.Property("FinancialChecksAdditionalDebtDeficit") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Additional Debt/ Deficit"); + + b.Property("FinancialChecksBudgetReturnSubmittedByLastDeadline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Budget return submitted by last deadline"); + + b.Property("FinancialChecksFinancialNoticeToImproveIssued") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Financial Notice to Improve issued"); + + b.Property("FinancialChecksFinancialStatementsQualified") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Financial statements qualified"); + + b.Property("FinancialChecksFinancialStatementsSubmittedByLastDeadline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Financial statements submitted by last deadline"); + + b.Property("FinancialChecksFmgsReturnSubmittedByLastDeadline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.FMGS return submitted by last deadline"); + + b.Property("FinancialChecksMindedToIssueFnti") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Minded to issue FNTI"); + + b.Property("FinancialChecksMostRecentAuditedAccountsReceivedOnTime") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Most recent audited accounts received on time"); + + b.Property("FinancialChecksProjectDevelopmentGrantFinalReturnReceived") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Project Development Grant final return received"); + + b.Property("FinancialChecksRegularityOpinionQualified") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Regularity opinion qualified"); + + b.Property("FinancialChecksTotalOutstandingPna") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Total Outstanding PNA"); + + b.Property("FinancialChecksTotalRevenueLiabilities") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Total Revenue Liabilities"); + + b.Property("OpenPupilNumbersAcceptedApplicationsYr10ForNextYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Accepted applications Yr 10 for next year"); + + b.Property("OpenPupilNumbersAcceptedApplicationsYr12ForNextYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Accepted applications Yr 12 for next year"); + + b.Property("OpenPupilNumbersApplicationsYr10ForTheComingYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Applications Yr 10 for the coming year"); + + b.Property("OpenPupilNumbersApplicationsYr12ForTheComingYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Applications Yr 12 for the coming year"); + + b.Property("OpenPupilNumbersCapacityAgreedInPreOpening") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Capacity agreed in pre-opening"); + + b.Property("OpenPupilNumbersCensusDate") + .HasColumnType("date") + .HasColumnName("Open Pupil Numbers.Census date"); + + b.Property("OpenPupilNumbersCurrentPupilsOnRoll") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Current pupils on roll"); + + b.Property("OpenPupilNumbersDateEfaRingRoundPupilNumbersUpdated") + .HasColumnType("date") + .HasColumnName("Open Pupil Numbers.Date EFA ring round pupil numbers updated"); + + b.Property("OpenPupilNumbersEfaRingRoundPupilNumbers") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.EFA ring round pupil numbers"); + + b.Property("OpenPupilNumbersFull") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.%full"); + + b.Property("OpenPupilNumbersFundedNumberForTheComingYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Funded number for the coming year"); + + b.Property("OpenPupilNumbersFundedNumberForTheCurrentAcademicYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Funded number for the current academic year"); + + b.Property("OpenPupilNumbersNorAsOfFundedNumber") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.NOR as % of funded number"); + + b.Property("OpenPupilNumbersReception") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Reception"); + + b.Property("OpenPupilNumbersTotal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.Total"); + + b.Property("OpenPupilNumbersViabilityThresholdForTheComingYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Viability threshold for the coming year"); + + b.Property("OpenPupilNumbersViabilityThresholdForTheCurrentAcademicYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Viability threshold for the current academic year"); + + b.Property("OpenPupilNumbersY12Y14Total") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.Y12 - Y14 Total"); + + b.Property("OpenPupilNumbersY7Y11Total") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.Y7 - Y11 Total"); + + b.Property("OpenPupilNumbersYear1") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 1"); + + b.Property("OpenPupilNumbersYear10") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 10"); + + b.Property("OpenPupilNumbersYear11") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 11"); + + b.Property("OpenPupilNumbersYear12") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 12"); + + b.Property("OpenPupilNumbersYear13") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 13"); + + b.Property("OpenPupilNumbersYear14") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 14"); + + b.Property("OpenPupilNumbersYear2") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 2"); + + b.Property("OpenPupilNumbersYear3") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 3"); + + b.Property("OpenPupilNumbersYear4") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 4"); + + b.Property("OpenPupilNumbersYear5") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 5"); + + b.Property("OpenPupilNumbersYear6") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 6"); + + b.Property("OpenPupilNumbersYear7") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 7"); + + b.Property("OpenPupilNumbersYear8") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 8"); + + b.Property("OpenPupilNumbersYear9") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 9"); + + b.Property("OpenPupilNumbersYrY6Total") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.YR - Y6 Total"); + + 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("Opens", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("OpensHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Pdfd", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("ProjectDirectorForecastingDashboardActualDateOfOpeningActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Actual date of opening (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardAllPupilsOutOfTemporaryAccommodationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.All pupils out of temporary accommodation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardAllPupilsOutOfTemporaryAccommodationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.All pupils out of temporary accommodation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardAllPupilsOutOfTemporaryAccommodationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.All pupils out of temporary accommodation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardAllPupilsOutOfTemporaryAccommodationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.All pupils out of temporary accommodation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardCapitalProjectRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Capital Project RAG Rating"); + + b.Property("ProjectDirectorForecastingDashboardCapitalProjectRagRatingCommentary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Project Director Forecasting Dashboard.Capital Project RAG Rating commentary"); + + b.Property("ProjectDirectorForecastingDashboardCompleteOnSiteForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Complete on site for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardCompleteOnSiteForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Complete on site for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardCompleteOnSiteForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Complete on site for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardCompleteOnSiteForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Complete on site for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardConstruction") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Construction"); + + b.Property("ProjectDirectorForecastingDashboardConstructionCommentary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Project Director Forecasting Dashboard.Construction commentary"); + + b.Property("ProjectDirectorForecastingDashboardContractorAppointedForMainSchoolBuildingSpmEwaPcsaActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Contractor appointed for main school building (SPM, EWA, PCSA) (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardContractorAppointedForMainSchoolBuildingSpmEwaPcsaRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Contractor appointed for main school building (SPM, EWA, PCSA) (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardContractorAppointedForMainSchoolBuildingSpmEwaPcsaRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Contractor appointed for main school building (SPM, EWA, PCSA) (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardContractorAppointedForMainSchoolBuildingSpmEwaPcsaRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Contractor appointed for main school building (SPM, EWA, PCSA) (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfCompletionOnTemporaryAccommodationSiteIfRequiredActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of completion on temporary accommodation site, if required (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfCompletionOnTemporaryAccommodationSiteIfRequiredRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of completion on temporary accommodation site, if required (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfCompletionOnTemporaryAccommodationSiteIfRequiredRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of completion on temporary accommodation site, if required (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfCompletionOnTemporaryAccommodationSiteIfRequiredRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of completion on temporary accommodation site, if required (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of HoT secured on temporary accommodation site, if required (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of HoT secured on temporary accommodation site, if required (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of HoT secured on temporary accommodation site, if required (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of HoT secured on temporary accommodation site, if required (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of positive planning decision notice secured for main school building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of positive planning decision notice secured for main school building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of positive planning decision notice secured for main school building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of positive planning decision notice secured for main school building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardEndOfProjectNoMoreCapitalSpendEndOfDefectsActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.End of Project (No more capital spend/end of defects) (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardEndOfProjectNoMoreCapitalSpendEndOfDefectsRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.End of Project (No more capital spend/end of defects) (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardEndOfProjectNoMoreCapitalSpendEndOfDefectsRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.End of Project (No more capital spend/end of defects) (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardEndOfProjectNoMoreCapitalSpendEndOfDefectsRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.End of Project (No more capital spend/end of defects) (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Contract for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Contract for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Contract for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Contract for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForTheInitialProvisionOfTemporaryAccommodationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into contract for the initial provision of temporary accommodation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForTheInitialProvisionOfTemporaryAccommodationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into contract for the initial provision of temporary accommodation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForTheInitialProvisionOfTemporaryAccommodationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into contract for the initial provision of temporary accommodation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForTheInitialProvisionOfTemporaryAccommodationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into contract for the initial provision of temporary accommodation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoFundingAgreementActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Funding Agreement (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoFundingAgreementRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Funding Agreement (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoFundingAgreementRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Funding Agreement (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoFundingAgreementRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Funding Agreement (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardEsfaProjectDirectorRp1DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.ESFA Project Director (RP1) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardEsfaProjectDirectorRp2DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.ESFA Project Director (RP2) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardEsfaProjectDirectorRp3DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.ESFA Project Director (RP3) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardExchangeOnSiteForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Exchange on site for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardExchangeOnSiteForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Exchange on site for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardExchangeOnSiteForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Exchange on site for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardExchangeOnSiteForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Exchange on site for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardFdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.FD_Year"); + + b.Property("ProjectDirectorForecastingDashboardFeasibilityStartedForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Feasibility Started for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardFsgLeadContactActualLastUpdated") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.FSG Lead Contact (Actual) (Last Updated)"); + + b.Property("ProjectDirectorForecastingDashboardFsgLeadContactRp1LastUpdated") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.FSG Lead Contact (RP1) (Last Updated)"); + + b.Property("ProjectDirectorForecastingDashboardFsgLeadContactRp2LastUpdated") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.FSG Lead Contact (RP2) (Last Updated)"); + + b.Property("ProjectDirectorForecastingDashboardFsgLeadContactRp3LastUpdated") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.FSG Lead Contact (RP3) (Last Updated)"); + + b.Property("ProjectDirectorForecastingDashboardHoTAgreedForSiteForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.HoT Agreed for site for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardHoTAgreedForSiteForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.HoT Agreed for site for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardHoTAgreedForSiteForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.HoT Agreed for site for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardHoTAgreedForSiteForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.HoT Agreed for site for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredAdditionalTemporaryAccommodationReadyForOccupationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, additional temporary accommodation ready for occupation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredAdditionalTemporaryAccommodationReadyForOccupationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, additional temporary accommodation ready for occupation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredAdditionalTemporaryAccommodationReadyForOccupationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, additional temporary accommodation ready for occupation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredAdditionalTemporaryAccommodationReadyForOccupationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, additional temporary accommodation ready for occupation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredEnterIntoContractForAdditionalTemporaryAccommodationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, enter into contract for additional temporary accommodation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredEnterIntoContractForAdditionalTemporaryAccommodationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, enter into contract for additional temporary accommodation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredEnterIntoContractForAdditionalTemporaryAccommodationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, enter into contract for additional temporary accommodation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredEnterIntoContractForAdditionalTemporaryAccommodationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, enter into contract for additional temporary accommodation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardLastUpdatedByPd") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Last Updated by PD"); + + b.Property("ProjectDirectorForecastingDashboardMainSchoolBuildingFirstReadyForOccupationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Main School Building first ready for occupation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardMainSchoolBuildingFirstReadyForOccupationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Main School Building first ready for occupation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardMainSchoolBuildingFirstReadyForOccupationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Main School Building first ready for occupation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardMainSchoolBuildingFirstReadyForOccupationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Main School Building first ready for occupation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardPlanning") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Planning"); + + b.Property("ProjectDirectorForecastingDashboardPlanningCommentary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Project Director Forecasting Dashboard.Planning commentary"); + + b.Property("ProjectDirectorForecastingDashboardPracticalCompletionOfContractForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Practical completion of contract for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardPracticalCompletionOfContractForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Practical completion of contract for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardPracticalCompletionOfContractForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Practical completion of contract for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardPracticalCompletionOfContractForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Practical completion of contract for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardProperty") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Property"); + + b.Property("ProjectDirectorForecastingDashboardPropertyCommentary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Project Director Forecasting Dashboard.Property commentary"); + + b.Property("ProjectDirectorForecastingDashboardRealisticYearOfOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Realistic Year of Opening"); + + b.Property("ProjectDirectorForecastingDashboardRhFreezeDataForReportingPeriodRp1DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.RH - Freeze data for Reporting Period (RP1) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardRhFreezeDataForReportingPeriodRp2DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.RH - Freeze data for Reporting Period (RP2) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardRhFreezeDataForReportingPeriodRp3DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.RH - Freeze data for Reporting Period (RP3) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardSiteIdenfitifiedForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Site idenfitified for main school building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfConstructionOfMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of construction of main school building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfConstructionOfMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of construction of main school building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfConstructionOfMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of construction of main school building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfConstructionOfMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of construction of main school building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfProcurementForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of procurement for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfProcurementForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of procurement for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfProcurementForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of procurement for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfProcurementForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of procurement for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardSubmissionOfPlanningPermissionForPermanentMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Submission of planning permission for permanent main school building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardSubmissionOfPlanningPermissionForPermanentMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Submission of planning permission for permanent main school building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardSubmissionOfPlanningPermissionForPermanentMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Submission of planning permission for permanent main school building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardSubmissionOfPlanningPermissionForPermanentMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Submission of planning permission for permanent main school building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardTemporary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Temporary"); + + b.Property("ProjectDirectorForecastingDashboardTemporaryAccommodationFirstReadyForOccupationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Temporary accommodation first ready for occupation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardTemporaryAccommodationFirstReadyForOccupationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Temporary accommodation first ready for occupation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardTemporaryAccommodationFirstReadyForOccupationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Temporary accommodation first ready for occupation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardTemporaryAccommodationFirstReadyForOccupationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Temporary accommodation first ready for occupation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardTemporaryCommentary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Project Director Forecasting Dashboard.Temporary commentary"); + + b.HasKey("Rid"); + + b.ToTable("PDFD", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PDFDHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.PdfdArchive", b => + { + b.Property("ActualDateOfOpeningActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Actual date of opening (Actual)"); + + b.Property("AllPupilsOutOfTemporaryAccommodationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("All pupils out of temporary accommodation (Actual)"); + + b.Property("AllPupilsOutOfTemporaryAccommodationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("All pupils out of temporary accommodation (Forecast)"); + + b.Property("CapitalProjectRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Capital Project RAG Rating"); + + b.Property("CompleteOnSiteAcquisitionForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Complete on site acquisition for Main School Building (Actual)"); + + b.Property("CompleteOnSiteAcquisitionForMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Complete on site acquisition for Main School Building (Forecast)"); + + b.Property("ContractorAppointedForMainSchoolBuildingSpmEwaPcsaActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contractor appointed for main school building (SPM, EWA, PCSA) (Actual)"); + + b.Property("ContractorAppointedForMainSchoolBuildingSpmEwaPcsaForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contractor appointed for main school building (SPM, EWA, PCSA) (Forecast)"); + + b.Property("DateHoTSecuredOnSiteForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date HoT secured on site for main school building (Actual)"); + + b.Property("DateHoTSecuredOnSiteForMainSchoolBuildingBaseline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date HoT secured on site for main school building (Baseline)"); + + b.Property("DateOfCompletionOnTemporaryAccommodationSiteIfRequiredActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of completion on temporary accommodation site, if required (Actual)"); + + b.Property("DateOfCompletionOnTemporaryAccommodationSiteIfRequiredForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of completion on temporary accommodation site, if required (Forecast)"); + + b.Property("DateOfExchangeOnSiteForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of exchange on site for main school building (Actual)"); + + b.Property("DateOfExchangeOnSiteForMainSchoolBuildingBaseline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of exchange on site for main school building (Baseline)"); + + b.Property("DateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of HoT secured on temporary accommodation site, if required (Actual)"); + + b.Property("DateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of HoT secured on temporary accommodation site, if required (Forecast)"); + + b.Property("DateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of positive planning decision notice secured for main school building (Actual)"); + + b.Property("DateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of positive planning decision notice secured for main school building (Forecast)"); + + b.Property("EndOfProjectNoMoreCapitalSpendEndOfDefectsActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("End of Project (No more capital spend/end of defects) (Actual)"); + + b.Property("EndOfProjectNoMoreCapitalSpendEndOfDefectsForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("End of Project (No more capital spend/end of defects) (Forecast)"); + + b.Property("EnterIntoContractForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into Contract for Main School Building (Actual)"); + + b.Property("EnterIntoContractForMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into Contract for Main School Building (Forecast)"); + + b.Property("EnterIntoContractForTheInitialProvisionOfTemporaryAccommodationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into contract for the initial provision of temporary accommodation (Actual)"); + + b.Property("EnterIntoContractForTheInitialProvisionOfTemporaryAccommodationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into contract for the initial provision of temporary accommodation (Forecast)"); + + b.Property("EnterIntoFundingAgreementActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into Funding Agreement (Actual)"); + + b.Property("EnterIntoFundingAgreementForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into Funding Agreement (Forecast)"); + + b.Property("FeasibilityStartedForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Feasibility Started for Main School Building (Actual)"); + + b.Property("FreeSchoolName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Free School Name"); + + b.Property("HeadOfRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Head of Region"); + + b.Property("IfRequiredAdditionalTemporaryAccommodationReadyForOccupationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("If required, additional temporary accommodation ready for occupation (Actual)"); + + b.Property("IfRequiredAdditionalTemporaryAccommodationReadyForOccupationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("If required, additional temporary accommodation ready for occupation (Forecast)"); + + b.Property("IfRequiredEnterIntoContractForAdditionalTemporaryAccommodationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("If required, enter into contract for additional temporary accommodation (Actual)"); + + b.Property("IfRequiredEnterIntoContractForAdditionalTemporaryAccommodationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("If required, enter into contract for additional temporary accommodation (Forecast)"); + + b.Property("MainSchoolBuildingFirstReadyToBeOpenedForOccupationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Main school building first ready to be opened for occupation (Actual)"); + + b.Property("MainSchoolBuildingFirstReadyToBeOpenedForOccupationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Main school building first ready to be opened for occupation (Forecast)"); + + b.Property("Month") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)"); + + b.Property("PracticalCompletionOfContractForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Practical completion of contract for Main School Building (Actual)"); + + b.Property("PracticalCompletionOfContractForMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Practical completion of contract for Main School Building (Forecast)"); + + b.Property("ProjectDirector") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director"); + + b.Property("ProjectDirectorApproval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Approval"); + + b.Property("ProjectId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project ID"); + + b.Property("ProjectManager") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Manager"); + + b.Property("RealisticYearOfOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Realistic Year of Opening"); + + b.Property("RegionalHeadFreezeDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Regional Head - Freeze Date"); + + b.Property("SiteIdentifiedForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site identified for main school building (Actual)"); + + b.Property("StartOfConstructionOfMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Start of construction of main school building (Actual)"); + + b.Property("StartOfConstructionOfMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Start of construction of main school building (Forecast)"); + + b.Property("StartOfProcurementForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Start of procurement for Main School Building (Actual)"); + + b.Property("StartOfProcurementForMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Start of procurement for Main School Building (Forecast)"); + + b.Property("SubmissionOfPlanningPermissionForPermanentMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Submission of planning permission for permanent main school building (Actual)"); + + b.Property("SubmissionOfPlanningPermissionForPermanentMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Submission of planning permission for permanent main school building (Forecast)"); + + b.Property("TemporaryAccommodationFirstReadyForOccupationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary accommodation first ready for occupation (Actual)"); + + b.Property("TemporaryAccommodationFirstReadyForOccupationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary accommodation first ready for occupation (Forecast)"); + + b.ToTable("PDFD_Archive", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Pdgl", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("ProjectDeliveryGrantLetterPdglId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Delivery Grant Letter.PDGL ID"); + + b.Property("ProjectDeliveryGrantLetterProjectDeliveryGrantLetterIssuedDate") + .HasColumnType("date") + .HasColumnName("Project Delivery Grant Letter.Project Delivery Grant Letter issued date"); + + b.Property("ProjectDeliveryGrantLetterProjectDeliveryGrantLetterTotalValue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Delivery Grant Letter.Project Delivery Grant Letter total value"); + + b.HasKey("Rid"); + + b.ToTable("PDGL", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PDGLHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.PerfFsg", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("SchoolPerformanceDataKs1Ks2ValueAdded") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS1-KS2 value added"); + + b.Property("SchoolPerformanceDataKs2AverageScoreInMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 Average score in maths"); + + b.Property("SchoolPerformanceDataKs2AverageScoreInReading") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 Average score in reading"); + + b.Property("SchoolPerformanceDataKs2EngProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 Eng progress"); + + b.Property("SchoolPerformanceDataKs2ExpectedStandardInMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 expected standard in maths"); + + b.Property("SchoolPerformanceDataKs2ExpectedStandardInReading") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 expected standard in reading"); + + b.Property("SchoolPerformanceDataKs2ExpectedStandardInReadingWritingAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 expected standard in reading writing and maths"); + + b.Property("SchoolPerformanceDataKs2ExpectedStandardInWriting") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 expected standard in writing"); + + b.Property("SchoolPerformanceDataKs2HighInMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 high in maths"); + + b.Property("SchoolPerformanceDataKs2HighInReading") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 high in reading"); + + b.Property("SchoolPerformanceDataKs2HighInReadingWritingAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 high in reading, writing and maths"); + + b.Property("SchoolPerformanceDataKs2HighInWriting") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 high in writing"); + + b.Property("SchoolPerformanceDataKs2Ks4ValueAdded") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2-KS4 value added"); + + b.Property("SchoolPerformanceDataKs2Ks4ValueAddedPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2-KS4 value added Pr"); + + b.Property("SchoolPerformanceDataKs2Level4EngMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 4+ Eng maths"); + + b.Property("SchoolPerformanceDataKs2Level4Maths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 4+ maths"); + + b.Property("SchoolPerformanceDataKs2Level4ReadWriteMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 4+ read write maths"); + + b.Property("SchoolPerformanceDataKs2Level4Reading") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 4+ reading"); + + b.Property("SchoolPerformanceDataKs2Level4Writing") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 4+ writing"); + + b.Property("SchoolPerformanceDataKs2Level5EngMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 5+ Eng maths"); + + b.Property("SchoolPerformanceDataKs2Level5Maths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 5+ maths"); + + b.Property("SchoolPerformanceDataKs2Level5ReadWriteMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 5+ read write maths"); + + b.Property("SchoolPerformanceDataKs2Level5Reading") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 5+ reading"); + + b.Property("SchoolPerformanceDataKs2Level5Writing") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 5+ writing"); + + b.Property("SchoolPerformanceDataKs2MathsProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 maths progress"); + + b.Property("SchoolPerformanceDataKs2MathsProgressLowerConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 maths progress lower confidence interval"); + + b.Property("SchoolPerformanceDataKs2MathsProgressScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 maths progress score"); + + b.Property("SchoolPerformanceDataKs2MathsProgressUpperConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 maths progress upper confidence interval"); + + b.Property("SchoolPerformanceDataKs2Pupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 pupils"); + + b.Property("SchoolPerformanceDataKs2PupilsAchievingAHighScoreInReadingWritingAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 pupils achieving a high score in reading, writing and maths"); + + b.Property("SchoolPerformanceDataKs2ReadProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 read progress"); + + b.Property("SchoolPerformanceDataKs2ReadingProgressLowerConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 reading progress lower confidence interval"); + + b.Property("SchoolPerformanceDataKs2ReadingProgressScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 reading progress score"); + + b.Property("SchoolPerformanceDataKs2ReadingProgressUpperConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 reading progress upper confidence interval"); + + b.Property("SchoolPerformanceDataKs2WriteProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 write progress"); + + b.Property("SchoolPerformanceDataKs2WritingProgressLowerConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 writing progress lower confidence interval"); + + b.Property("SchoolPerformanceDataKs2WritingProgressScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 writing progress score"); + + b.Property("SchoolPerformanceDataKs2WritingProgressUpperConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 writing progress upper confidence interval"); + + b.Property("SchoolPerformanceDataKs45acIncEngMath") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 5AC inc Eng math"); + + b.Property("SchoolPerformanceDataKs45acIncEngMathPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 5AC inc Eng math Pr"); + + b.Property("SchoolPerformanceDataKs45acIncEngMathPupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 5AC inc Eng math Pupils"); + + b.Property("SchoolPerformanceDataKs4AchievingAStandardPass5OrAboveInEnglishAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 achieving a ‘standard pass’ (5 or above) in English and maths"); + + b.Property("SchoolPerformanceDataKs4AchievingAStandardPass5OrAboveInEnglishAndMathsPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 achieving a ‘standard pass’ (5 or above) in English and maths Pr"); + + b.Property("SchoolPerformanceDataKs4AchievingAStrongPass5OrAboveInEnglishAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 achieving a ‘strong pass’ (5 or above) in English and maths"); + + b.Property("SchoolPerformanceDataKs4AchievingAStrongPass5OrAboveInEnglishAndMathsPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 achieving a ‘strong pass’ (5 or above) in English and maths Pr"); + + b.Property("SchoolPerformanceDataKs4Attainment8Score") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score"); + + b.Property("SchoolPerformanceDataKs4Attainment8ScoreEbacc") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score - Ebacc"); + + b.Property("SchoolPerformanceDataKs4Attainment8ScoreEnglish") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score - English"); + + b.Property("SchoolPerformanceDataKs4Attainment8ScoreMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score - Maths"); + + b.Property("SchoolPerformanceDataKs4Attainment8ScoreOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score - Open"); + + b.Property("SchoolPerformanceDataKs4Attainment8ScorePr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score Pr"); + + b.Property("SchoolPerformanceDataKs4CInEnglishAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 C + in English and maths"); + + b.Property("SchoolPerformanceDataKs4CInEnglishAndMathsPupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 C + in English and maths Pupils"); + + b.Property("SchoolPerformanceDataKs4Ebacc") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 EBacc"); + + b.Property("SchoolPerformanceDataKs4EbaccPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 EBacc Pr"); + + b.Property("SchoolPerformanceDataKs4EbaccPupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Ebacc Pupils"); + + b.Property("SchoolPerformanceDataKs4EngProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Eng progress"); + + b.Property("SchoolPerformanceDataKs4EngProgressPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Eng progress Pr"); + + b.Property("SchoolPerformanceDataKs4MathsProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 maths progress"); + + b.Property("SchoolPerformanceDataKs4MathsProgressPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 maths progress Pr"); + + b.Property("SchoolPerformanceDataKs4Progress8LowerConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 lower confidence interval"); + + b.Property("SchoolPerformanceDataKs4Progress8LowerConfidenceIntervalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 lower confidence interval Pr"); + + b.Property("SchoolPerformanceDataKs4Progress8Pupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 pupils"); + + b.Property("SchoolPerformanceDataKs4Progress8PupilsPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 pupils Pr"); + + b.Property("SchoolPerformanceDataKs4Progress8Score") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score"); + + b.Property("SchoolPerformanceDataKs4Progress8ScoreEbacc") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score -Ebacc"); + + b.Property("SchoolPerformanceDataKs4Progress8ScoreEnglish") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score - English"); + + b.Property("SchoolPerformanceDataKs4Progress8ScoreMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score - Maths"); + + b.Property("SchoolPerformanceDataKs4Progress8ScoreOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score - Open"); + + b.Property("SchoolPerformanceDataKs4Progress8ScorePr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score Pr"); + + b.Property("SchoolPerformanceDataKs4Progress8UpperConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 upper confidence interval"); + + b.Property("SchoolPerformanceDataKs4Progress8UpperConfidenceIntervalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 upper confidence interval Pr"); + + b.Property("SchoolPerformanceDataKs4Pupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 pupils"); + + b.Property("SchoolPerformanceDataKs4PupilsPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 pupils Pr"); + + b.Property("SchoolPerformanceDataKs5ApsPerEntryAcademic") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 APS per entry (Academic)"); + + b.Property("SchoolPerformanceDataKs5ApsPerEntryAcademicPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 APS per entry (Academic) Pr"); + + b.Property("SchoolPerformanceDataKs5ApsPerEntryAppliedGeneral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 APS per entry (applied general)"); + + b.Property("SchoolPerformanceDataKs5ApsPerEntryVocational") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 APS per entry (Vocational)"); + + b.Property("SchoolPerformanceDataKs5ApsPerEntryVocationalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 APS per entry (Vocational) Pr"); + + b.Property("SchoolPerformanceDataKs5PupilsAcademic") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (academic)"); + + b.Property("SchoolPerformanceDataKs5PupilsAcademicPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (academic) Pr"); + + b.Property("SchoolPerformanceDataKs5PupilsAll") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (all)"); + + b.Property("SchoolPerformanceDataKs5PupilsAllPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (all)PR"); + + b.Property("SchoolPerformanceDataKs5PupilsAppliedGeneral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (applied general)"); + + b.Property("SchoolPerformanceDataKs5PupilsAppliedGeneralPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (applied general) Pr"); + + b.Property("SchoolPerformanceDataKs5ValueAddedAcademic") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (academic)"); + + b.Property("SchoolPerformanceDataKs5ValueAddedAcademicPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (academic) Pr"); + + b.Property("SchoolPerformanceDataKs5ValueAddedAppliedGeneral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (applied general)"); + + b.Property("SchoolPerformanceDataKs5ValueAddedAppliedGeneralPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (applied general) Pr"); + + b.Property("SchoolPerformanceDataKs5ValueAddedLowerConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added lower confidence interval"); + + b.Property("SchoolPerformanceDataKs5ValueAddedLowerConfidenceIntervalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added lower confidence interval Pr"); + + b.Property("SchoolPerformanceDataKs5ValueAddedUpperConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added upper confidence interval"); + + b.Property("SchoolPerformanceDataKs5ValueAddedUpperConfidenceIntervalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added upper confidence interval Pr"); + + b.Property("SchoolPerformanceDataKs5ValueAddedVocational") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (Vocational)"); + + b.Property("SchoolPerformanceDataKs5ValueAddedVocationalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (Vocational) Pr"); + + b.Property("SchoolPerformanceDataNumberOfPupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.Number of pupils"); + + b.Property("SchoolPerformanceDataProgress8OptIn") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.Progress 8 opt in"); + + b.Property("SchoolPerformanceDataYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("School Performance Data.Year"); + + b.HasKey("Rid"); + + b.ToTable("Perf_FSG", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("Perf_FSGHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.PerfFsgLocal", b => + { + b.Property("Attainment8ScoreLaAverage") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Attainment 8 Score LA Average"); + + b.Property("InEducationPercentage") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("In Education (percentage)"); + + b.Property("Ks4CInEnglishMathsLaAverage") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS4 C+ in English & Maths LA Average (%)"); + + b.Property("Ks4EbaccEnteredForEbacc") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS4 Ebacc (% entered for Ebacc)"); + + b.Property("Ks5ALevelApsPerEntry") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS5 A-Level (APS per Entry)"); + + b.Property("Ks5AcademicProgressScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS5 Academic Progress Score"); + + b.Property("Ks5AcademicProgressScoreAverageGrade") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS5 Academic Progress Score (Average Grade)"); + + b.Property("Ks5TechLevelApsPerEntry") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS5 Tech Level (APS per Entry)"); + + b.Property("Ks5TechLevelApsPerEntryLaAverage") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS5 Tech Level (APS per Entry - LA Average)"); + + b.Property("ProjectId") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("Project ID"); + + b.Property("TotalOfStudentsStayingInEducationOrEmployment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Total % of students staying in education or employment"); + + b.Property("Urn") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("URN"); + + b.Property("Year") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)"); + + b.ToTable("Perf_FSG_Local", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Planning", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("PlanningRecordAddressManualOverwrite") + .HasColumnType("bit") + .HasColumnName("Planning Record.Address - Manual overwrite?"); + + b.Property("PlanningRecordAddressOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Address of site"); + + b.Property("PlanningRecordAppealDecision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Appeal decision"); + + b.Property("PlanningRecordAppealProcedure") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Appeal procedure"); + + b.Property("PlanningRecordAppealRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Appeal required?"); + + b.Property("PlanningRecordClassCExpiryDateActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Class C expiry date (Actual)"); + + b.Property("PlanningRecordDateAppealSubmittedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date appeal submitted (actual)"); + + b.Property("PlanningRecordDateAppealSubmittedForecast") + .HasColumnType("date") + .HasColumnName("Planning Record.Date appeal submitted (forecast)"); + + b.Property("PlanningRecordDateAppealValidatedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date appeal validated (actual)"); + + b.Property("PlanningRecordDateLetterSentToLocalPlanningAuthorityActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date letter sent to local planning authority (Actual)"); + + b.Property("PlanningRecordDateLetterSentToLocalPlanningAuthorityForecast") + .HasColumnType("date") + .HasColumnName("Planning Record.Date letter sent to local planning authority (Forecast)"); + + b.Property("PlanningRecordDateOfAppealDecisionNoticeActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date of appeal decision notice (actual)"); + + b.Property("PlanningRecordDateOfAppealDecisionNoticeForecast") + .HasColumnType("date") + .HasColumnName("Planning Record.Date of appeal decision notice (forecast)"); + + b.Property("PlanningRecordDateOfPlanningDecisionNoticeActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date of planning decision notice (actual)"); + + b.Property("PlanningRecordDateOfPlanningDecisionNoticeForecast") + .HasColumnType("date") + .HasColumnName("Planning Record.Date of planning decision notice (forecast)"); + + b.Property("PlanningRecordDateOfStatutoryDeterminationActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date of statutory determination (actual)"); + + b.Property("PlanningRecordDatePlanningApplicationSubmittedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date planning application submitted (actual)"); + + b.Property("PlanningRecordDatePlanningApplicationSubmittedForecast") + .HasColumnType("date") + .HasColumnName("Planning Record.Date planning application submitted (forecast)"); + + b.Property("PlanningRecordDatePlanningApplicationValidatedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date planning application validated (actual)"); + + b.Property("PlanningRecordDatePlanningAppraisalCompletedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date planning appraisal completed (actual)"); + + b.Property("PlanningRecordDescriptionOfDevelopment") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Planning Record.Description of development"); + + b.Property("PlanningRecordIsPlanningPermissionRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Is planning permission required?"); + + b.Property("PlanningRecordIsThisTheMainPlanningRecord") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Is this the main planning record?"); + + b.Property("PlanningRecordJrChallengePeriodFinishedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.JR challenge period finished (actual)"); + + b.Property("PlanningRecordLocalPlanningAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Local planning authority"); + + b.Property("PlanningRecordLpaApplicationReference") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.LPA application reference"); + + b.Property("PlanningRecordNameManualOverwrite") + .HasColumnType("bit") + .HasColumnName("Planning Record.Name - Manual overwrite?"); + + b.Property("PlanningRecordPlanningAppraisalCompleted") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Planning appraisal completed"); + + b.Property("PlanningRecordPlanningDecision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Planning decision"); + + b.Property("PlanningRecordPlanningLeadComments") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("Planning Record.Planning Lead comments"); + + b.Property("PlanningRecordPlanningPermissionLimitedToASpecificTimeAndExpiryPeriod") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Planning permission limited to a specific time and expiry period"); + + b.Property("PlanningRecordPlanningRisk") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Planning risk"); + + b.Property("PlanningRecordPostcodeManualOverwrite") + .HasColumnType("bit") + .HasColumnName("Planning Record.Postcode - Manual overwrite?"); + + b.Property("PlanningRecordPostcodeOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Postcode of site"); + + b.Property("PlanningRecordPrNameOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.PR_Name of site"); + + b.Property("PlanningRecordPrPlanningPermissionExpiryDateActual") + .HasColumnType("date") + .HasColumnName("Planning Record.PR_Planning permission expiry date (actual)"); + + b.Property("PlanningRecordSiteId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Site ID"); + + b.Property("PlanningRecordStorePlanningRecordId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Store planning record ID"); + + b.Property("PlanningRecordTypeOfPlanningRequired") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Planning Record.Type of planning required"); + + b.Property("PlanningRecordWasPlanningSecuredInTimeForSchoolRequirements") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Was planning secured in time for school requirements?"); + + b.HasKey("Rid"); + + b.ToTable("Planning", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PlanningHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.PlanningQa", b => + { + b.Property("AppealProcedureHighlight") + .HasColumnType("int") + .HasColumnName("Appeal procedure highlight"); + + b.Property("AppealRequiredHighlight") + .HasColumnType("int") + .HasColumnName("Appeal required? highlight"); + + b.Property("ClassCExpiryDateActualHighlight") + .HasColumnType("int") + .HasColumnName("Class C expiry date (Actual) highlight"); + + b.Property("DateAppealSubmittedActualHighlight") + .HasColumnType("int") + .HasColumnName("Date appeal submitted (actual) highlight"); + + b.Property("DateAppealSubmittedForecastHighlight") + .HasColumnType("int") + .HasColumnName("Date appeal submitted (forecast) highlight"); + + b.Property("DateAppealValidatedActualHighlight") + .HasColumnType("int") + .HasColumnName("Date appeal validated (actual) highlight"); + + b.Property("DateLetterSentToLocalPlanningAuthorityActualHighlight") + .HasColumnType("int") + .HasColumnName("Date letter sent to local planning authority (Actual) highlight"); + + b.Property("DateLetterSentToLocalPlanningAuthorityForecastHighlight") + .HasColumnType("int") + .HasColumnName("Date letter sent to local planning authority (Forecast) highlight"); + + b.Property("DateOfAppealDecisionNoticeActualHighlight") + .HasColumnType("int") + .HasColumnName("Date of appeal decision notice (actual) highlight"); + + b.Property("DateOfAppealDecisionNoticeForecastHighlight") + .HasColumnType("int") + .HasColumnName("Date of appeal decision notice (forecast) highlight"); + + b.Property("DateOfPlanningDecisionNoticeActualHighlight") + .HasColumnType("int") + .HasColumnName("Date of planning decision notice (actual) highlight"); + + b.Property("DateOfPlanningDecisionNoticeForecastHighlight") + .HasColumnType("int") + .HasColumnName("Date of planning decision notice (forecast) highlight"); + + b.Property("DateOfStatutoryDeterminationActualHighlight") + .HasColumnType("int") + .HasColumnName("Date of statutory determination (actual) highlight"); + + b.Property("DatePlanningApplicationSubmittedActualHighlight") + .HasColumnType("int") + .HasColumnName("Date planning application submitted (actual) highlight"); + + b.Property("DatePlanningApplicationSubmittedForecastHighlight") + .HasColumnType("int") + .HasColumnName("Date planning application submitted (forecast) highlight"); + + b.Property("DatePlanningApplicationValidatedActualHighlight") + .HasColumnType("int") + .HasColumnName("Date planning application validated (actual) highlight"); + + b.Property("LpaApplicationReferenceHighlight") + .HasColumnType("int") + .HasColumnName("LPA application reference highlight"); + + b.Property("Month") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)"); + + b.Property("PlanningPermissionExpiryDateActualHighlight") + .HasColumnType("int") + .HasColumnName("Planning permission expiry date (actual) highlight"); + + b.Property("PlanningPermissionLimitedToASpecificTimeAndExpiryPeriodHighlight") + .HasColumnType("int") + .HasColumnName("Planning permission limited to a specific time and expiry period highlight"); + + b.Property("PlanningRiskHighlight") + .HasColumnType("int") + .HasColumnName("Planning risk highlight"); + + b.Property("TypeOfPlanningRequiredHighlight") + .HasColumnType("int") + .HasColumnName("Type of planning required highlight"); + + b.ToTable("Planning_QA", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Po", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("FinancialPlanningOptInToRpa") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Planning.Opt in to RPA"); + + b.Property("FinancialPlanningStartDateOfRpa") + .HasColumnType("date") + .HasColumnName("Financial Planning.Start date of RPA"); + + b.Property("FinancialPlanningTypeOfRpaCover") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Planning.Type of RPA cover"); + + b.Property("PRid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("p_rid"); + + b.Property("PdgFirstVariationGrantLetterSavedToWorkplaces") + .HasColumnType("bit"); + + b.Property("PdgFourthVariationGrantLetterSavedToWorkplaces") + .HasColumnType("bit"); + + b.Property("PdgGrantLetterLinkSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("PdgGrantLetterLinkSavedToWorkplaces"); + + b.Property("PdgInitialGrantLetterDate") + .HasColumnType("datetime2"); + + b.Property("PdgInitialGrantLetterLink") + .HasColumnType("nvarchar(max)"); + + b.Property("PdgInitialGrantLetterSavedToWorkplaces") + .HasColumnType("bit"); + + b.Property("PdgIsWriteOffSetup") + .HasColumnType("bit") + .HasColumnName("PdgIsWriteOffSetup"); + + b.Property("PdgSecondVariationGrantLetterSavedToWorkplaces") + .HasColumnType("bit"); + + b.Property("PdgThirdVariationGrantLetterSavedToWorkplaces") + .HasColumnType("bit"); + + b.Property("PeriodEnd") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodEnd"); + + b.Property("PeriodStart") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodStart"); + + b.Property("ProjectDevelopmentGrantFunding1stPdgGrantVariationDate") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.1st PDG grant variation date"); + + b.Property("ProjectDevelopmentGrantFunding1stPdgGrantVariationLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.1st PDG grant variation link"); + + b.Property("ProjectDevelopmentGrantFunding1stWriteOffApprovedInFsgBy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.1st write off approved in FSG by"); + + b.Property("ProjectDevelopmentGrantFunding2ndDateWriteOffApprovedByFinanceBusinessPartners") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.2nd Date write off approved by Finance Business Partners"); + + b.Property("ProjectDevelopmentGrantFunding2ndFinanceBusinessPartnerApprovalReceivedFrom") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.2nd Finance Business Partner Approval received from"); + + b.Property("ProjectDevelopmentGrantFunding2ndLinkWriteOffPaperworkRepository") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.2nd Link write off paperwork repository"); + + b.Property("ProjectDevelopmentGrantFunding2ndPdgGrantVariationDate") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.2nd PDG grant variation date"); + + b.Property("ProjectDevelopmentGrantFunding2ndPdgGrantVariationLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.2nd PDG grant variation link"); + + b.Property("ProjectDevelopmentGrantFunding2ndWriteOffApprovedInFsgBy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.2nd write off approved in FSG by"); + + b.Property("ProjectDevelopmentGrantFunding3rdDateWriteOffApprovedByFinanceBusinessPartners") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.3rd Date write off approved by Finance Business Partners"); + + b.Property("ProjectDevelopmentGrantFunding3rdFinanceBusinessPartnerApprovalReceivedFrom") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.3rd Finance Business Partner Approval received from"); + + b.Property("ProjectDevelopmentGrantFunding3rdLinkWriteOffPaperworkRepository") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.3rd Link write off paperwork repository"); + + b.Property("ProjectDevelopmentGrantFunding3rdPdgGrantVariationDate") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.3rd PDG grant variation date"); + + b.Property("ProjectDevelopmentGrantFunding3rdPdgGrantVariationLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.3rd PDG grant variation link"); + + b.Property("ProjectDevelopmentGrantFunding3rdWriteOffApprovedInFsgBy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.3rd write off approved in FSG by"); + + b.Property("ProjectDevelopmentGrantFunding4thPdgGrantVariationDate") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.4th PDG grant variation date"); + + b.Property("ProjectDevelopmentGrantFunding4thPdgGrantVariationLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.4th PDG grant variation link"); + + b.Property("ProjectDevelopmentGrantFundingAmountApprovedFor1stWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount approved for 1st write off"); + + b.Property("ProjectDevelopmentGrantFundingAmountApprovedFor2ndWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount approved for 2nd write off"); + + b.Property("ProjectDevelopmentGrantFundingAmountApprovedFor3rdWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount approved for 3rd write off"); + + b.Property("ProjectDevelopmentGrantFundingAmountCleared") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount Cleared"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf10thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 10th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf10thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 10th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf11thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 11th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf11thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 11th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf12thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 12th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf12thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 12th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf1stPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 1st payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf1stPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 1st payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf1stRefund") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 1st refund "); + + b.Property("ProjectDevelopmentGrantFundingAmountOf2ndPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 2nd payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf2ndPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 2nd payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf2ndRefund") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 2nd refund "); + + b.Property("ProjectDevelopmentGrantFundingAmountOf3rdPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 3rd payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf3rdPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 3rd payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf3rdRefund") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 3rd refund"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf4thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 4th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf4thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 4th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf5thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 5th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf5thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 5th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf6thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 6th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf6thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 6th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf7thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 7th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf7thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 7th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf8thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 8th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf8thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 8th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf9thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 9th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf9thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 9th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountRealised") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount Realised"); + + b.Property("ProjectDevelopmentGrantFundingAmountToBeUnderwritten") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount to be Underwritten"); + + b.Property("ProjectDevelopmentGrantFundingContingencyClearedRealised") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Contingency Cleared / Realised"); + + b.Property("ProjectDevelopmentGrantFundingDateNextFinancialStatementBudgetProfileIsDueBack") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date next financial statement / budget profile is due back"); + + b.Property("ProjectDevelopmentGrantFundingDateOf10thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 10th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf10thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 10th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf11thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 11th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf11thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 11th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf12thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 12th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf12thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 12th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf1stActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 1st actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf1stPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 1st payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf1stRefund") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 1st refund"); + + b.Property("ProjectDevelopmentGrantFundingDateOf1stWriteOff") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 1st write off"); + + b.Property("ProjectDevelopmentGrantFundingDateOf2ndActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 2nd actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf2ndPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 2nd payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf2ndRefund") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 2nd refund"); + + b.Property("ProjectDevelopmentGrantFundingDateOf2ndWriteOff") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 2nd write off"); + + b.Property("ProjectDevelopmentGrantFundingDateOf3rdActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 3rd actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf3rdPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 3rd payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf3rdRefund") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 3rd refund"); + + b.Property("ProjectDevelopmentGrantFundingDateOf3rdWriteOff") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 3rd write off"); + + b.Property("ProjectDevelopmentGrantFundingDateOf4thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 4th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf4thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 4th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf5thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 5th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf5thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 5th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf6thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 6th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf6thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 6th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf7thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 7th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf7thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 7th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf8thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 8th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf8thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 8th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf9thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 9th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf9thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 9th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDatePaymentsStopped") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date payments stopped"); + + b.Property("ProjectDevelopmentGrantFundingDateSop7ActionTaken") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date SOP7 action Taken"); + + b.Property("ProjectDevelopmentGrantFundingDateUnderwriteApproved") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date underwrite approved"); + + b.Property("ProjectDevelopmentGrantFundingDateWriteOffApprovedByFinanceBusinessPartners") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date write off approved by Finance Business Partners"); + + b.Property("ProjectDevelopmentGrantFundingFinanceBusinessPartnerApprovalReceivedFrom") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Finance Business Partner Approval received from"); + + b.Property("ProjectDevelopmentGrantFundingInitialGrantAllocation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Initial grant allocation"); + + b.Property("ProjectDevelopmentGrantFundingLinkWriteOffPaperworkRepository") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Link write off paperwork repository"); + + b.Property("ProjectDevelopmentGrantFundingManuallyOverwrite") + .HasColumnType("bit") + .HasColumnName("Project Development Grant Funding.Manually overwrite?"); + + b.Property("ProjectDevelopmentGrantFundingPaymentAmountWrittenOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Payment amount written off"); + + b.Property("ProjectDevelopmentGrantFundingPaymentsStopped") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Payments stopped"); + + b.Property("ProjectDevelopmentGrantFundingPdgGrantLetterDate") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.PDG grant letter date"); + + b.Property("ProjectDevelopmentGrantFundingPdgGrantLetterLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.PDG grant letter link"); + + b.Property("ProjectDevelopmentGrantFundingPeriodOfUnderwrite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Period of Underwrite"); + + b.Property("ProjectDevelopmentGrantFundingPo01ManuallyOverwrite") + .HasColumnType("bit") + .HasColumnName("Project Development Grant Funding.PO01_Manually Overwrite"); + + b.Property("ProjectDevelopmentGrantFundingReasonFor1stWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Reason for 1st write off"); + + b.Property("ProjectDevelopmentGrantFundingReasonFor2ndWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Reason for 2nd write off"); + + b.Property("ProjectDevelopmentGrantFundingReasonFor3rdWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Reason for 3rd write off"); + + b.Property("ProjectDevelopmentGrantFundingReasonForLiability") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Reason for Liability"); + + b.Property("ProjectDevelopmentGrantFundingRevisedGrantAllocation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Revised grant allocation"); + + b.Property("ProjectDevelopmentGrantFundingSop7ActionTaken") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.SOP7 Action Taken"); + + b.Property("ProjectDevelopmentGrantFundingSopSupplierNumber") + .HasMaxLength(8) + .IsUnicode(false) + .HasColumnType("varchar(8)") + .HasColumnName("Project Development Grant Funding.SOP Supplier Number"); + + b.Property("ProjectDevelopmentGrantFundingStoppedPaymentsAuthorisedBy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Stopped payments authorised by"); + + b.Property("ProjectDevelopmentGrantFundingTotalPaymentsMade") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Total payments made"); + + b.Property("ProjectDevelopmentGrantFundingUnderwriteApprovedBy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Underwrite approved by"); + + b.Property("PupilNumbersAndCapacityAcademicYearFifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year - Fifth year"); + + b.Property("PupilNumbersAndCapacityAcademicYearFirstYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Academic year - First year"); + + b.Property("PupilNumbersAndCapacityAcademicYearFourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year - Fourth year"); + + b.Property("PupilNumbersAndCapacityAcademicYearSecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year - Second year"); + + b.Property("PupilNumbersAndCapacityAcademicYearSeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year - Seventh year"); + + b.Property("PupilNumbersAndCapacityAcademicYearSixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year - Sixth year"); + + b.Property("PupilNumbersAndCapacityAcademicYearThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year- Third year"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsPanY12Y14") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs PAN Y12-Y14"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsPanY7Y11") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs PAN Y7-Y11"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsPanYrY6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs PAN YR-Y6"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsViabilityY12Y14") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs viability Y12-Y14"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsViabilityY7Y11") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs viability Y7-Y11"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsViabilityYrY6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs viability YR-Y6"); + + b.Property("PupilNumbersAndCapacityAdmissionsBody") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Admissions body"); + + b.Property("PupilNumbersAndCapacityCellA10Year8CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A10 Year 8 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA11Year9CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A11 Year 9 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA12Year10CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A12 Year 10 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA13Year11CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A13 Year 11 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA14Year12CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A14 Year 12 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA15Year13CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A15 Year 13 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA16Year14CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A16 Year 14 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA1NurseryCurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A1 Nursery - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA2ReceptionCurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A2 Reception - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA3Year1CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A3 Year 1 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA4Year2CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A4 Year 2 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA5Year3CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A5 Year 3 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA6Year4CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A6 Year 4 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA7Year5CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A7 Year 5 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA8Year6CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A8 Year 6 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA9Year7CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A9 Year 7 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellB10Year8FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B10 Year 8 - First year"); + + b.Property("PupilNumbersAndCapacityCellB11Year9FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B11 Year 9 - First year"); + + b.Property("PupilNumbersAndCapacityCellB12Year10FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B12 Year 10 - First year"); + + b.Property("PupilNumbersAndCapacityCellB13Year11FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B13 Year 11 - First year"); + + b.Property("PupilNumbersAndCapacityCellB14Year12FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B14 Year 12 - First year"); + + b.Property("PupilNumbersAndCapacityCellB15Year13FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B15 Year 13 - First year"); + + b.Property("PupilNumbersAndCapacityCellB16Year14FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B16 Year 14 - First year"); + + b.Property("PupilNumbersAndCapacityCellB1NurseryFirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B1 Nursery - First year"); + + b.Property("PupilNumbersAndCapacityCellB2ReceptionFirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B2 Reception - First year"); + + b.Property("PupilNumbersAndCapacityCellB3Year1FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B3 Year 1 - First year"); + + b.Property("PupilNumbersAndCapacityCellB4Year2FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B4 Year 2 - First year"); + + b.Property("PupilNumbersAndCapacityCellB5Year3FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B5 Year 3 - First year"); + + b.Property("PupilNumbersAndCapacityCellB6Year4FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B6 Year 4 - First year"); + + b.Property("PupilNumbersAndCapacityCellB7Year5FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B7 Year 5 - First year"); + + b.Property("PupilNumbersAndCapacityCellB8Year6FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B8 Year 6 - First year"); + + b.Property("PupilNumbersAndCapacityCellB9Year7FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B9 Year 7 - First year"); + + b.Property("PupilNumbersAndCapacityCellC10Year8SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C10 Year 8 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC11Year9SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C11 Year 9 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC12Year10SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C12 Year 10 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC13Year11SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C13 Year 11 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC14Year12SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C14 Year 12 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC15Year13SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C15 Year 13 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC16Year14SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C16 Year 14 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC1NurserySecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C1 Nursery - Second year"); + + b.Property("PupilNumbersAndCapacityCellC2ReceptionSecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C2 Reception - Second year"); + + b.Property("PupilNumbersAndCapacityCellC3Year1SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C3 Year 1 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC4Year2SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C4 Year 2 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC5Year3SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C5 Year 3 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC6Year4SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C6 Year 4 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC7Year5SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C7 Year 5 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC8Year6SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C8 Year 6 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC9Year7SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C9 Year 7 - Second year"); + + b.Property("PupilNumbersAndCapacityCellD10Year8ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D10 Year 8 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD11Year9ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D11 Year 9 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD12Year10ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D12 Year 10 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD13Year11ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D13 Year 11 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD14Year12ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D14 Year 12 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD15Year13ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D15 Year 13 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD16Year14ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D16 Year 14 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD1NurseryThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D1 Nursery - Third year"); + + b.Property("PupilNumbersAndCapacityCellD2ReceptionThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D2 Reception - Third year"); + + b.Property("PupilNumbersAndCapacityCellD3Year1ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D3 Year 1 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD4Year2ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D4 Year 2 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD5Year3ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D5 Year 3 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD6Year4ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D6 Year 4 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD7Year5ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D7 Year 5 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD8Year6ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D8 Year 6 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD9Year7ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D9 Year 7 - Third year"); + + b.Property("PupilNumbersAndCapacityCellE10Year8FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E10 Year 8 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE11Year9FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E11 Year 9 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE12Year10FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E12 Year 10 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE13Year11FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E13 Year 11 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE14Year12FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E14 Year 12 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE15Year13FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E15 Year 13 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE16Year14FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E16 Year 14 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE1NurseryFourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E1 Nursery - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE2ReceptionFourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E2 Reception - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE3Year1FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E3 Year 1 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE4Year2FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E4 Year 2 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE5Year3FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E5 Year 3 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE6Year4FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E6 Year 4 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE7Year5FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E7 Year 5 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE8Year6FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E8 Year 6 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE9Year7FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E9 Year 7 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellF10Year8FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F10 Year 8 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF11Year9FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F11 Year 9 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF12Year10FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F12 Year 10 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF13Year11FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F13 Year 11 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF14Year12FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F14 Year 12 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF15Year13FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F15 Year 13 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF16Year14FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F16 Year 14 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF1NurseryFifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F1 Nursery - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF2ReceptionFifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F2 Reception - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF3Year1FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F3 Year 1 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF4Year2FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F4 Year 2 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF5Year3FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F5 Year 3 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF6Year4FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F6 Year 4 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF7Year5FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F7 Year 5 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF8Year6FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F8 Year 6 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF9Year7FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F9 Year 7 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellG10Year8SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G10 Year 8 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG11Year9SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G11 Year 9 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG12Year10SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G12 Year 10 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG13Year11SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G13 Year 11 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG14Year12SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G14 Year 12 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG15Year13SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G15 Year 13 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG16Year14SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G16 Year 14 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG1NurserySixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G1 Nursery - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG2ReceptionSixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G2 Reception - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG3Year1SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G3 Year 1 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG4Year2SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G4 Year 2 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG5Year3SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G5 Year 3 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG6Year4SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G6 Year 4 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG7Year5SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G7 Year 5 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG8Year6SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G8 Year 6 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG9Year7SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G9 Year 7 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellH10Year8SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H10 Year 8 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH11Year9SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H11 Year 9 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH12Year10SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H12 Year 10 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH13Year11SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H13 Year 11 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH14Year12SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H14 Year 12 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH15Year13SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H15 Year 13 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH16Year14SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H16 Year 14 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH1NurserySeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H1 Nursery - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH2ReceptionSeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H2 Reception - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH3Year1SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H3 Year 1 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH4Year2SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H4 Year 2 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH5Year3SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H5 Year 3 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH6Year4SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H6 Year 4 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH7Year5SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H7 Year 5 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH8Year6SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H8 Year 6 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH9Year7SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H9 Year 7 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellTotalATotalCurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalA Total - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellTotalBTotalFirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalB Total - First year"); + + b.Property("PupilNumbersAndCapacityCellTotalCTotalSecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalC Total - Second year"); + + b.Property("PupilNumbersAndCapacityCellTotalDTotalThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalD Total - Third year"); + + b.Property("PupilNumbersAndCapacityCellTotalETotalFourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalE Total - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellTotalFTotalFifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalF Total - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellTotalGTotalSixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalG Total - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellTotalHTotalSeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalH Total - Seventh year"); + + b.Property("PupilNumbersAndCapacityManualOverwrite") + .HasColumnType("bit") + .HasColumnName("Pupil numbers and capacity.Manual overwrite?"); + + b.Property("PupilNumbersAndCapacityMinimumFirstYearRecruitmentForViabilityTotal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Minimum first year recruitment for viability Total"); + + b.Property("PupilNumbersAndCapacityMinimumFirstYearRecruitmentForViabilityY12Y14") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Minimum first year recruitment for viability Y12-Y14"); + + b.Property("PupilNumbersAndCapacityMinimumFirstYearRecruitmentForViabilityY7Y11") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Minimum first year recruitment for viability Y7-Y11"); + + b.Property("PupilNumbersAndCapacityMinimumFirstYearRecruitmentForViabilityYrY6") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Minimum first year recruitment for viability YR-Y6"); + + b.Property("PupilNumbersAndCapacityNoApplicationsAcceptedTotal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.No. applications accepted Total"); + + b.Property("PupilNumbersAndCapacityNoApplicationsAcceptedY12Y14") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications accepted Y12-Y14"); + + b.Property("PupilNumbersAndCapacityNoApplicationsAcceptedY7Y11") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications accepted Y7-Y11"); + + b.Property("PupilNumbersAndCapacityNoApplicationsAcceptedYrY6") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications accepted YR-Y6"); + + b.Property("PupilNumbersAndCapacityNoApplicationsReceivedTotal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.No. applications received Total"); + + b.Property("PupilNumbersAndCapacityNoApplicationsReceivedY12Y14") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications received Y12-Y14"); + + b.Property("PupilNumbersAndCapacityNoApplicationsReceivedY7Y11") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications received Y7-Y11"); + + b.Property("PupilNumbersAndCapacityNoApplicationsReceivedYrY6") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications received YR-Y6"); + + b.Property("PupilNumbersAndCapacityNurseryUnder5s") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Nursery (under 5s)"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsPanY12Y14") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs PAN Y12-Y14"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsPanY7Y11") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs PAN Y7-Y11"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsPanYrY6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs PAN YR-Y6"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsViabilityY12Y14") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs viability Y12-Y14"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsViabilityY7Y11") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs viability Y7-Y11"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsViabilityYrY6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs viability YR-Y6"); + + b.Property("PupilNumbersAndCapacitySpecialistResourceProvisionAp") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Specialist Resource Provision - AP"); + + b.Property("PupilNumbersAndCapacitySpecialistResourceProvisionSpecial") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Specialist Resource Provision - Special"); + + b.Property("PupilNumbersAndCapacityTotalOfCapacityTotals") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total of capacity totals"); + + b.Property("PupilNumbersAndCapacityTotalPanPost16") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total PAN: post-16"); + + b.Property("PupilNumbersAndCapacityTotalPanPre16") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total PAN: pre-16"); + + b.Property("PupilNumbersAndCapacityTotalPost16A") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 A"); + + b.Property("PupilNumbersAndCapacityTotalPost16B") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 B"); + + b.Property("PupilNumbersAndCapacityTotalPost16C") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 C"); + + b.Property("PupilNumbersAndCapacityTotalPost16D") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 D"); + + b.Property("PupilNumbersAndCapacityTotalPost16E") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 E"); + + b.Property("PupilNumbersAndCapacityTotalPost16F") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 F"); + + b.Property("PupilNumbersAndCapacityTotalPost16G") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 G"); + + b.Property("PupilNumbersAndCapacityTotalPost16H") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 H"); + + b.Property("PupilNumbersAndCapacityTotalPre16A") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 A"); + + b.Property("PupilNumbersAndCapacityTotalPre16B") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 B"); + + b.Property("PupilNumbersAndCapacityTotalPre16C") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 C"); + + b.Property("PupilNumbersAndCapacityTotalPre16D") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 D"); + + b.Property("PupilNumbersAndCapacityTotalPre16E") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 E"); + + b.Property("PupilNumbersAndCapacityTotalPre16F") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 F"); + + b.Property("PupilNumbersAndCapacityTotalPre16G") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 G"); + + b.Property("PupilNumbersAndCapacityTotalPre16H") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 H"); + + b.Property("PupilNumbersAndCapacityY10Pan") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y10 PAN"); + + b.Property("PupilNumbersAndCapacityY12Pan") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y12 PAN"); + + b.Property("PupilNumbersAndCapacityY12Y14Post16Capacity") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y12-Y14 (post-16) capacity"); + + b.Property("PupilNumbersAndCapacityY7Pan") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y7 PAN"); + + b.Property("PupilNumbersAndCapacityY7Y11Capacity") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y7-Y11 capacity"); + + b.Property("PupilNumbersAndCapacityYOtherPanPost16") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y other PAN post-16"); + + b.Property("PupilNumbersAndCapacityYOtherPanPre16") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y other PAN pre-16"); + + b.Property("PupilNumbersAndCapacityYrPan") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.YR PAN"); + + b.Property("PupilNumbersAndCapacityYrY11Pre16Capacity") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.YR-Y11 (pre-16) capacity"); + + b.Property("PupilNumbersAndCapacityYrY6Capacity") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.YR-Y6 capacity"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("PO", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("POHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Porf", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("PurchaseOrderRequestFormPorfGlCode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.PORF GL code"); + + b.Property("PurchaseOrderRequestFormPorfId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.PORF ID"); + + b.Property("PurchaseOrderRequestFormPurchaseOrderCreatedDate") + .HasColumnType("date") + .HasColumnName("Purchase Order Request Form.Purchase Order created date"); + + b.Property("PurchaseOrderRequestFormPurchaseOrderNumber") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.Purchase Order number"); + + b.Property("PurchaseOrderRequestFormPurchaseOrderRequestFormTotalValueExclVat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.Purchase Order Request Form Total value (excl VAT)"); + + b.Property("PurchaseOrderRequestFormPurchaseOrderRequestFormVat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.Purchase Order Request Form VAT"); + + b.Property("PurchaseOrderRequestFormPurchaseOrderRequestFormVendor") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.Purchase Order Request Form - Vendor"); + + b.HasKey("Rid"); + + b.ToTable("PORF", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PORFHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Pr", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("PreregistrationContactNotes") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Preregistration.Contact notes"); + + b.Property("PreregistrationDateOfLastContactWithApplicant") + .HasColumnType("date") + .HasColumnName("Preregistration.Date of last contact with applicant"); + + b.Property("PreregistrationDateSubmitted") + .HasColumnType("date") + .HasColumnName("Preregistration.Date submitted"); + + b.Property("PreregistrationDoYouAlreadyRunOneOrMoreFreeSchoolsAcademiesOrHaveAnyInThePipeline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Do you already run one or more free schools/academies or have any in the pipeline? "); + + b.Property("PreregistrationEmailOfLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Email of lead applicant"); + + b.Property("PreregistrationEmailOfPersonSubmittingFormIfNotLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Email of person submitting form (if not lead applicant)"); + + b.Property("PreregistrationHowManyFreeSchoolsAreYouApplyingForInThisWave") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.How many free schools are you applying for in this wave?"); + + b.Property("PreregistrationIsThisAReApplicationIEAnApplicationThatWasPreviouslyUnsuccessful") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Is this a re-application i.e. an application that was previously unsuccessful? "); + + b.Property("PreregistrationLeadSponsorId") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("Preregistration.Lead sponsor ID"); + + b.Property("PreregistrationLeadSponsorName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Lead sponsor name"); + + b.Property("PreregistrationNameOfLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Name of lead applicant"); + + b.Property("PreregistrationNameOfPersonSubmittingFormIfNotLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Name of person submitting form (if not lead applicant)"); + + b.Property("PreregistrationProposedTrustName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Proposed trust name"); + + b.Property("PreregistrationReferenceNumber") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Reference number"); + + b.Property("PreregistrationStaticLinkToTrustPageOnKim") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Static link to trust page on KIM"); + + b.Property("PreregistrationTelephoneNumberOfLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Telephone number of lead applicant"); + + b.Property("PreregistrationTelephoneOfPersonSubmittingFormIfNotLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Telephone of person submitting form (if not lead applicant)"); + + b.Property("PreregistrationTrustId") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("Preregistration.Trust ID"); + + b.Property("PreregistrationTrustName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Trust name"); + + b.Property("PreregistrationTypeOfGroup") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Type of group"); + + b.Property("PreregistrationTypeOfGroupOther") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Type of group other"); + + b.Property("PreregistrationWhichWaveDoYouIntendToApplyFor") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Which wave do you intend to apply for?"); + + b.HasKey("Rid"); + + b.ToTable("PR", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PRHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Property", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("DatePlanningPermissionObtained") + .HasColumnType("datetime2"); + + 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("SiteAcquisitionInNameOfDclg") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Acquisition in name of DCLG"); + + b.Property("SiteAcquisitionType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Acquisition type"); + + b.Property("SiteAcquisitionVat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Acquisition VAT"); + + b.Property("SiteAddressOfSite") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Site.Address of site"); + + b.Property("SiteAmountAboveRbv") + .HasMaxLength(20) + .IsUnicode(false) + .HasColumnType("varchar(20)") + .HasColumnName("Site.Amount above RBV"); + + b.Property("SiteAnnualLeaseCostRent") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Annual lease cost (rent)"); + + b.Property("SiteAreaOfExistingBuildingM2") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Area of existing building (m2)"); + + b.Property("SiteAreaOfExistingSiteAcres") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Area of existing site (acres)"); + + b.Property("SiteBuildingType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Building type"); + + b.Property("SiteBuildingValueIaS17InPlaceOfRbv") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Building value (IA S17 in place of RBV)"); + + b.Property("SiteChargeRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Charge required"); + + b.Property("SiteDateHeadsOfTermsAgreedActual") + .HasColumnType("date") + .HasColumnName("Site.Date heads of terms agreed (actual)"); + + b.Property("SiteDateHeadsOfTermsAgreedForecast") + .HasColumnType("date") + .HasColumnName("Site.Date heads of terms agreed (forecast)"); + + b.Property("SiteDateOfChargeActual") + .HasColumnType("date") + .HasColumnName("Site.Date of charge (actual)"); + + b.Property("SiteDateOfCompletionActual") + .HasColumnType("date") + .HasColumnName("Site.Date of completion (actual)"); + + b.Property("SiteDateOfCompletionForecast") + .HasColumnType("date") + .HasColumnName("Site.Date of completion (forecast)"); + + b.Property("SiteDateOfExchangeActual") + .HasColumnType("date") + .HasColumnName("Site.Date of exchange (actual)"); + + b.Property("SiteDateOfExchangeForecast") + .HasColumnType("date") + .HasColumnName("Site.Date of exchange (forecast)"); + + b.Property("SiteDateOfHmtPaperActual") + .HasColumnType("date") + .HasColumnName("Site.Date of HMT paper (actual)"); + + b.Property("SiteDateOfPreFundingAgreementSideLetterActual") + .HasColumnType("date") + .HasColumnName("Site.Date of pre-funding agreement side letter (actual)"); + + b.Property("SiteDateRbvRequiredActual") + .HasColumnType("date") + .HasColumnName("Site.Date RBV required (actual)"); + + b.Property("SiteDateRbvSubmittedActual") + .HasColumnType("date") + .HasColumnName("Site.Date RBV submitted (actual)"); + + b.Property("SiteDateSection77ApprovedActual") + .HasColumnType("date") + .HasColumnName("Site.Date Section 77 approved (actual)"); + + b.Property("SiteDclgLeaseToTrustDateOfCompletionActual") + .HasColumnType("date") + .HasColumnName("Site.DCLG lease to Trust : Date of completion (actual)"); + + b.Property("SiteDclgLeaseToTrustDateOfExchangeActual") + .HasColumnType("date") + .HasColumnName("Site.DCLG lease to Trust : Date of exchange (actual)"); + + b.Property("SiteDclgLeaseToTrustIfPurchasedInNameOfDclg") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.DCLG lease to Trust, if purchased in name of DCLG"); + + b.Property("SiteDecisionMakingFramework") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Decision making framework"); + + b.Property("SiteDetailOfBuildingTypeOther") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Detail of building type - Other"); + + b.Property("SiteDetailsOfVariationToTheLease") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Details of variation to the lease"); + + b.Property("SiteDifference") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.% difference"); + + b.Property("SiteDisposalStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Disposal status"); + + b.Property("SiteDisposalVat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Disposal VAT"); + + b.Property("SiteEndDateOfSchoolOccupationActual") + .HasColumnType("date") + .HasColumnName("Site.End date of school occupation (actual)"); + + b.Property("SiteEndDateOfSchoolOccupationForecast") + .HasColumnType("date") + .HasColumnName("Site.End date of school occupation (forecast)"); + + b.Property("SiteExistingUseClass") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Existing use class"); + + b.Property("SiteGreenBookNpvLeaseCost") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Green book NPV lease cost"); + + b.Property("SiteHmtPaperComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.HMT paper comments"); + + b.Property("SiteHmtPaperRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.HMT paper required"); + + b.Property("SiteIaS17Required") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.IA S17 required"); + + b.Property("SiteIsThereAPlanningLongStopDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Is there a planning long stop date?"); + + b.Property("SiteLandValueIaS17InPlaceOfRbv") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Land value (IA S17 in place of RBV)"); + + b.Property("SiteLandlordName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Landlord Name"); + + b.Property("SiteLeaseEndDateActual") + .HasColumnType("date") + .HasColumnName("Site.Lease end date (actual)"); + + b.Property("SiteLeaseStartDateActual") + .HasColumnType("date") + .HasColumnName("Site.Lease start date (actual)"); + + b.Property("SiteLegalManagerComments") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Site.Legal manager comments"); + + b.Property("SiteLengthOfLeaseYears") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Length of lease (years)"); + + b.Property("SiteListing") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Listing"); + + b.Property("SiteLocatEdCommissionReference") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.LocatED commission reference"); + + b.Property("SiteLocatEdDelivery") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.LocatED delivery"); + + b.Property("SiteMaximumCapacityOfTemporarySiteNoOfPupils") + .HasMaxLength(6) + .IsUnicode(false) + .HasColumnType("varchar(6)") + .HasColumnName("Site.Maximum capacity of temporary site (no of pupils)"); + + b.Property("SiteNameOfPurchaser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Name of purchaser"); + + b.Property("SiteNameOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Name of site"); + + b.Property("SiteNetCostOfAcquisition") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Net cost of acquisition"); + + b.Property("SiteNetValueOfDisposal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Net value of disposal"); + + b.Property("SiteNumberOfStoreys") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Number of storeys"); + + b.Property("SiteOtherComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Other comments"); + + b.Property("SitePlanningLongStopDateActual") + .HasColumnType("date") + .HasColumnName("Site.Planning long stop date (actual)"); + + b.Property("SitePleaseStateReasonIfMoreThanOneTenureTypeSelected") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Please state reason if more than one tenure type selected"); + + b.Property("SitePostcodeOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Postcode of site"); + + b.Property("SitePreFundingAgreementSideLetterLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Pre-funding agreement side letter link"); + + b.Property("SitePreFundingAgreementSideLetterRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Pre-funding agreement side letter required"); + + b.Property("SitePremiumIfApplicable") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Premium (if applicable)"); + + b.Property("SitePropertyAdviserComments") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Site.Property adviser comments"); + + b.Property("SiteRbvRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.RBV required"); + + b.Property("SiteRbvStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.RBV status"); + + b.Property("SiteRbvValue") + .HasMaxLength(20) + .IsUnicode(false) + .HasColumnType("varchar(20)") + .HasColumnName("Site.RBV value"); + + b.Property("SiteS106Funding") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.S106 Funding"); + + b.Property("SiteSection77Required") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Section 77 required"); + + b.Property("SiteSiteDisposalDateOfCompletionActual") + .HasColumnType("date") + .HasColumnName("Site.Site disposal date of completion (actual)"); + + b.Property("SiteSiteDisposalDateOfExchangeActual") + .HasColumnType("date") + .HasColumnName("Site.Site disposal date of exchange (actual)"); + + b.Property("SiteSiteId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Site ID"); + + b.Property("SiteSiteIdentifiedActual") + .HasColumnType("date") + .HasColumnName("Site.Site identified (actual)"); + + b.Property("SiteSiteIdentifiedForecast") + .HasColumnType("date") + .HasColumnName("Site.Site identified (forecast)"); + + b.Property("SiteSiteSchoolCurrentlyOperatingFrom") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Site school currently operating from"); + + b.Property("SiteSiteStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Site Status"); + + b.Property("SiteStartDateOfSchoolOccupationActual") + .HasColumnType("date") + .HasColumnName("Site.Start date of school occupation (actual)"); + + b.Property("SiteStartDateOfSchoolOccupationForecast") + .HasColumnType("date") + .HasColumnName("Site.Start date of school occupation (forecast)"); + + b.Property("SiteTenure") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Site.Tenure"); + + b.Property("SiteTypeOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Type of site"); + + b.Property("SiteTypeOfSiteDisposal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Type of site disposal"); + + b.Property("SiteVariationToTheLease") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Variation to the lease"); + + b.Property("SiteVariationToTheLeaseDateOfCompletionActual") + .HasColumnType("date") + .HasColumnName("Site.Variation to the lease : Date of completion (actual)"); + + b.Property("SiteVendorName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Vendor name"); + + b.Property("Tos") + .IsRequired() + .HasMaxLength(9) + .IsUnicode(false) + .HasColumnType("varchar(9)") + .HasColumnName("TOS"); + + b.Property("TownOrCity") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TownOrCity"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("Property", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PropertyHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.PropertyQa", b => + { + b.Property("AddressOfSite") + .HasColumnType("int") + .HasColumnName("Address of site"); + + b.Property("DateOfCompletionForecast") + .HasColumnType("int") + .HasColumnName("Date of completion (forecast)"); + + b.Property("DateOfExchangeActual") + .HasColumnType("int") + .HasColumnName("Date of exchange (actual)"); + + b.Property("DateOfExchangeForecast") + .HasColumnType("int") + .HasColumnName("Date of exchange (forecast)"); + + b.Property("DateOfHeadsOfTermsAgreedActual") + .HasColumnType("int") + .HasColumnName("Date of heads of terms agreed (actual)"); + + b.Property("DateOfHeadsOfTermsAgreedForecast") + .HasColumnType("int") + .HasColumnName("Date of heads of terms agreed (forecast)"); + + b.Property("EsfaCapitalProjectManager") + .HasColumnType("int") + .HasColumnName("ESFA Capital project manager"); + + b.Property("EsfaPropertyLead") + .HasColumnType("int") + .HasColumnName("ESFA property lead"); + + b.Property("EsfaRegionalPropertyLead") + .HasColumnType("int") + .HasColumnName("ESFA regional property lead"); + + b.Property("HeadOfRegion") + .HasColumnType("int") + .HasColumnName("Head of Region"); + + b.Property("LegalManager") + .HasColumnType("int") + .HasColumnName("Legal manager"); + + b.Property("LocatEdAcquisitionManager") + .HasColumnType("int") + .HasColumnName("LocatED acquisition manager"); + + b.Property("LocatEdCommissionReference") + .HasColumnType("int") + .HasColumnName("LocatED commission reference"); + + b.Property("LocatEdDelivery") + .HasColumnType("int") + .HasColumnName("LocatED delivery"); + + b.Property("Month") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)"); + + b.Property("NameOfSite") + .HasColumnType("int") + .HasColumnName("Name of site"); + + b.Property("PleaseStateReasonIfMoreThanOneTenureTypeSelected") + .HasColumnType("int") + .HasColumnName("Please state reason if more than one tenure type selected"); + + b.Property("PostcodeOfSite") + .HasColumnType("int") + .HasColumnName("Postcode of site"); + + b.Property("ProjectDirector") + .HasColumnType("int") + .HasColumnName("Project director"); + + b.Property("SiteIdentifiedActual") + .HasColumnType("int") + .HasColumnName("Site identified (actual)"); + + b.Property("SiteIdentifiedForecast") + .HasColumnType("int") + .HasColumnName("Site identified (forecast)"); + + b.Property("TenureHighlight") + .HasColumnType("int") + .HasColumnName("Tenure highlight"); + + b.ToTable("Property_QA", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Rag", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("RagRatingsAllAssessmentConditionsMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.All assessment conditions met"); + + b.Property("RagRatingsAssessmentCondition1") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 1"); + + b.Property("RagRatingsAssessmentCondition2") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 2"); + + b.Property("RagRatingsAssessmentCondition3") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 3"); + + b.Property("RagRatingsAssessmentCondition4") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 4"); + + b.Property("RagRatingsAssessmentCondition5") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 5"); + + b.Property("RagRatingsAssessmentCondition6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 6"); + + b.Property("RagRatingsAssessmentCondition7") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 7"); + + b.Property("RagRatingsAssessmentCondition8") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 8"); + + b.Property("RagRatingsEducationRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Education RAG"); + + b.Property("RagRatingsEducationRagSummary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.Education RAG summary"); + + b.Property("RagRatingsFinanceRagSummary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.Finance RAG summary"); + + b.Property("RagRatingsFinancesRagRating") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.Finances RAG rating"); + + b.Property("RagRatingsGovernanceAndSuitabilityRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Governance and Suitability RAG rating"); + + b.Property("RagRatingsGovernanceAndSuitabilityRagSummary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.Governance and Suitability RAG summary"); + + b.Property("RagRatingsHasCondition1BeenMet") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.Has condition 1 been met?"); + + b.Property("RagRatingsHasCondition2BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 2 been met?"); + + b.Property("RagRatingsHasCondition3BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 3 been met?"); + + b.Property("RagRatingsHasCondition4BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 4 been met?"); + + b.Property("RagRatingsHasCondition5BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 5 been met?"); + + b.Property("RagRatingsHasCondition6BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 6 been met?"); + + b.Property("RagRatingsHasCondition7BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 7 been met?"); + + b.Property("RagRatingsHasCondition8BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 8 been met?"); + + b.Property("RagRatingsInclusivityIssue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Inclusivity Issue"); + + b.Property("RagRatingsLinkToRiskAssessmentMatrix") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Link to Risk Assessment Matrix"); + + b.Property("RagRatingsLocalContextRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Local context RAG rating"); + + b.Property("RagRatingsOverallRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Overall RAG rating"); + + b.Property("RagRatingsOverallRagSummary") + .HasMaxLength(5000) + .IsUnicode(false) + .HasColumnType("varchar(5000)") + .HasColumnName("Rag Ratings.Overall RAG summary"); + + b.Property("RagRatingsOverallRomRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Overall ROM RAG rating"); + + b.Property("RagRatingsPipelineFreeSchoolsJointRiskCategory") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Pipeline Free Schools Joint Risk Category"); + + b.Property("RagRatingsProjectRecommendation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Project recommendation"); + + b.Property("RagRatingsPupilRecruitmentRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Pupil recruitment RAG rating"); + + b.Property("RagRatingsReasonForJointRiskCategory") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Reason for Joint Risk Category"); + + b.Property("RagRatingsRiskAppraisalFormSharepointLink") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("Rag Ratings.Risk Appraisal Form Sharepoint Link"); + + b.Property("RagRatingsRscStocktakeRecommendationSummary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.RSC stocktake recommendation summary"); + + b.Property("RagRatingsSummaryOfInclusivityIssue") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("Rag Ratings.Summary of inclusivity issue"); + + b.Property("RevisionMarker") + .HasColumnType("uniqueidentifier"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("RAG", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("RAGHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.RagtempBudget", b => + { + b.Property("ConstructionCostsInclPassiveIctPlanningObligationsExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Construction Costs (incl passive ICT / Planning Obligations) excl VAT Cost to date"); + + b.Property("ConstructionCostsInclPassiveIctPlanningObligationsExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Construction Costs (incl passive ICT / Planning Obligations) excl VAT Forecast"); + + b.Property("FfEExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FF & E (excl VAT) Cost to date"); + + b.Property("FfEExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FF & E (excl VAT) Forecast"); + + b.Property("Fscode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSCode"); + + b.Property("IctActivesExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Actives (excl VAT) Cost to date"); + + b.Property("IctActivesExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Actives (excl VAT) Forecast"); + + b.Property("IctBroadbandExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Broadband (excl VAT) Cost to date"); + + b.Property("IctBroadbandExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Broadband (excl VAT) Forecast"); + + b.Property("IctHardwareEquipmentExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Hardware Equipment (excl VAT) Cost to date"); + + b.Property("IctHardwareEquipmentExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Hardware Equipment (excl VAT) Forecast"); + + b.Property("LegalFeesConstructionInclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Legal fees - construction (incl VAT) Comments"); + + b.Property("LegalFeesConstructionInclVatCostUptoDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Legal fees - construction (incl VAT) Cost upto date"); + + b.Property("LegalFeesConstructionInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Legal fees - construction (incl VAT) Forecast"); + + b.Property("PermanentBudgetRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent Budget RAG"); + + b.Property("PermanentConstructionCostsInclPassiveIctPlanningObligationsExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent Construction Costs (incl passive ICT / Planning Obligations) excl VAT Comments"); + + b.Property("PermanentConstructionSubTotalComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent Construction sub total comments"); + + b.Property("PermanentFfEExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent FF & E (excl VAT) Comments"); + + b.Property("PermanentIctActivesExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Actives (excl VAT) Comments"); + + b.Property("PermanentIctBroadbandExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Broadband (excl VAT) Comments"); + + b.Property("PermanentIctDecantCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Decant Cost to date"); + + b.Property("PermanentIctDecantExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Decant (excl VAT) Comments"); + + b.Property("PermanentIctDecantExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Decant (excl VAT) forecast"); + + b.Property("PermanentIctHardwareEquipmentExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Hardware Equipment (excl VAT) Comments"); + + b.Property("PermanentTaFeesInclVat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent TA Fees (Incl VAT)"); + + b.Property("PermanentTaSurveysInclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent TA Surveys (Incl VAT Comments"); + + b.Property("TaFeesInclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Fees (Incl VAT) Cost to date"); + + b.Property("TaFeesInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Fees (Incl VAT) Forecast"); + + b.Property("TaSurveysInclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Surveys (Incl VAT) Cost to date"); + + b.Property("TaSurveysInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Surveys (Incl VAT) Forecast"); + + b.Property("TemporaryBudgetRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Budget RAG"); + + b.Property("TemporaryConstructionCostsInclPassiveIctPlanningObligationsExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Construction Costs (incl passive ICT / Planning Obligations) excl VAT Comments"); + + b.Property("TemporaryConstructionCostsInclPassiveIctPlanningObligationsExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Construction Costs (incl passive ICT / Planning Obligations) excl VAT Cost to Date"); + + b.Property("TemporaryConstructionCostsInclPassiveIctPlanningObligationsExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Construction Costs (incl passive ICT / Planning Obligations) excl VAT Forecast"); + + b.Property("TemporaryConstructionSubTotalComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Construction sub total comments"); + + b.Property("TemporaryFfEExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary FF & E (excl VAT) Comments"); + + b.Property("TemporaryFfEExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary FF & E (excl VAT) Cost to Date"); + + b.Property("TemporaryFfEExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary FF & E (excl VAT) Forecast"); + + b.Property("TemporaryIctActivesExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Actives (excl VAT) Comments"); + + b.Property("TemporaryIctActivesExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Actives (excl VAT) Cost to date"); + + b.Property("TemporaryIctActivesExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Actives (excl VAT) Forecast"); + + b.Property("TemporaryIctBroadbandExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Broadband (excl VAT) Comments"); + + b.Property("TemporaryIctBroadbandExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Broadband (excl VAT) Cost to date"); + + b.Property("TemporaryIctBroadbandExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Broadband (excl VAT) Forecast"); + + b.Property("TemporaryIctDecantExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Decant (excl VAT) Comments"); + + b.Property("TemporaryIctDecantExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Decant (excl VAT) Cost to date"); + + b.Property("TemporaryIctDecantExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Decant (excl VAT) Forecast"); + + b.Property("TemporaryIctHardwareEquipmentExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Hardware Equipment (excl VAT) Comments"); + + b.Property("TemporaryIctHardwareEquipmentExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Hardware Equipment (excl VAT) Cost to date"); + + b.Property("TemporaryIctHardwareEquipmentExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Hardware Equipment (excl VAT) Forecast"); + + b.Property("TemporaryLegalFeesConstructionInclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Legal fees - construction (incl VAT) Comments"); + + b.Property("TemporaryLegalFeesConstructionInclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Legal fees - construction (incl VAT) Cost to date"); + + b.Property("TemporaryLegalFeesConstructionInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Legal fees - construction (incl VAT) Forecast"); + + b.Property("TemporaryTaFeesInclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Fees (Incl VAT) Cost to date"); + + b.Property("TemporaryTaFeesInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Fees (Incl VAT) Forecast"); + + b.Property("TemporaryTaFeesInclVatForecastComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Fees (Incl VAT) Forecast Comments"); + + b.Property("TemporaryTaSurveysInclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Surveys (Incl VAT) Comments "); + + b.Property("TemporaryTaSurveysInclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Surveys (Incl VAT) Cost to date"); + + b.Property("TemporaryTaSurveysInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Surveys (Incl VAT) Forecast"); + + b.ToTable("RAGTEMP_BUDGET", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.RagtempRatings", b => + { + b.Property("AccidentOnSiteInThisMonthReportedToEfa") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Accident on site in this month reported to EFA"); + + b.Property("Fscode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSCode"); + + b.Property("OverallRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Overall RAG"); + + b.Property("TaOverallSiteRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Overall Site RAG"); + + b.Property("TaOverallSiteRagComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Overall Site RAG Comments"); + + b.Property("TaPermanentSiteRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Permanent Site RAG"); + + b.Property("TaPermanentSiteRagComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Permanent Site RAG Comments"); + + b.Property("TaSeptemberSiteRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA September Site RAG"); + + b.Property("TaSeptemberSiteRagComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA September Site RAG Comments"); + + b.Property("TatemporarySiteRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TATemporary Site RAG"); + + b.Property("TatemporarySiteRagComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TATemporary Site RAG Comments"); + + b.ToTable("RAGTEMP_RATINGS", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.RegionalFramework", b => + { + b.Property("HighValueBandLot") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("High Value Band Lot"); + + b.Property("LocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local authority"); + + b.Property("LowValueBandLot") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Low Value Band Lot"); + + b.Property("MediumValueBandLot") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Medium Value Band Lot"); + + b.Property("RscRegions") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("RSC Regions"); + + b.ToTable("Regional Framework", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.ReportServerUrl", b => + { + b.Property("Id") + .HasColumnType("int") + .HasColumnName("id"); + + b.Property("ReportName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("report_name"); + + b.Property("Servername") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("servername"); + + b.Property("Url") + .IsRequired() + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("url"); + + b.ToTable("Report_Server_Url", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Tally", b => + { + b.Property("Id") + .HasColumnType("int") + .HasColumnName("ID"); + + b.ToTable("Tally", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Tasks", b => + { + b.Property("Rid") + .HasMaxLength(30) + .IsUnicode(false) + .HasColumnType("varchar(30)") + .HasColumnName("RID"); + + b.Property("TaskName") + .HasMaxLength(30) + .IsUnicode(false) + .HasColumnType("varchar(30)") + .HasColumnName("Task Name"); + + b.Property("PeriodEnd") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodEnd"); + + b.Property("PeriodStart") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodStart"); + + b.Property("Status") + .IsRequired() + .HasMaxLength(20) + .IsUnicode(false) + .HasColumnType("varchar(20)") + .HasColumnName("Status"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid", "TaskName"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("Tasks", "mfsp"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("TasksHistory", "mfsp"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.TechnicalQa", b => + { + b.Property("Bim") + .HasColumnType("int") + .HasColumnName("BIM"); + + b.Property("ComgdIssued") + .HasColumnType("int") + .HasColumnName("COMGD Issued"); + + b.Property("ContractAwardValue") + .HasColumnType("int") + .HasColumnName("Contract Award Value £"); + + b.Property("ContractBudgetValue") + .HasColumnType("int") + .HasColumnName("Contract Budget Value £"); + + b.Property("ContractProcurementStatus") + .HasColumnType("int") + .HasColumnName("Contract Procurement Status"); + + b.Property("ContractingParty") + .HasColumnType("int") + .HasColumnName("Contracting Party"); + + b.Property("Contractor") + .HasColumnType("int"); + + b.Property("DeliveryParty") + .HasColumnType("int") + .HasColumnName("Delivery Party"); + + b.Property("EnterIntoMainContractActual") + .HasColumnType("int") + .HasColumnName("Enter into Main Contract Actual"); + + b.Property("FeasibilityReportApproved") + .HasColumnType("int") + .HasColumnName("Feasibility Report Approved"); + + b.Property("FeasibiltyReportStartDate") + .HasColumnType("int") + .HasColumnName("Feasibilty Report Start Date"); + + b.Property("FinalContractValue") + .HasColumnType("int") + .HasColumnName("Final Contract Value £"); + + b.Property("Gifa") + .HasColumnType("int") + .HasColumnName("GIFA"); + + b.Property("Month") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)"); + + b.Property("PcCertificateIssuedActual") + .HasColumnType("int") + .HasColumnName("PC Certificate Issued Actual"); + + b.Property("ProcurementRoute") + .HasColumnType("int") + .HasColumnName("Procurement Route"); + + b.Property("ProcurementStartActual") + .HasColumnType("int") + .HasColumnName("Procurement Start Actual"); + + b.Property("TypeOfWork") + .HasColumnType("int") + .HasColumnName("Type of Work"); + + b.ToTable("Technical_QA", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.TermVisits", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("TermVisitsActionPlan") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Action plan"); + + b.Property("TermVisitsActionPlanDueDate") + .HasColumnType("date") + .HasColumnName("Term Visits.Action plan due date"); + + b.Property("TermVisitsActionPlanReceived") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Action plan received"); + + b.Property("TermVisitsDateOfFollowUp") + .HasColumnType("date") + .HasColumnName("Term Visits.Date of follow up"); + + b.Property("TermVisitsDateOfVisit") + .HasColumnType("date") + .HasColumnName("Term Visits.Date of Visit"); + + b.Property("TermVisitsFollowUpVisitRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Follow-up visit rating"); + + b.Property("TermVisitsIsActionPlanRequested") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Is action plan requested?"); + + b.Property("TermVisitsLinkOfficerFirstTermVisit") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Link Officer first term visit"); + + b.Property("TermVisitsLinkOfficerFirstTermVisitOutcome") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Link officer first term visit - outcome"); + + b.Property("TermVisitsLinkOfficerFirstTermVisitOutcomeTypeOfConcern") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Link officer first term visit outcome - type of concern"); + + b.Property("TermVisitsLinkOfficerFirstTermVisitReport") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Link officer first term visit – report"); + + b.Property("TermVisitsNameOfDfEOfficial") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Name of DfE official"); + + b.Property("TermVisitsNameOfEducationAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Name of Education Adviser"); + + b.Property("TermVisitsNextVisitDate") + .HasColumnType("date") + .HasColumnName("Term Visits.Next visit date"); + + b.Property("TermVisitsSchoolTermVisit") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.School Term Visit"); + + b.Property("TermVisitsVisitFollowUp") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Visit follow up"); + + b.Property("TermVisitsVisitRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Visit Rating"); + + b.Property("TermVisitsVisitReport") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Visit Report"); + + b.Property("TermVisitsVisitSummary") + .HasMaxLength(400) + .IsUnicode(false) + .HasColumnType("varchar(400)") + .HasColumnName("Term Visits.Visit Summary"); + + b.Property("Visits") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)"); + + b.HasKey("Rid"); + + b.ToTable("Term_Visits", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("Term_VisitsHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.TermVisitsUtcs", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("TermVisitsUtcPostOfstedUtcVisitDateOfVisit") + .HasColumnType("date") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Date of Visit"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitNameOfDfEOfficial") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Name of DfE official"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitNameOfEducationAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Name of Education Adviser"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitNextVisitDate") + .HasColumnType("date") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Next visit date"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitReportLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Report link"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitSummary") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Summary"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitVisitRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Visit Rating"); + + b.Property("TermVisitsUtcSchoolTermVisit") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits UTC.School term Visit"); + + b.HasKey("Rid"); + + b.ToTable("Term_Visits_UTCs", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("Term_Visits_UTCsHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Trust", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("LeadSponsor") + .HasMaxLength(7) + .IsUnicode(false) + .HasColumnType("varchar(7)") + .HasColumnName("Lead Sponsor"); + + 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("TrustRef") + .HasMaxLength(7) + .IsUnicode(false) + .HasColumnType("varchar(7)") + .HasColumnName("Trust ref"); + + b.Property("TrustsLeadSponsorId") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("Trusts.Lead sponsor id"); + + b.Property("TrustsLeadSponsorName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Trusts.Lead sponsor name"); + + b.Property("TrustsTrustName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Trusts.Trust name"); + + b.Property("TrustsTrustRef") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("Trusts.Trust ref"); + + b.Property("TrustsTrustType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Trusts.Trust type"); + + b.HasKey("Rid"); + + b.ToTable("Trust", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("TrustHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Wfa", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("WorksFundingAgreementsWfaId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Works Funding Agreements.WFA ID"); + + b.Property("WorksFundingAgreementsWorkFundingAgreementIssuedDate") + .HasColumnType("date") + .HasColumnName("Works Funding Agreements.Work Funding Agreement issued date"); + + b.Property("WorksFundingAgreementsWorkFundingAgreementTotalValue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Works Funding Agreements.Work Funding Agreement total value"); + + b.HasKey("Rid"); + + b.ToTable("WFA", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("WFAHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.RiskAppraisalMeetingTask", b => + { + b.Property("RID") + .HasMaxLength(11) + .HasColumnType("nvarchar(11)"); + + b.Property("ActualDate") + .HasColumnType("datetime2"); + + b.Property("CommentOnDecision") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ForecastDate") + .HasColumnType("datetime2"); + + b.Property("MeetingCompleted") + .HasColumnType("bit"); + + b.Property("PeriodEnd") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodEnd"); + + b.Property("PeriodStart") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodStart"); + + b.Property("ReasonNotApplicable") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("RID"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("RiskAppraisalMeetingTask", "mfsp"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("RiskAppraisalMeetingTaskHistory", "mfsp"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Email") + .HasMaxLength(80) + .HasColumnType("nvarchar(80)"); + + b.Property("PeriodEnd") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodEnd"); + + b.Property("PeriodStart") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodStart"); + + b.HasKey("Id"); + + b.HasIndex("Email") + .IsUnique() + .HasFilter("[Email] IS NOT NULL"); + + b.ToTable("User", "mfsp"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("UserHistory", "mfsp"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Bs", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.ConstructData", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.FsKim", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Kai", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Kpi", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", "User") + .WithMany("Projects") + .HasForeignKey("UserId"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Milestones", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.OfstedFsg", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Opens", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Po", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Property", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Rag", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Tasks", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.RiskAppraisalMeetingTask", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.User", b => + { + b.Navigation("Projects"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240924142359_PreFundingAgreementCheckpointMeeting.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240924142359_PreFundingAgreementCheckpointMeeting.cs new file mode 100644 index 000000000..74a303273 --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240924142359_PreFundingAgreementCheckpointMeeting.cs @@ -0,0 +1,128 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Dfe.ManageFreeSchoolProjects.Data.Migrations +{ + /// + public partial class PreFundingAgreementCheckpointMeeting : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "PFACMCommissionedAnExternalExpertToAttendMeetingsIfApplicable", + schema: "dbo", + table: "Milestones", + type: "bit", + nullable: true) + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "MilestonesHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "dbo") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + + migrationBuilder.AddColumn( + name: "PFACMSavedMeetingNoteInWorkplacesFolder", + schema: "dbo", + table: "Milestones", + type: "bit", + nullable: true) + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "MilestonesHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "dbo") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + + migrationBuilder.AddColumn( + name: "PFACMSentAnEmailToTheTrust", + schema: "dbo", + table: "Milestones", + type: "bit", + nullable: true) + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "MilestonesHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "dbo") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + + migrationBuilder.AddColumn( + name: "PFACMTypeOfMeetingHeld", + schema: "dbo", + table: "Milestones", + type: "nvarchar(max)", + nullable: true) + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "MilestonesHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "dbo") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + + migrationBuilder.AddColumn( + name: "PFACMWhyAMeetingWasNotHeld", + schema: "dbo", + table: "Milestones", + type: "nvarchar(max)", + nullable: true) + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "MilestonesHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "dbo") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "PFACMCommissionedAnExternalExpertToAttendMeetingsIfApplicable", + schema: "dbo", + table: "Milestones") + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "MilestonesHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "dbo") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + + migrationBuilder.DropColumn( + name: "PFACMSavedMeetingNoteInWorkplacesFolder", + schema: "dbo", + table: "Milestones") + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "MilestonesHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "dbo") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + + migrationBuilder.DropColumn( + name: "PFACMSentAnEmailToTheTrust", + schema: "dbo", + table: "Milestones") + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "MilestonesHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "dbo") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + + migrationBuilder.DropColumn( + name: "PFACMTypeOfMeetingHeld", + schema: "dbo", + table: "Milestones") + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "MilestonesHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "dbo") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + + migrationBuilder.DropColumn( + name: "PFACMWhyAMeetingWasNotHeld", + schema: "dbo", + table: "Milestones") + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "MilestonesHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "dbo") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + } + } +} diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/MfspContextModelSnapshot.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/MfspContextModelSnapshot.cs index 93bd81e45..898e7d55a 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/MfspContextModelSnapshot.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/MfspContextModelSnapshot.cs @@ -6046,6 +6046,21 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Property("MAACheckedSubmittedArticlesMatch") .HasColumnType("bit"); + b.Property("PFACMCommissionedAnExternalExpertToAttendMeetingsIfApplicable") + .HasColumnType("bit"); + + b.Property("PFACMSavedMeetingNoteInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("PFACMSentAnEmailToTheTrust") + .HasColumnType("bit"); + + b.Property("PFACMTypeOfMeetingHeld") + .HasColumnType("nvarchar(max)"); + + b.Property("PFACMWhyAMeetingWasNotHeld") + .HasColumnType("nvarchar(max)"); + b.Property("PRid") .HasMaxLength(11) .IsUnicode(false) diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml index f7c861ac6..fdd6b9a31 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml @@ -1,11 +1,12 @@ @page "/projects/{projectId}/tasks/pre-funding-agreement-checkpoint-meeting/edit" -@using Dfe.ManageFreeSchoolProjects.Constants; +@using Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks +@using Dfe.ManageFreeSchoolProjects.Constants @using Dfe.ManageFreeSchoolProjects.TagHelpers @model Dfe.ManageFreeSchoolProjects.Pages.Project.Tasks.PreFundingAgreementCheckpointMeeting.EditPreFundingAgreementCheckpointMeetingModel -@{ - ViewData["Title"] = $"Edit Pre-funding agreement checkpoint meeting - {Model.SchoolName}"; +@{ var backlink = string.Format(RouteConstants.ViewPreFundingAgreementCheckpointMeeting, Model.ProjectId); + ViewData["Title"] = $"Edit Pre-funding agreement checkpoint meeting - {Model.Project.SchoolName}"; } @section BeforeMain { @@ -14,28 +15,61 @@ } - - -

    - @Model.SchoolNameEdit Pre-funding agreement checkpoint meeting -

    +
    -
    - +
    +

    + @Model.Project.SchoolName + Edit Pre-funding agreement checkpoint meeting +

    +

    + Type of meeting held +

    - @if (Model.IsPresumptionRoute) - { - - } - - - - +
    + + + + + + + + + + + + + +
    +
    + + + + + + + + + -
    \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs index f97dc126e..482181f9b 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/EditPreFundingAgreementCheckpointMeeting.cshtml.cs @@ -4,103 +4,164 @@ using Dfe.ManageFreeSchoolProjects.Models; using Dfe.ManageFreeSchoolProjects.Services; using Dfe.ManageFreeSchoolProjects.Services.Project; -using Dfe.ManageFreeSchoolProjects.Validators; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.Logging; using System; -using System.ComponentModel.DataAnnotations; +using System.ComponentModel; +using System.Linq; using System.Threading.Tasks; namespace Dfe.ManageFreeSchoolProjects.Pages.Project.Tasks.PreFundingAgreementCheckpointMeeting { - public class EditPreFundingAgreementCheckpointMeetingModel : PageModel + public class EditPreFundingAgreementCheckpointMeetingModel( + IGetProjectByTaskService getProjectService, + ErrorService errorService, + IUpdateProjectByTaskService updateProjectTaskService, + ILogger logger) : PageModel { - private readonly IGetProjectByTaskService _getProjectService; - private readonly IUpdateProjectByTaskService _updateProjectTaskService; - private readonly ILogger _logger; - private readonly ErrorService _errorService; - [BindProperty(SupportsGet = true, Name = "projectId")] public string ProjectId { get; set; } - - [BindProperty(Name = "funding-arrangement-agreed")] - public bool? FundingArrangementAgreed { get; set; } - - [BindProperty(Name = "funding-arrangement-details-agreed")] - [Display(Name = "Comments")] - [ValidText(100)] - public string FundingArrangementDetailsAgreed { get; set; } - - [BindProperty(Name = "realistic-year-of-opening", BinderType= typeof(StartEndModelBinder))] - public string RealisticYearOfOpening { get; set; } - - [BindProperty(Name = "provisional-opening-date", BinderType = typeof(DateInputModelBinder))] - - public DateTime? ProvisionalOpeningDate { get; set; } - - [BindProperty(Name = "saved-documents-in-workplaces-folder")] - public bool? SavedDocumentsInWorkplacesFolder { get; set; } - - public string SchoolName { get; set; } - public bool IsPresumptionRoute { get; set; } - - - public EditPreFundingAgreementCheckpointMeetingModel(IGetProjectByTaskService getProjectService, - IUpdateProjectByTaskService updateProjectTaskService, - ILogger logger, - ErrorService errorService) - { - _getProjectService = getProjectService; - _updateProjectTaskService = updateProjectTaskService; - _logger = logger; - _errorService = errorService; - } - public async Task OnGet() + public GetProjectByTaskResponse Project { get; set; } + + [BindProperty(Name = "date-of-the-internal-review-meeting", BinderType = typeof(DateInputModelBinder))] + [DisplayName("Date of the internal review meeting")] + public DateTime? DateOfTheInternalReviewMeeting { get; set; } + + [BindProperty(Name = "date-of-the-formal-meeting", BinderType = typeof(DateInputModelBinder))] + [DisplayName("Date of the formal meeting")] + public DateTime? DateOfTheFormalMeeting { get; set; } + + [BindProperty(Name = "why-meeting-not-held")] + public string WhyMeetingWasNotHeld { get; set; } + + [BindProperty(Name = "commissioned-external-expert")] + public bool? CommissionedExternalExpert { get; set; } + + [BindProperty(Name = "saved-meeting-note-in-workplaces-folder")] + public bool? SavedMeetingNoteInWorkplacesFolder { get; set; } + + [BindProperty(Name = "sent-an-email=to-the-trust")] + public bool? SentAnEmailToTheTrust { get; set; } + + [BindProperty(Name = "type-of-meeting-held")] + public TypeOfMeetingHeld TypeOfMeetingHeld { get; set; } + + public async Task OnGet() { - _logger.LogMethodEntered(); + Project = await getProjectService.Execute(ProjectId, TaskName.PreFundingAgreementCheckpointMeeting); + + var pfacmTask = Project.PreFundingAgreementCheckpointMeetingTask; + + TypeOfMeetingHeld = pfacmTask.TypeOfMeetingHeld; + + var dateOfTheMeeting = pfacmTask.DateOfTheMeeting; + + DateOfTheInternalReviewMeeting = TypeOfMeetingHeld == TypeOfMeetingHeld.InternalReviewMeeting + ? dateOfTheMeeting + : null; + + DateOfTheFormalMeeting = TypeOfMeetingHeld == TypeOfMeetingHeld.FormalCheckpointMeeting + ? dateOfTheMeeting + : null; + + WhyMeetingWasNotHeld = pfacmTask.WhyMeetingWasNotHeld; + + CommissionedExternalExpert = + pfacmTask.CommissionedExternalExpert; + + SavedMeetingNoteInWorkplacesFolder = + pfacmTask.SavedMeetingNoteInWorkplacesFolder; + + SentAnEmailToTheTrust = + pfacmTask.SentAnEmailToTheTrust; - await LoadProject(); return Page(); } - public async Task OnPost() + public async Task OnPost() { - var project = await _getProjectService.Execute(ProjectId, TaskName.PreFundingAgreementCheckpointMeeting); - SchoolName = project.SchoolName; - IsPresumptionRoute = project.IsPresumptionRoute; - - if (!ModelState.IsValid) - { - _errorService.AddErrors(ModelState.Keys, ModelState); - return Page(); - } - try { - var request = new UpdateProjectByTaskRequest() + CheckForErrors("date-of-the-internal-review-meeting", TypeOfMeetingHeld.InternalReviewMeeting, DateOfTheInternalReviewMeeting); + CheckForErrors("date-of-the-formal-meeting", TypeOfMeetingHeld.FormalCheckpointMeeting, DateOfTheFormalMeeting); + + ClearNotApplicableValues(); + + if (!ModelState.IsValid) { - }; + Project = await getProjectService.Execute(ProjectId, TaskName.PreFundingAgreementCheckpointMeeting); + errorService.AddErrors(ModelState.Keys, ModelState); + return Page(); + } + + var request = BuildUpdateRequest(); - await _updateProjectTaskService.Execute(ProjectId, request); + await updateProjectTaskService.Execute(ProjectId, request); return Redirect(string.Format(RouteConstants.ViewPreFundingAgreementCheckpointMeeting, ProjectId)); } - catch (Exception ex) + catch (Exception e) { - _logger.LogErrorMsg(ex); + logger.LogErrorMsg(e); throw; } } - private async Task LoadProject() + private UpdateProjectByTaskRequest BuildUpdateRequest() { - var project = await _getProjectService.Execute(ProjectId, TaskName.PreFundingAgreementCheckpointMeeting); - - SchoolName = project.SchoolName; - IsPresumptionRoute = project.IsPresumptionRoute; + return new UpdateProjectByTaskRequest + { + PreFundingAgreementCheckpointMeetingTask = new PreFundingAgreementCheckpointMeetingTask + { + DateOfTheMeeting = DateOfTheInternalReviewMeeting ?? DateOfTheFormalMeeting, + TypeOfMeetingHeld = TypeOfMeetingHeld, + WhyMeetingWasNotHeld = WhyMeetingWasNotHeld, + CommissionedExternalExpert = CommissionedExternalExpert, + SavedMeetingNoteInWorkplacesFolder = SavedMeetingNoteInWorkplacesFolder, + SentAnEmailToTheTrust = SentAnEmailToTheTrust + } + }; + } + + private void CheckForErrors(string id, TypeOfMeetingHeld typeOfMeetingHeld, DateTime? dateOfMeeting) + { + if (ModelState.IsValid && TypeOfMeetingHeld == typeOfMeetingHeld && dateOfMeeting == null) + { + errorService.AddErrors(ModelState.Keys, ModelState); + } + + if (TypeOfMeetingHeld != typeOfMeetingHeld) + { + ModelState.Keys.Where(errorKey => errorKey.StartsWith(id)) + .ToList() + .ForEach(errorKey => ModelState.Remove(errorKey)); + } + } + + private void ClearNotApplicableValues() + { + switch (TypeOfMeetingHeld) + { + case TypeOfMeetingHeld.FormalCheckpointMeeting: + DateOfTheInternalReviewMeeting = null; + WhyMeetingWasNotHeld = null; + return; + case TypeOfMeetingHeld.InternalReviewMeeting: + DateOfTheFormalMeeting = null; + WhyMeetingWasNotHeld = null; + return; + case TypeOfMeetingHeld.NoMeetingHeld: + DateOfTheInternalReviewMeeting = null; + DateOfTheFormalMeeting = null; + return; + } + + DateOfTheInternalReviewMeeting = null; + DateOfTheFormalMeeting = null; + WhyMeetingWasNotHeld = null; } } } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml index 0f19354b5..4e436b0e8 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml @@ -1,14 +1,15 @@ @page "/projects/{projectId}/tasks/pre-funding-agreement-checkpoint-meeting" -@using Dfe.ManageFreeSchoolProjects.Constants; @using Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks +@using Dfe.ManageFreeSchoolProjects.Constants @using Dfe.ManageFreeSchoolProjects.Pages.Project.Tasks.PreFundingAgreementCheckpointMeeting @model Dfe.ManageFreeSchoolProjects.Pages.Project.Tasks.PreFundingAgreementCheckpointMeeting.ViewPreFundingAgreementCheckpointMeetingModel + @{ ViewData["Title"] = $"Pre-funding agreement checkpoint meeting - {Model.Project.SchoolName}"; var backlink = string.Format(RouteConstants.TaskList, Model.ProjectId); var editlink = string.Format(RouteConstants.EditPreFundingAgreementCheckpointMeeting, Model.ProjectId); - var preFundingAgreementCheckpointMeeting = Model.Project.PreFundingAgreementCheckpointMeeting; + var preFundingAgreementCheckpointMeeting = Model.Project.PreFundingAgreementCheckpointMeetingTask; var isPresumptionRoute = Model.Project.IsPresumptionRoute; } @@ -29,8 +30,16 @@ - - + @{ + if (preFundingAgreementCheckpointMeeting.TypeOfMeetingHeld == TypeOfMeetingHeld.NoMeetingHeld) + { + + } + else if (preFundingAgreementCheckpointMeeting.TypeOfMeetingHeld is TypeOfMeetingHeld.FormalCheckpointMeeting or TypeOfMeetingHeld.InternalReviewMeeting) + { + + } + } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/ReadinessToOpenMeeting/EditReadinessToOpenMeeting.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/ReadinessToOpenMeeting/EditReadinessToOpenMeeting.cshtml index 5371a347a..5486a7870 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/ReadinessToOpenMeeting/EditReadinessToOpenMeeting.cshtml +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/ReadinessToOpenMeeting/EditReadinessToOpenMeeting.cshtml @@ -36,7 +36,7 @@ - + @{ - if (readinessToOpenMeeting.TypeOfMeetingHeld == TypeOfMeetingHeld.NoRomHeld) + if (readinessToOpenMeeting.TypeOfMeetingHeld == TypeOfMeetingHeld.NoMeetingHeld) { } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml index 6fb39a8f1..644b43504 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/TaskList.cshtml @@ -231,7 +231,7 @@ @if (Model.IsPresumptionRoute == false) {
  • - + Pre-funding agreement checkpoint meeting From 8ad5bd96b824602a0b6c81ce3fe7ee5a258f920f Mon Sep 17 00:00:00 2001 From: Jack Marshall Date: Wed, 25 Sep 2024 16:11:52 +0100 Subject: [PATCH 4/9] Increased Task.Task Name max length and fixed cypress test --- ...funding-agreement-checkpoint-meeting.cy.ts | 4 +- .../Configuration/TasksConfiguration.cs | 2 +- ...0925145145_TaskNameMaxLength50.Designer.cs | 12846 ++++++++++++++++ .../20240925145145_TaskNameMaxLength50.cs | 64 + .../Migrations/MfspContextModelSnapshot.cs | 4 +- 5 files changed, 12915 insertions(+), 5 deletions(-) create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240925145145_TaskNameMaxLength50.Designer.cs create mode 100644 Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240925145145_TaskNameMaxLength50.cs diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/pre-funding-agreement-checkpoint-meeting.cy.ts b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/pre-funding-agreement-checkpoint-meeting.cy.ts index 6f0a2a529..24114ef0a 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/pre-funding-agreement-checkpoint-meeting.cy.ts +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/pre-funding-agreement-checkpoint-meeting.cy.ts @@ -74,7 +74,7 @@ describe("Testing pre-funding agreement checkpoint meeting task", () => { .schoolNameIs(project.schoolName) .titleIs("Pre-funding agreement checkpoint meeting") .inOrder() - .summaryShows("Type of meeting held").HasValue("Formal meeting").HasChangeLink() + .summaryShows("Type of meeting held").HasValue("Formal checkpoint meeting").HasChangeLink() .summaryShows("Date of the meeting").HasValue("5 May 2040").HasChangeLink() .summaryShows("Commissioned an external expert to attend any meetings (if applicable)").HasValue("Yes").HasChangeLink() .summaryShows("Saved the meeting note in Workplaces folder").HasValue("Yes").HasChangeLink() @@ -107,7 +107,7 @@ describe("Testing pre-funding agreement checkpoint meeting task", () => { .summaryShows("Type of meeting held").HasValue("No meeting held").HasChangeLink() .summaryShows("Why a meeting was not held").HasValue("This is the reason why meeting was not held").HasChangeLink() .summaryShows("Commissioned an external expert to attend any meetings (if applicable)").HasValue("Yes").HasChangeLink() - .summaryShows("Saved the meeting note in Workplaces folder").HasValue("No").HasChangeLink() + .summaryShows("Saved the meeting note in Workplaces folder").IsEmpty().HasChangeLink() .summaryShows("Sent an email to the trust highlighting any significant concerns and necessary actions (if applicable)").HasValue("Yes").HasChangeLink() .isNotMarkedAsComplete() .clickConfirmAndContinue() diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Configuration/TasksConfiguration.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Configuration/TasksConfiguration.cs index b47cea069..49b6f0872 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Configuration/TasksConfiguration.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Configuration/TasksConfiguration.cs @@ -25,7 +25,7 @@ public void Configure(EntityTypeBuilder builder) v => ConvertTaskName(v)); builder.Property(e => e.TaskName) - .HasMaxLength(30) + .HasMaxLength(50) .IsUnicode(false) .HasColumnName("Task Name") .HasConversion(taskConverter); diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240925145145_TaskNameMaxLength50.Designer.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240925145145_TaskNameMaxLength50.Designer.cs new file mode 100644 index 000000000..a5d7aa7e4 --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240925145145_TaskNameMaxLength50.Designer.cs @@ -0,0 +1,12846 @@ +// +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("20240925145145_TaskNameMaxLength50")] + partial class TaskNameMaxLength50 + { + /// + 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("ContractProcurementOption") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Procurement Option"); + + b.Property("ContractProcurementRoute") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Procurement route"); + + b.Property("ContractProcurementStartTenderIssuedActual") + .HasColumnType("date") + .HasColumnName("Contract.Procurement start / Tender Issued (actual)"); + + b.Property("ContractProcurementStartTenderIssuedForecast") + .HasColumnType("date") + .HasColumnName("Contract.Procurement start / Tender Issued (forecast)"); + + b.Property("ContractProportionOfNewBuild") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Proportion of New Build"); + + b.Property("ContractRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.RAG rating"); + + b.Property("ContractReasonForClosedContractStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Reason for Closed contract status"); + + b.Property("ContractSectionalCompletionCertificatesLink") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("Contract.Sectional completion certificates link"); + + b.Property("ContractSiteId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Site ID"); + + b.Property("ContractSiteVisit") + .HasColumnType("date") + .HasColumnName("Contract.Site Visit"); + + b.Property("ContractStartOnSiteActual") + .HasColumnType("date") + .HasColumnName("Contract.Start on site (actual)"); + + b.Property("ContractStartOnSiteForecast") + .HasColumnType("date") + .HasColumnName("Contract.Start on site (forecast)"); + + b.Property("ContractTenderReportApprovedByEfaActual") + .HasColumnType("date") + .HasColumnName("Contract.Tender report approved by EFA (actual)"); + + b.Property("ContractTenderReportApprovedByEfaForecast") + .HasColumnType("date") + .HasColumnName("Contract.Tender report approved by EFA (forecast)"); + + b.Property("ContractTenderReportLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Tender report link"); + + b.Property("ContractTenderReportSubmittedToEfaActual") + .HasColumnType("date") + .HasColumnName("Contract.Tender report submitted to EFA (actual)"); + + b.Property("ContractTenderReportSubmittedToEfaForecast") + .HasColumnType("date") + .HasColumnName("Contract.Tender report submitted to EFA (forecast)"); + + b.Property("ContractTypeOfContractorAppointment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Type of contractor appointment"); + + b.Property("ContractTypeOfContractorAppointmentIfOther") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Type of contractor appointment if other"); + + b.Property("ContractTypeOfWorks") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contract.Type of works"); + + 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("Contracts", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("ContractsHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Fal", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("FundingApprovalLettersFundingApprovalLetterIssuedDate") + .HasColumnType("date") + .HasColumnName("Funding Approval Letters.Funding approval letter issued date"); + + b.Property("FundingApprovalLettersFundingApprovalLetterRecipient") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Funding approval letter recipient"); + + b.Property("FundingApprovalLettersFundingApprovalLetterTotalValue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Funding approval letter Total value"); + + b.Property("FundingApprovalLettersId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.ID"); + + b.Property("FundingApprovalLettersLinkToFundingApprovalLetter") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Link to funding approval letter"); + + b.Property("FundingApprovalLettersTotalConstruction") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Total construction"); + + b.Property("FundingApprovalLettersTotalFfEBudget") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Total FF&E budget"); + + b.Property("FundingApprovalLettersTotalIctBudget") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Total ICT budget"); + + b.Property("FundingApprovalLettersTotalTemporarySiteBudget") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Funding Approval Letters.Total temporary site budget"); + + 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("FAL", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("FALHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.FsKim", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("GeneralDetailsAcademyLaestab") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Academy LAESTAB"); + + b.Property("GeneralDetailsAcademyName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Academy Name"); + + b.Property("GeneralDetailsAcademyStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Academy Status"); + + b.Property("GeneralDetailsAcademyUkprn") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("General Details.Academy UKPRN"); + + b.Property("GeneralDetailsAcademyUrn") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Academy URN"); + + b.Property("GeneralDetailsLaestab") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.LAESTAB"); + + b.Property("GeneralDetailsLocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Local Authority"); + + b.Property("GeneralDetailsPhase") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Phase"); + + b.Property("GeneralDetailsProjectName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Project Name"); + + b.Property("GeneralDetailsProjectStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Project status"); + + b.Property("GeneralDetailsReBrokeredDate") + .HasColumnType("date") + .HasColumnName("General Details.Re-brokered date"); + + b.Property("GeneralDetailsRouteOfProject") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.Route of Project"); + + b.Property("GeneralDetailsRscRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.RSC Region"); + + b.Property("GeneralDetailsUrn") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("General Details.URN"); + + 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("ReBrokerageStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Re-brokerage status"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("FS_KIM", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("FS_KIMHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Kai", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("ApplicationDetailsAnyOtherFreedomsTheSchoolIntendsToUse") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Any other freedoms the school intends to use"); + + b.Property("ApplicationDetailsAreAnyMembersOfTheGroupAlsoInvolvedInOtherApplicationsToOpenFreeSchoolsInThisRound") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Are any members of the group also involved in other applications to open free schools in this round?"); + + b.Property("ApplicationDetailsAreThereAnyConnectionsWithOtherOrganisationsWithinTheUkOrOverseas") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Are there any connections with other organisations within the UK or overseas?"); + + b.Property("ApplicationDetailsAreThereAnyConnectionsWithReligiousOrganisationsOrInstitutions") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Are there any connections with religious organisations or institutions?"); + + b.Property("ApplicationDetailsCompanyAddress") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Company address"); + + b.Property("ApplicationDetailsCompanyName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Company name"); + + b.Property("ApplicationDetailsCompanyRegistrationNumber") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Company registration number"); + + b.Property("ApplicationDetailsDateLaDecisionExpected") + .HasColumnType("date") + .HasColumnName("Application Details.Date LA decision expected"); + + b.Property("ApplicationDetailsDateProposalsExpected") + .HasColumnType("date") + .HasColumnName("Application Details.Date proposals expected"); + + b.Property("ApplicationDetailsDateSpecificationIssuedByLa") + .HasColumnType("date") + .HasColumnName("Application Details.Date specification issued by LA"); + + b.Property("ApplicationDetailsDateWhenCompanyWasIncorporated") + .HasColumnType("date") + .HasColumnName("Application Details.Date when company was incorporated"); + + b.Property("ApplicationDetailsDetailsOfAnyConnectionsWithReligiousOrganisationsOrInstitutions") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Details of any connections with religious organisations or institutions"); + + b.Property("ApplicationDetailsDetailsOfConnectionsWithOrganisationsWithinTheUkOrOverseas") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Details of connections with organisations within the UK or overseas"); + + b.Property("ApplicationDetailsDidTheProposerGroupHaveHelpAndSupportFromAnotherCompanyOrOrganisation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Did the proposer group have help and support from another company or organisation?"); + + b.Property("ApplicationDetailsDidTheProposerGroupSeekHelpAndSupportFromTheNewSchoolsNetwork") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Did the proposer group seek help and support from the New Schools Network?"); + + b.Property("ApplicationDetailsDoesTheGroupRunASchoolInTheLocalArea") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Does the group run a school in the local area?"); + + b.Property("ApplicationDetailsDoesTheGroupRunASchoolOfTheSamePhaseAndType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Does the group run a school of the same phase and type?"); + + b.Property("ApplicationDetailsForIndependentSchoolsLinkToTheMostRecentInspectionReport") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.For independent schools, link to the most recent inspection report"); + + b.Property("ApplicationDetailsForIndependentSchoolsNameRatingAndUniqueReferenceNumber") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.For independent schools, name, rating and unique reference number"); + + b.Property("ApplicationDetailsHasTheGroupAppliedBeforeToOpenThisSchoolWhetherUnderTheCurrentNameOrAnotherName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Has the group applied before to open this school, whether under the current name or another name?"); + + b.Property("ApplicationDetailsHasThePrincipalDesignateBeenIdentified") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Has the principal designate been identified?"); + + b.Property("ApplicationDetailsHasTheProposerGroupEstablishedATrustInAccordanceWithTheDfEModelArticlesOfAssociation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Has the proposer group established a trust in accordance with the DfE model articles of association?"); + + b.Property("ApplicationDetailsHowDoesTheProposerDescribeTheirGroup") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.How does the proposer describe their group?"); + + b.Property("ApplicationDetailsHowManyApplicationsIsTheProposerGroupSeekingToOpenInThisApplicationRound") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.How many applications is the proposer group seeking to open in this application round?"); + + b.Property("ApplicationDetailsIfANurseryIsProposedPleaseStatePupilCapacity") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.If a nursery is proposed, please state pupil capacity"); + + b.Property("ApplicationDetailsIfANurseryIsProposedPleaseStateTheAgeRange") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.If a nursery is proposed, please state the age range"); + + b.Property("ApplicationDetailsIfANurseryIsProposedStateNurseryPupilCapacityAndAgeRange") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.If a nursery is proposed, state nursery pupil capacity and age range"); + + b.Property("ApplicationDetailsIfASixthFormIsProposedPleaseStateTheSixthFormPupilCapacity") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.If a sixth form is proposed, please state the sixth form pupil capacity"); + + b.Property("ApplicationDetailsIfTheTrustRunsAcademiesFreeSchoolsHasAnythingChangedInTheTrustWithinTheLastMonth") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.If the trust runs academies/free schools, has anything changed in the trust within the last month?"); + + b.Property("ApplicationDetailsIfYesAndTheNameOfTheSchoolWasDifferentStateWhatTheOriginalNameWas") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.If yes and the name of the school was different, state what the original name was:"); + + b.Property("ApplicationDetailsIfYesStateTheNamesSOfTheOrganisationsSAndDescribeTheirRole") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.If yes, state the names (s) of the organisations(s) and describe their role"); + + b.Property("ApplicationDetailsIfYesWhenDidTheGroupLastApply") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.If yes, when did the group last apply?"); + + b.Property("ApplicationDetailsInWhichLocalAuthorityDistrictIsYourPreferredLocation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.In which local authority district is your preferred location?"); + + b.Property("ApplicationDetailsIsAnyoneConnectedWithThisApplicationRelatedInAnyWay") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Is anyone connected with this application related in any way?"); + + b.Property("ApplicationDetailsIsTheProposalADirectResultOfARequestFromGroups") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Is the proposal a direct result of a request from groups"); + + b.Property("ApplicationDetailsIsTheProposerGroupPlanningToContractTheManagementOfTheSchoolToAnotherOrganisation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Is the proposer group planning to contract the management of the school to another organisation?"); + + b.Property("ApplicationDetailsLaClosingDateForReceiptOfProposals") + .HasColumnType("date") + .HasColumnName("Application Details.LA closing date for receipt of proposals"); + + b.Property("ApplicationDetailsLinkToPreRegistration") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Link to pre-registration"); + + b.Property("ApplicationDetailsLinkToSpecification") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Link to specification"); + + b.Property("ApplicationDetailsMaximumCapacityOfTheFreeSchoolIncluding1619SixthFormButNotIncludingNursery") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Maximum capacity of the free school (including 16-19/sixth form, but not including nursery)"); + + b.Property("ApplicationDetailsNamesAndUniqueReferenceNumberSForEachOfTheTrustSOpenSchools") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Names and unique reference number(s) for each of the trust's open schools"); + + b.Property("ApplicationDetailsNumberOfCompanyMembers") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Number of company members"); + + b.Property("ApplicationDetailsNumberOfTrustees") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Number of trustees"); + + b.Property("ApplicationDetailsProposalsReceived") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Proposals received"); + + b.Property("ApplicationDetailsProposedChairOfTrustees") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Proposed chair of trustees"); + + b.Property("ApplicationDetailsStateYearTheSchoolWillHaveTheOpeningAndPanNumber") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.State year the school will have the opening and PAN number"); + + b.Property("ApplicationDetailsTimeDedicatedToFaithStudiesHoursPerWeek") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Time dedicated to faith studies (hours per week)"); + + b.Property("ApplicationDetailsTimeDedicatedToMinorityLanguageStudyHoursPerWeek") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Time dedicated to minority language study (hours per week)"); + + b.Property("ApplicationDetailsWillTheSchoolAdoptNonStandardTermsAndConditionsForTeachers") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Will the school adopt non-standard terms and conditions for teachers?"); + + b.Property("ApplicationDetailsWillTheSchoolAdoptTheNationalCurriculum") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Will the school adopt the national curriculum?"); + + b.Property("ApplicationDetailsWillTheSchoolEmployTeachersWithoutQualifiedTeacherStatusQts") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Will the school employ teachers without qualified teacher status (QTS)?"); + + b.Property("ApplicationDetailsWillTheSchoolHaveADistinctivePedagogyOrEducationalPhilosophyForExampleSteinerOrMontessori") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Application Details.Will the school have a distinctive pedagogy or educational philosophy, for example Steiner or Montessori?"); + + b.Property("ApplicationDetailsWillTheSchoolOperateANonStandardSchoolDay") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Will the school operate a non-standard school day?"); + + b.Property("ApplicationDetailsWillTheSchoolOperateANonStandardSchoolYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Application Details.Will the school operate a non-standard school year?"); + + b.Property("AssessmentCriteriaAreYouRecommendingApprovalOfThe1619Element") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Criteria.Are you recommending approval of the 16-19 element?"); + + b.Property("AssessmentCriteriaConditions") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Assessment Criteria.Conditions"); + + b.Property("AssessmentCriteriaFinalRecommendation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Criteria.Final recommendation"); + + b.Property("AssessmentCriteriaFinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Criteria.Final Score"); + + b.Property("AssessmentCriteriaNurseryRecommendation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Criteria.Nursery recommendation"); + + b.Property("AssessmentCriteriaNurseryRecommendationCommentary") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Assessment Criteria.Nursery recommendation commentary"); + + b.Property("AssessmentCriteriaRecommendationCommentary") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Assessment Criteria.Recommendation commentary"); + + b.Property("AssessmentDetailsDateOfLaFsPresumptionAssessment") + .HasColumnType("date") + .HasColumnName("Assessment Details.Date of LA FS presumption assessment"); + + b.Property("AssessmentDetailsDateOfRscHtbPresumptionDecisionMeeting") + .HasColumnType("date") + .HasColumnName("Assessment Details.Date of RSC/HTB presumption decision meeting"); + + b.Property("AssessmentDetailsDfERepresentationOnFsPresumptionPanel") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.DfE representation on FS presumption panel?"); + + b.Property("AssessmentDetailsEqualitiesImpactAssessment") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Assessment Details.Equalities impact assessment"); + + b.Property("AssessmentDetailsInterviewAttendees") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Assessment Details.Interview Attendees"); + + b.Property("AssessmentDetailsInterviewPanel") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Assessment Details.Interview panel"); + + b.Property("AssessmentDetailsMinisterialPostInterviewDecision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Ministerial post-interview decision"); + + b.Property("AssessmentDetailsMinisterialPostPaperDecision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Ministerial post-paper decision"); + + b.Property("AssessmentDetailsNameOfDfEIndividualSOnFsPresumptionAssessmentPanel") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Name of DfE individual(s) on FS presumption assessment panel"); + + b.Property("AssessmentDetailsPostInterviewRecommendationToTheMinister") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Post-interview recommendation to the Minister"); + + b.Property("AssessmentDetailsPostPaperRecommendationToTheMinister") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Post-paper recommendation to the Minister"); + + b.Property("AssessmentDetailsRscPaperBasedRecommendation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.RSC paper-based recommendation"); + + b.Property("AssessmentDetailsRscPostInterviewRecommendation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.RSC post-interview recommendation"); + + b.Property("AssessmentDetailsWasSuccessfulFsPresumptionSponsorRecommendedByTheLa") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Assessment Details.Was successful FS presumption sponsor recommended by the LA?"); + + 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("SectionBNeedB11619ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1(16-19) Application assessment comments"); + + b.Property("SectionBNeedB11619ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1(16-19) Application assessment score"); + + b.Property("SectionBNeedB11619CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B1(16-19) Characteristics (Old)"); + + b.Property("SectionBNeedB11619CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B1(16-19) Characteristics (Wave 14)"); + + b.Property("SectionBNeedB11619FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1(16-19) Final score"); + + b.Property("SectionBNeedB11619Indicators") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1(16-19) Indicators"); + + b.Property("SectionBNeedB11619InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1(16-19) Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionBNeedB11619IsTheLocalAuthoritySupportiveOfTheSchool") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1(16-19) Is the Local Authority supportive of the school?"); + + b.Property("SectionBNeedB11619ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1(16-19) Score after interview"); + + b.Property("SectionBNeedB11619SiftAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1(16-19) Sift assessment comments"); + + b.Property("SectionBNeedB11619SiftAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1(16-19) Sift assessment score"); + + b.Property("SectionBNeedB11ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.1 Application assessment comments"); + + b.Property("SectionBNeedB11ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.1 Application assessment score"); + + b.Property("SectionBNeedB11CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B1.1 Characteristics (Old)"); + + b.Property("SectionBNeedB11CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B1.1 Characteristics (Wave 14)"); + + b.Property("SectionBNeedB11FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.1 Final score"); + + b.Property("SectionBNeedB11IndicatorsContributory") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.1 Indicators - Contributory"); + + b.Property("SectionBNeedB11IndicatorsCore") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.1 Indicators - Core"); + + b.Property("SectionBNeedB11InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.1 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionBNeedB11IsTheLocalAuthoritySupportiveOfTheSchool") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.1 Is the Local Authority supportive of the school?"); + + b.Property("SectionBNeedB11ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.1 Score after interview"); + + b.Property("SectionBNeedB11SiftAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.1 Sift assessment comments"); + + b.Property("SectionBNeedB11SiftAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.1 Sift assessment score"); + + b.Property("SectionBNeedB12ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.2 Application assessment comments"); + + b.Property("SectionBNeedB12ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.2 Application assessment score"); + + b.Property("SectionBNeedB12FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.2 Final score"); + + b.Property("SectionBNeedB12InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.2 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionBNeedB12ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.2 Score after interview"); + + b.Property("SectionBNeedB12SiftAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B1.2 Sift assessment comments"); + + b.Property("SectionBNeedB12SiftAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B1.2 Sift assessment score"); + + b.Property("SectionBNeedB21619ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2(16-19) Application assessment comments"); + + b.Property("SectionBNeedB21619ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2(16-19) Application assessment score"); + + b.Property("SectionBNeedB21619CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B2(16-19) Characteristics (Old)"); + + b.Property("SectionBNeedB21619CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B2(16-19) Characteristics (Wave 14)"); + + b.Property("SectionBNeedB21619FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2(16-19) Final score"); + + b.Property("SectionBNeedB21619IndicatorsContributory") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2(16-19) Indicators – Contributory"); + + b.Property("SectionBNeedB21619IndicatorsCore") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2(16-19) Indicators – Core"); + + b.Property("SectionBNeedB21619InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2(16-19) Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionBNeedB21619ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2(16-19) Score after interview"); + + b.Property("SectionBNeedB21619SiftAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2(16-19) Sift assessment comments"); + + b.Property("SectionBNeedB21619SiftAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2(16-19) Sift assessment score"); + + b.Property("SectionBNeedB2ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2 Application assessment comments"); + + b.Property("SectionBNeedB2ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2 Application assessment score"); + + b.Property("SectionBNeedB2CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B2 Characteristics (Old)"); + + b.Property("SectionBNeedB2CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section B - Need.B2 Characteristics (Wave 14)"); + + b.Property("SectionBNeedB2FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2 Final score"); + + b.Property("SectionBNeedB2IndicatorsContributory") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2 Indicators – Contributory"); + + b.Property("SectionBNeedB2IndicatorsCore") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2 Indicators - Core"); + + b.Property("SectionBNeedB2InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionBNeedB2ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2 Score after interview"); + + b.Property("SectionBNeedB2SiftAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B2 Sift assessment comments"); + + b.Property("SectionBNeedB2SiftAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B2 Sift assessment score"); + + b.Property("SectionBNeedBNAfterInterviewNurseryNeedSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B(N) After interview nursery need summary comments"); + + b.Property("SectionBNeedBNEngagementWithTheLocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.B(N) Engagement with the local authority"); + + b.Property("SectionBNeedBNNurseryNeedInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B(N) Nursery need interview prompts"); + + b.Property("SectionBNeedBNNurseryNeedSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.B(N) Nursery need summary comments"); + + b.Property("SectionBNeedFinalTotalPercentageScoreForSectionB") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.Final total percentage score for Section B"); + + b.Property("SectionBNeedNeedApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.Need application assessment score"); + + b.Property("SectionBNeedNeedCommentaryAndInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.Need commentary and interview prompts"); + + b.Property("SectionBNeedNeedSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section B - Need.Need summary comments"); + + b.Property("SectionBNeedPostcode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.Postcode"); + + b.Property("SectionBNeedWillWeContinueToAssess1619") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section B - Need.Will we continue to assess 16-19?"); + + b.Property("SectionCVisionC1ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.C1 Application assessment comments"); + + b.Property("SectionCVisionC1ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.C1 Application assessment score"); + + b.Property("SectionCVisionC1CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section C - Vision.C1 Characteristics (Old)"); + + b.Property("SectionCVisionC1CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section C - Vision.C1 Characteristics (Wave 14)"); + + b.Property("SectionCVisionC1FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.C1 Final score"); + + b.Property("SectionCVisionC1InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.C1 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionCVisionC1ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.C1 Score after interview"); + + b.Property("SectionCVisionCNAfterInterviewSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.C(N) After interview summary comments"); + + b.Property("SectionCVisionCNAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.C(N) Assessment"); + + b.Property("SectionCVisionCNAssessmentAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.C(N) Assessment after interview"); + + b.Property("SectionCVisionCNAssessmentSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.C(N) Assessment summary comments"); + + b.Property("SectionCVisionCNNurseryVisionInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.C(N) Nursery vision interview prompts"); + + b.Property("SectionCVisionFinalTotalPercentageScoreForSectionC") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.Final total percentage score for section C"); + + b.Property("SectionCVisionVisionApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section C - Vision.Vision application assessment score"); + + b.Property("SectionCVisionVisionInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.Vision interview prompts"); + + b.Property("SectionCVisionVisionSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section C - Vision.Vision summary comments"); + + b.Property("SectionDEngagementCharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section D - Engagement.Characteristics (Old)"); + + b.Property("SectionDEngagementCharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section D - Engagement.Characteristics (Wave 14)"); + + b.Property("SectionDEngagementD1ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section D - Engagement.D1 Application assessment comments"); + + b.Property("SectionDEngagementD1ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section D - Engagement.D1 Application assessment score"); + + b.Property("SectionDEngagementD1FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section D - Engagement.D1 Final score"); + + b.Property("SectionDEngagementD1InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section D - Engagement.D1 Interview comments - evidence that led to a score change (if applicable)"); + + b.Property("SectionDEngagementD1ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section D - Engagement.D1 Score after interview"); + + b.Property("SectionDEngagementEngagementWithParentsAndTheLocalCommunityApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section D - Engagement.Engagement with parents and the local community application assessment score"); + + b.Property("SectionDEngagementEngagementWithParentsAndTheLocalCommunityInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section D - Engagement.Engagement with parents and the local community interview prompts"); + + b.Property("SectionDEngagementEngagementWithParentsAndTheLocalCommunitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section D - Engagement.Engagement with parents and the local community summary comments"); + + b.Property("SectionDEngagementFinalTotalPercentageScoreForSectionD") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section D - Engagement.Final total percentage score for section D"); + + b.Property("SectionEEducationPlanE1ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E1 Application assessment comments"); + + b.Property("SectionEEducationPlanE1ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E1 Application assessment score"); + + b.Property("SectionEEducationPlanE1CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E1 Characteristics (Old)"); + + b.Property("SectionEEducationPlanE1CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E1 Characteristics (Wave 14)"); + + b.Property("SectionEEducationPlanE1FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E1 Final score"); + + b.Property("SectionEEducationPlanE1InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E1 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionEEducationPlanE1ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E1 Score after interview"); + + b.Property("SectionEEducationPlanE2ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E2 Application assessment comments"); + + b.Property("SectionEEducationPlanE2ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E2 Application assessment score"); + + b.Property("SectionEEducationPlanE2CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E2 Characteristics (Old)"); + + b.Property("SectionEEducationPlanE2CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E2 Characteristics (Wave 14)"); + + b.Property("SectionEEducationPlanE2FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E2 Final score"); + + b.Property("SectionEEducationPlanE2InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E2 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionEEducationPlanE2ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E2 Score after interview"); + + b.Property("SectionEEducationPlanE3ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E3 Application assessment comments"); + + b.Property("SectionEEducationPlanE3ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E3 Application assessment score"); + + b.Property("SectionEEducationPlanE3CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E3 Characteristics (Old)"); + + b.Property("SectionEEducationPlanE3CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E3 Characteristics (Wave 14)"); + + b.Property("SectionEEducationPlanE3FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E3 Final score"); + + b.Property("SectionEEducationPlanE3InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E3 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionEEducationPlanE3ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E3 Score after interview"); + + b.Property("SectionEEducationPlanE4ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E4 Application assessment comments"); + + b.Property("SectionEEducationPlanE4ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E4 Application assessment score"); + + b.Property("SectionEEducationPlanE4CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E4 Characteristics (Old)"); + + b.Property("SectionEEducationPlanE4CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section E - Education Plan.E4 Characteristics (Wave 14)"); + + b.Property("SectionEEducationPlanE4FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E4 Final score"); + + b.Property("SectionEEducationPlanE4InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E4 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionEEducationPlanE4ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E4 Score after interview"); + + b.Property("SectionEEducationPlanENAfterInterviewModelAndViabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E(N) After interview model and viability summary comments"); + + b.Property("SectionEEducationPlanENModelType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.E(N) Model type"); + + b.Property("SectionEEducationPlanENNurseryModelAndViabilityInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E(N) Nursery model and viability interview prompts"); + + b.Property("SectionEEducationPlanENNurseryModelAndViabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.E(N) Nursery model and viability summary comments"); + + b.Property("SectionEEducationPlanEducationAdviserAssessment") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.Education adviser assessment"); + + b.Property("SectionEEducationPlanEducationPlanApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.Education plan application assessment score"); + + b.Property("SectionEEducationPlanEducationPlanInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.Education plan interview prompts"); + + b.Property("SectionEEducationPlanEducationPlanSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.Education plan summary comments"); + + b.Property("SectionEEducationPlanFinalTotalPercentageScoreForSectionE") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.Final total percentage score for section E"); + + b.Property("SectionEEducationPlanIoDResidentialRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.IoD Residential RAG"); + + b.Property("SectionEEducationPlanIoDSchoolBasedRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section E - Education Plan.IoD School Based RAG"); + + b.Property("SectionEEducationPlanRagCommentaryBox") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section E - Education Plan.RAG commentary box"); + + b.Property("SectionFCapacityAndCapabilityCapacityAndCapabilityApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.Capacity and capability application assessment score"); + + b.Property("SectionFCapacityAndCapabilityCapacityAndCapabilityInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.Capacity and capability interview prompts"); + + b.Property("SectionFCapacityAndCapabilityCapacityAndCapabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.Capacity and capability summary comments"); + + b.Property("SectionFCapacityAndCapabilityDoesTheProposerGroupHaveAnyOpenSchools") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.Does the proposer group have any open schools?"); + + b.Property("SectionFCapacityAndCapabilityDoesTheProposerGroupRunAnyOpenStateFundedSchools") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.Does the proposer group run any open state funded schools?"); + + b.Property("SectionFCapacityAndCapabilityExistingProviderSummary") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.Existing provider summary"); + + b.Property("SectionFCapacityAndCapabilityF1ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F1 Application assessment comments"); + + b.Property("SectionFCapacityAndCapabilityF1ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F1 Application assessment score"); + + b.Property("SectionFCapacityAndCapabilityF1CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F1 Characteristics (Old)"); + + b.Property("SectionFCapacityAndCapabilityF1CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F1 Characteristics (Wave 14)"); + + b.Property("SectionFCapacityAndCapabilityF1FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F1 Final score"); + + b.Property("SectionFCapacityAndCapabilityF1InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F1 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionFCapacityAndCapabilityF1ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F1 Score after interview"); + + b.Property("SectionFCapacityAndCapabilityF2ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F2 Application assessment comments"); + + b.Property("SectionFCapacityAndCapabilityF2ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F2 Application assessment score"); + + b.Property("SectionFCapacityAndCapabilityF2CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F2 Characteristics (Old)"); + + b.Property("SectionFCapacityAndCapabilityF2CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F2 Characteristics (Wave 14)"); + + b.Property("SectionFCapacityAndCapabilityF2FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F2 Final score"); + + b.Property("SectionFCapacityAndCapabilityF2InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F2 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionFCapacityAndCapabilityF2ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F2 Score after interview"); + + b.Property("SectionFCapacityAndCapabilityF3ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F3 Application assessment comments"); + + b.Property("SectionFCapacityAndCapabilityF3ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F3 Application assessment score"); + + b.Property("SectionFCapacityAndCapabilityF3CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F3 Characteristics (Old)"); + + b.Property("SectionFCapacityAndCapabilityF3CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section F - Capacity and capability.F3 Characteristics (Wave 14)"); + + b.Property("SectionFCapacityAndCapabilityF3FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F3 Final score"); + + b.Property("SectionFCapacityAndCapabilityF3InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F3 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionFCapacityAndCapabilityF3ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F3 Score after interview"); + + b.Property("SectionFCapacityAndCapabilityFNAfterInterviewCapacityAndCapabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F(N) After interview capacity and capability summary comments"); + + b.Property("SectionFCapacityAndCapabilityFNNurseryCapacityAndCapabilityInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F(N) Nursery capacity and capability interview prompts"); + + b.Property("SectionFCapacityAndCapabilityFNNurseryCapacityAndCapabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.F(N) Nursery capacity and capability summary comments"); + + b.Property("SectionFCapacityAndCapabilityFNTrustSNurseryExperience") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.F(N) Trust's nursery experience"); + + b.Property("SectionFCapacityAndCapabilityFinalTotalPercentageScoreForSectionF") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.Final total percentage score for section F"); + + b.Property("SectionFCapacityAndCapabilityMatReview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.MAT Review"); + + b.Property("SectionFCapacityAndCapabilityMembersNamesExperienceAndExpertise") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.Members' names, experience and expertise"); + + b.Property("SectionFCapacityAndCapabilitySingleList") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section F - Capacity and capability.Single list"); + + b.Property("SectionFCapacityAndCapabilityTrusteesNamesExperienceAndExpertise") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section F - Capacity and capability.Trustees' names, experience and expertise"); + + b.Property("SectionGFinancialViabilityFinalTotalPercentageScoreForSectionG") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.Final total percentage score for section G"); + + b.Property("SectionGFinancialViabilityFinancialViabilityApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.Financial viability application assessment score"); + + b.Property("SectionGFinancialViabilityFinancialViabilityInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.Financial viability interview prompts"); + + b.Property("SectionGFinancialViabilityFinancialViabilitySummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.Financial viability summary comments"); + + b.Property("SectionGFinancialViabilityG1ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.G1 Application assessment comments"); + + b.Property("SectionGFinancialViabilityG1ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G1 Application assessment score"); + + b.Property("SectionGFinancialViabilityG1CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section G - Financial viability.G1 Characteristics (Old)"); + + b.Property("SectionGFinancialViabilityG1CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section G - Financial viability.G1 Characteristics (Wave 14)"); + + b.Property("SectionGFinancialViabilityG1FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G1 Final score"); + + b.Property("SectionGFinancialViabilityG1InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.G1 Interview comments - evidence that led to a score change (if applicable)"); + + b.Property("SectionGFinancialViabilityG1ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G1 Score after interview"); + + b.Property("SectionGFinancialViabilityG2ApplicationAssessmentComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.G2 Application assessment comments"); + + b.Property("SectionGFinancialViabilityG2ApplicationAssessmentScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G2 Application assessment score"); + + b.Property("SectionGFinancialViabilityG2CharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section G - Financial viability.G2 Characteristics (Old)"); + + b.Property("SectionGFinancialViabilityG2CharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section G - Financial viability.G2 Characteristics (Wave 14)"); + + b.Property("SectionGFinancialViabilityG2FinalScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G2 Final score"); + + b.Property("SectionGFinancialViabilityG2InterviewCommentsEvidenceThatLedToAScoreChangeIfApplicable") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section G - Financial viability.G2 Interview comments – evidence that led to a score change (if applicable)"); + + b.Property("SectionGFinancialViabilityG2ScoreAfterInterview") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section G - Financial viability.G2 Score after interview"); + + b.Property("SectionHTheProposedSiteAddress") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Address"); + + b.Property("SectionHTheProposedSiteCostTier") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Cost Tier"); + + b.Property("SectionHTheProposedSiteHasASiteBeenIdentified") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Has a site been identified?"); + + b.Property("SectionHTheProposedSiteHighCostOutlier") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.High cost outlier"); + + b.Property("SectionHTheProposedSiteHighCostOutlierCommentaryBox") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.High cost outlier commentary box"); + + b.Property("SectionHTheProposedSitePlanningPermissionCharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section H - The proposed site.Planning permission characteristics (Old)"); + + b.Property("SectionHTheProposedSitePlanningPermissionCharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section H - The proposed site.Planning permission characteristics (Wave 14)"); + + b.Property("SectionHTheProposedSitePlanningRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Planning RAG"); + + b.Property("SectionHTheProposedSitePlanningRagComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Planning RAG comments"); + + b.Property("SectionHTheProposedSitePlanningRagConfidence") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Planning RAG confidence"); + + b.Property("SectionHTheProposedSitePostcode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Postcode"); + + b.Property("SectionHTheProposedSitePropertyRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Property RAG"); + + b.Property("SectionHTheProposedSitePropertyRagComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Property RAG comments"); + + b.Property("SectionHTheProposedSitePropertyRagConfidence") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Property RAG confidence"); + + b.Property("SectionHTheProposedSiteProposedSiteInterviewPrompts") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Proposed site interview prompts"); + + b.Property("SectionHTheProposedSiteSiteAvailabilityComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Site availability comments"); + + b.Property("SectionHTheProposedSiteSiteAvailabilityConfidence") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Site availability confidence"); + + b.Property("SectionHTheProposedSiteSiteAvailabilityRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section H - The proposed site.Site availability RAG"); + + b.Property("SectionHTheProposedSiteSiteSummaryComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section H - The proposed site.Site summary comments"); + + b.Property("SectionHTheProposedSiteTenureCharacteristicsOld") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section H - The proposed site.Tenure characteristics (Old)"); + + b.Property("SectionHTheProposedSiteTenureCharacteristicsWave14") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Section H - The proposed site.Tenure characteristics (Wave 14)"); + + b.Property("SectionIDueDiligenceComments") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section I - Due Diligence.Comments"); + + b.Property("SectionIDueDiligenceDateOfChecks") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Date of checks"); + + b.Property("SectionIDueDiligenceDidDdcedReportAnythingOfConcernOrInterest") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Did DDCED report anything of concern or interest?"); + + b.Property("SectionIDueDiligenceHasFsdEngagedWithOtherAreasOfTheDepartmentArddOtherUnitsWithinFsd") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section I - Due Diligence.Has FSD engaged with other areas of the department? (ARDD, other units within FSD)"); + + b.Property("SectionIDueDiligenceHaveDueDiligenceChecksBeenUndertakenByFsd") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Have due diligence checks been undertaken by FSD?"); + + b.Property("SectionIDueDiligenceHavePotentialRisksBeenEscalatedAndActionsIdentified") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Have potential risks been escalated and actions identified?"); + + b.Property("SectionIDueDiligenceIsADdcedRepresentativeRequiredToSitOnTheInterviewPanel") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Is a DDCED representative required to sit on the interview panel?"); + + b.Property("SectionIDueDiligenceIsThereAnythingOfConcernOrInterest") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Is there anything of concern or interest?"); + + b.Property("SectionIDueDiligenceLinkToDueDiligenceChecklist") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Section I - Due Diligence.Link to due diligence checklist"); + + b.Property("SectionIDueDiligencePleaseProvideDetailsAndSuggestedActionsRemedies") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section I - Due Diligence.Please provide details and suggested actions/remedies"); + + b.Property("SectionIDueDiligencePleaseProvideDetailsAndSuggestedActionsRemediesDdced") + .HasMaxLength(4799) + .IsUnicode(false) + .HasColumnType("varchar(4799)") + .HasColumnName("Section I - Due Diligence.Please provide details and suggested actions/remedies (DDCED)"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("KAI", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("KAIHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Kpi", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("AprilIndicator") + .IsRequired() + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("April Indicator"); + + b.Property("BasicNeedAdditionalEvidenceOfNeed") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Basic Need.Additional evidence of need"); + + b.Property("BasicNeedAdditionalEvidenceOfNeedSecondary") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("Basic Need.Additional evidence of need - secondary"); + + b.Property("BasicNeedAdditionalEvidenceOfNeedSecondaryAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Additional evidence of need - secondary (assessment)"); + + b.Property("BasicNeedKp02PlanningAreaCode") + .HasMaxLength(8) + .IsUnicode(false) + .HasColumnType("varchar(8)") + .HasColumnName("Basic Need.KP02_Planning area code"); + + b.Property("BasicNeedKp04PlanningAreaCode") + .HasMaxLength(8) + .IsUnicode(false) + .HasColumnType("varchar(8)") + .HasColumnName("Basic Need.KP04_Planning area code"); + + b.Property("BasicNeedPercentageShortfallInLocalAreaAllYearGroupsInScapYear4") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Percentage shortfall in local area (all year groups in SCAP year +4)"); + + b.Property("BasicNeedPercentageShortfallInLocalAreaAllYearGroupsInScapYear4Secondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Percentage shortfall in local area (all year groups in SCAP year +4) - secondary"); + + b.Property("BasicNeedPercentageShortfallInLocalAreaYearOfOpeningAllYearGroups") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Percentage shortfall in local area — year of opening (all year groups)"); + + b.Property("BasicNeedPercentageShortfallInLocalAreaYearOfOpeningAllYearGroupsSecondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Percentage shortfall in local area - year of opening (all year groups) - secondary"); + + b.Property("BasicNeedPlanningAreaCodeSecondary") + .HasMaxLength(8) + .IsUnicode(false) + .HasColumnType("varchar(8)") + .HasColumnName("Basic Need.Planning area code - secondary"); + + b.Property("BasicNeedPlanningAreaCodeSecondaryAssessment") + .HasMaxLength(8) + .IsUnicode(false) + .HasColumnType("varchar(8)") + .HasColumnName("Basic Need.Planning area code - secondary (assessment)"); + + b.Property("BasicNeedSchoolInLocalAreaWithAShortfallOfPlacesInLocalArea") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in local area with a shortfall of places in local area"); + + b.Property("BasicNeedSchoolInLocalAreaWithAShortfallOfPlacesInLocalAreaSecondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in local area with a shortfall of places in local area - secondary"); + + b.Property("BasicNeedSchoolInLocalAreaWithAShortfallOfPlacesSecondaryAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in local area with a shortfall of places - secondary (assessment)"); + + b.Property("BasicNeedSchoolInPlanningAreaOfBasicNeed") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in planning area of basic need"); + + b.Property("BasicNeedSchoolInPlanningAreaOfBasicNeedAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in planning area of basic need (assessment)"); + + b.Property("BasicNeedSchoolInPlanningAreaOfBasicNeedSecondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in planning area of basic need - secondary"); + + b.Property("BasicNeedSchoolInPlanningAreaOfBasicNeedSecondaryAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.School in planning area of basic need - secondary (assessment)"); + + b.Property("BasicNeedShortfallOfPlacesInLocalAreaAllYearGroupsInScapYear4") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Basic Need.Shortfall of places in local area (all year groups in SCAP year +4)"); + + b.Property("BasicNeedShortfallOfPlacesInLocalAreaAllYearGroupsInScapYear4Secondary") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Basic Need.Shortfall of places in local area (all year groups in SCAP year +4) - secondary"); + + b.Property("BasicNeedShortfallOfPlacesInLocalAreaYearOfOpeningAllYearGroups") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Basic Need.Shortfall of places in local area — year of opening (all year groups)"); + + b.Property("BasicNeedShortfallOfPlacesInLocalAreaYearOfOpeningAllYearGroupsSecondary") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Basic Need.Shortfall of places in local area - year of opening (all year groups) - secondary"); + + b.Property("BasicNeedYearOfProjectedNeedSecondaryAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Year of projected need - secondary (assessment)"); + + b.Property("BasicNeedYearOfScapSurvey") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Year of SCAP survey"); + + b.Property("BasicNeedYearOfScapSurveySecondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Basic Need.Year of SCAP survey - secondary"); + + b.Property("CommunicationsArchivedLinesToTake") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Communications.Archived lines to take"); + + b.Property("CommunicationsCurrentLinesToTake") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Communications.Current lines to take"); + + b.Property("CommunicationsMediaPenPortrait") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Communications.Media pen portrait"); + + b.Property("ContingencyPlanningBackUpField") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Contingency Planning.Back-up Field"); + + b.Property("ContingencyPlanningCanCurrentCohortRemainInSchool") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.Can current cohort remain in school?"); + + b.Property("ContingencyPlanningCanSchoolTakeOnAnotherCohort") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.Can school take on another cohort?"); + + b.Property("ContingencyPlanningCanTempsBeExtended") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Contingency Planning.Can temps be extended?"); + + b.Property("ContingencyPlanningEssentialThatItIsDeliveredForSeptemberOrCurrentScheduledDateInTheRealisticYearOfOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.Essential that it is delivered for September (or current scheduled date) in the Realistic Year of Opening?"); + + b.Property("ContingencyPlanningExtraInformation") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Contingency Planning.Extra information"); + + b.Property("ContingencyPlanningFscDeliverabilityAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.FSC Deliverability Assessment"); + + b.Property("ContingencyPlanningFscDeliverabilityComment") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Contingency Planning.FSC Deliverability Comment"); + + b.Property("ContingencyPlanningHowLongCanTempsBeExtended") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Contingency Planning.How long can temps be extended?"); + + b.Property("ContingencyPlanningHowManyStudentsWillNeedAlternativeArrangements") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Contingency Planning.How many students will need alternative arrangements?"); + + b.Property("ContingencyPlanningIfOtherWhy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.If 'Other', why?"); + + b.Property("ContingencyPlanningIfOtherWhyForRAndAExplainAnythingBeingExploredOrNextSteps") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.If 'Other', why? (for R and A, explain anything being explored or next steps)"); + + b.Property("ContingencyPlanningIfYesWhy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.If ‘Yes’, why?"); + + b.Property("ContingencyPlanningProjectedLengthOfDelayToProject") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.Projected length of delay to project"); + + b.Property("ContingencyPlanningRddRationale") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.RDD Rationale"); + + b.Property("ContingencyPlanningRddSiteContingencyRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.RDD Site Contingency RAG"); + + b.Property("ContingencyPlanningSiteShutdown") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contingency Planning.Site shutdown"); + + b.Property("FsType") + .IsRequired() + .HasMaxLength(14) + .IsUnicode(false) + .HasColumnType("varchar(14)") + .HasColumnName("FS_Type"); + + b.Property("FsType1") + .IsRequired() + .HasMaxLength(16) + .IsUnicode(false) + .HasColumnType("varchar(16)") + .HasColumnName("FS_Type_1"); + + b.Property("KeyContactsAddressOfLeadProposer") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Key Contacts.Address of lead proposer"); + + b.Property("KeyContactsAllocatedLawFirm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Allocated law firm"); + + b.Property("KeyContactsAssessmentTeamLeader") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Assessment team leader"); + + b.Property("KeyContactsChairOfGovernorsEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of Governors email"); + + b.Property("KeyContactsChairOfGovernorsMat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of governors MAT"); + + b.Property("KeyContactsChairOfGovernorsMatEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of governors MAT email"); + + b.Property("KeyContactsChairOfGovernorsMatPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of governors MAT phone"); + + b.Property("KeyContactsChairOfGovernorsMatRole") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of governors MAT role"); + + b.Property("KeyContactsChairOfGovernorsName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of Governors name"); + + b.Property("KeyContactsChairOfGovernorsPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Chair of Governors phone"); + + b.Property("KeyContactsCommercialManager") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Commercial Manager"); + + b.Property("KeyContactsEaOnceSchoolIsOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.EA once school is open"); + + b.Property("KeyContactsEducationAdviserAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Education adviser (assessment)"); + + b.Property("KeyContactsEducationAdviserPreOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Education adviser (pre-opening)"); + + b.Property("KeyContactsEsfaAcademiesSeniorAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA academies senior adviser"); + + b.Property("KeyContactsEsfaCapitalHeadOfRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital Head of Region"); + + b.Property("KeyContactsEsfaCapitalProjectDirector") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital project director"); + + b.Property("KeyContactsEsfaCapitalProjectDirectorEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital project director email"); + + b.Property("KeyContactsEsfaCapitalProjectManager") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital project manager"); + + b.Property("KeyContactsEsfaCapitalProjectManagerEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital project manager email"); + + b.Property("KeyContactsEsfaCapitalProjectManagerFirm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Capital project manager firm"); + + b.Property("KeyContactsEsfaLinkOfficer") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA Link Officer"); + + b.Property("KeyContactsEsfaPropertyLead") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA property lead"); + + b.Property("KeyContactsEsfaRegionalPropertyLead") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA regional property lead"); + + b.Property("KeyContactsEsfaTechnicalAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ESFA technical adviser"); + + b.Property("KeyContactsFrameworkPlanningConsultant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Framework planning consultant"); + + b.Property("KeyContactsFrameworkPlanningFirm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Framework planning firm"); + + b.Property("KeyContactsFrameworkPlanningFirmOther") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Framework planning firm – other"); + + b.Property("KeyContactsFsgAssessmentLead") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG assessment lead"); + + b.Property("KeyContactsFsgGrade6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG Grade 6"); + + b.Property("KeyContactsFsgGrade6Email") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG Grade 6 email"); + + b.Property("KeyContactsFsgLeadContact") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG lead contact"); + + b.Property("KeyContactsFsgLeadContactEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG lead contact email"); + + b.Property("KeyContactsFsgTeamLeader") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG team leader"); + + b.Property("KeyContactsFsgTeamLeaderEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.FSG team leader email"); + + b.Property("KeyContactsIctAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.ICT adviser"); + + b.Property("KeyContactsInterviewChair") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Interview chair"); + + b.Property("KeyContactsLeadProposerEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Lead proposer email "); + + b.Property("KeyContactsLeadProposerName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Lead proposer name"); + + b.Property("KeyContactsLeadProposerPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Lead proposer phone"); + + b.Property("KeyContactsLegalFirm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Legal firm"); + + b.Property("KeyContactsLegalManager") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Legal manager"); + + b.Property("KeyContactsLocalAuthorityContactPresumptionProject") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Local authority contact (presumption project)"); + + b.Property("KeyContactsLocatEdAcquisitionManager") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.LocatED acquisition manager"); + + b.Property("KeyContactsNamedContactOnceSchoolIsOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Named contact once school is open"); + + b.Property("KeyContactsOfstedContact") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Ofsted contact"); + + b.Property("KeyContactsOfstedContactEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Ofsted contact email"); + + b.Property("KeyContactsOfstedContactPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Ofsted contact phone"); + + b.Property("KeyContactsOfstedContactRole") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Ofsted contact role"); + + b.Property("KeyContactsPlanningAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Planning Adviser"); + + b.Property("KeyContactsPostCodeForMapping") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.PostCode for Mapping"); + + b.Property("KeyContactsPostcode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Postcode"); + + b.Property("KeyContactsPrincipalDesignateEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Principal Designate email"); + + b.Property("KeyContactsPrincipalDesignateName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Principal Designate Name"); + + b.Property("KeyContactsPrincipalDesignatePhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Principal Designate phone"); + + b.Property("KeyContactsPropertyAdviserAllocated") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Property adviser allocated"); + + b.Property("KeyContactsPropertyDocumentRepositoryLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Property document repository link"); + + b.Property("KeyContactsPropertyFirmDealing") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Property firm dealing"); + + b.Property("KeyContactsSchoolAddress") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Key Contacts.School address"); + + b.Property("KeyContactsSeniorExecutiveLeaderEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Senior Executive Leader email"); + + b.Property("KeyContactsSeniorExecutiveLeaderName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Senior Executive Leader name"); + + b.Property("KeyContactsSeniorExecutiveLeaderPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Senior Executive Leader phone"); + + b.Property("KeyContactsStrategicDesignAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Strategic design adviser"); + + b.Property("KeyContactsTechnicalAdvisoryFirm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Technical advisory firm"); + + b.Property("KeyContactsTrustSIctLeadContact") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Trust's ICT lead contact"); + + b.Property("KeyContactsTrustSIctLeadContactEmail") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Trust's ICT lead contact email"); + + b.Property("KeyContactsTrustSIctLeadContactPhone") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Key Contacts.Trust's ICT lead contact phone"); + + b.Property("LeadSponsorId") + .HasMaxLength(7) + .IsUnicode(false) + .HasColumnType("varchar(7)") + .HasColumnName("Lead sponsor ID"); + + b.Property("LeadSponsorName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Lead sponsor name"); + + b.Property("LocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local authority"); + + b.Property("MatUnitProjects") + .IsRequired() + .HasMaxLength(32) + .IsUnicode(false) + .HasColumnType("varchar(32)") + .HasColumnName("MAT Unit Projects"); + + 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("ProjectStatusActualDateOfOpeningInPermanentAccommodation") + .HasColumnType("date") + .HasColumnName("Project Status.Actual date of opening in permanent accommodation"); + + b.Property("ProjectStatusActualDateOfOpeningInTemporaryAccommodation") + .HasColumnType("date") + .HasColumnName("Project Status.Actual date of opening in temporary accommodation"); + + b.Property("ProjectStatusActualOpeningDate") + .HasColumnType("date") + .HasColumnName("Project Status.Actual opening date"); + + b.Property("ProjectStatusCommentaryForCancellation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Commentary for cancellation"); + + b.Property("ProjectStatusCommentaryForFirstDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Commentary for first deferral"); + + b.Property("ProjectStatusCommentaryForSecondDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Commentary for second deferral"); + + b.Property("ProjectStatusCommentaryForThirdDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Commentary for third deferral"); + + b.Property("ProjectStatusCommentaryForWithdrawal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Commentary for withdrawal"); + + b.Property("ProjectStatusCurrentFreeSchoolName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Current free school name"); + + b.Property("ProjectStatusDateCancelled") + .HasColumnType("date") + .HasColumnName("Project Status.Date cancelled"); + + b.Property("ProjectStatusDateClosed") + .HasColumnType("date") + .HasColumnName("Project Status.Date closed"); + + b.Property("ProjectStatusDateOfApplicationIfOutsideWave") + .HasColumnType("date") + .HasColumnName("Project Status.Date of application if outside wave"); + + b.Property("ProjectStatusDateOfEntryIntoPreOpening") + .HasColumnType("date") + .HasColumnName("Project Status.Date of entry into pre-opening"); + + b.Property("ProjectStatusDateOfFirstDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.Date of first deferral"); + + b.Property("ProjectStatusDateOfSecondDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.Date of second deferral"); + + b.Property("ProjectStatusDateOfThirdDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.Date of third deferral"); + + b.Property("ProjectStatusDateWithdrawn") + .HasColumnType("date") + .HasColumnName("Project Status.Date withdrawn"); + + b.Property("ProjectStatusFreeSchoolApplicationWave") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Free school application wave"); + + b.Property("ProjectStatusFreeSchoolPenPortrait") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Project Status.Free school pen portrait"); + + b.Property("ProjectStatusFreeSchoolsApplicationNumber") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("Project Status.Free schools application number"); + + b.Property("ProjectStatusHasProjectBeenCancelled") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has project been cancelled?"); + + b.Property("ProjectStatusHasProjectBeenDeferredForASecondTime") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has project been deferred for a second time?"); + + b.Property("ProjectStatusHasProjectBeenDeferredForAThirdTime") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has project been deferred for a third time?"); + + b.Property("ProjectStatusHasProjectBeenWithdrawn") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has project been withdrawn?"); + + b.Property("ProjectStatusHasTheFreeSchoolChangedItsName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has the free school changed its name?"); + + b.Property("ProjectStatusHasTheProjectBeenDeferred") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Has the project been deferred?"); + + b.Property("ProjectStatusKp05ReasonForSiteDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.KP05_Reason for site deferral"); + + b.Property("ProjectStatusKp06ReasonForSiteDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.KP06_Reason for site deferral"); + + b.Property("ProjectStatusNewOpeningDateFollowingFirstDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.New opening date following first deferral"); + + b.Property("ProjectStatusNewOpeningDateFollowingSecondDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.New opening date following second deferral"); + + b.Property("ProjectStatusNewOpeningDateFollowingThirdDeferral") + .HasColumnType("date") + .HasColumnName("Project Status.New opening date following third deferral"); + + b.Property("ProjectStatusPlannedMoveDateToPermanentSite") + .HasColumnType("date") + .HasColumnName("Project Status.Planned move date to permanent site"); + + b.Property("ProjectStatusPreviousFreeSchoolName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Previous free school name"); + + b.Property("ProjectStatusPrimaryReasonForCancellation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Primary reason for cancellation"); + + b.Property("ProjectStatusPrimaryReasonForFirstDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Primary reason for first deferral"); + + b.Property("ProjectStatusPrimaryReasonForSecondDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Primary reason for second deferral"); + + b.Property("ProjectStatusPrimaryReasonForThirdDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Primary reason for third deferral"); + + b.Property("ProjectStatusPrimaryReasonForWithdrawal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Primary reason for withdrawal"); + + b.Property("ProjectStatusProjectId") + .HasMaxLength(25) + .IsUnicode(false) + .HasColumnType("varchar(25)") + .HasColumnName("Project Status.Project ID"); + + b.Property("ProjectStatusProjectStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Project status"); + + b.Property("ProjectStatusProvisionalOpeningDateAgreedWithTrust") + .HasColumnType("date") + .HasColumnName("Project Status.Provisional opening date agreed with trust"); + + b.Property("ProjectStatusRealisticYearOfOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Realistic year of opening"); + + b.Property("ProjectStatusReasonForSiteCancellation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Reason for site cancellation"); + + b.Property("ProjectStatusReasonForSiteDeferral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Reason for site deferral"); + + b.Property("ProjectStatusReasonForSiteWithdrawal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Reason for site withdrawal"); + + b.Property("ProjectStatusRebrokeredUrn") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Rebrokered URN"); + + b.Property("ProjectStatusTrustsPreferredYearOfOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.Trusts preferred year of opening"); + + b.Property("ProjectStatusUrnWhenGivenOne") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Status.URN (when given one)"); + + b.Property("RatProvisionalOpeningDateAgreedWithTrust") + .HasColumnType("date") + .HasColumnName("RAT Provisional opening date agreed with trust"); + + b.Property("RyooWd") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("RYOO_WD"); + + b.Property("SchoolDetailsAeaCatagory") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.AEA Catagory"); + + b.Property("SchoolDetailsAgeRange") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Age range"); + + b.Property("SchoolDetailsAlternativeProvision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Alternative Provision"); + + b.Property("SchoolDetailsConstituency") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Constituency"); + + b.Property("SchoolDetailsConstituencyID") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Constituency ID"); + + b.Property("SchoolDetailsConstituencyMp") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Constituency MP"); + + b.Property("SchoolDetailsDeprivationDecline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Deprivation decline"); + + b.Property("SchoolDetailsDetailsOfResidentialBoardingProvision") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("School Details.Details of residential/boarding provision"); + + b.Property("SchoolDetailsDistinguishingFeatures") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("School Details.Distinguishing features"); + + b.Property("SchoolDetailsDistrict") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.District"); + + b.Property("SchoolDetailsEfaTerritory") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.EFA Territory"); + + b.Property("SchoolDetailsEmployerPartners") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Employer Partners"); + + b.Property("SchoolDetailsEmployerSponsorsUtcsSsOnly") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Employer sponsors - UTCs/SS only"); + + b.Property("SchoolDetailsFaithStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Faith status"); + + b.Property("SchoolDetailsFaithType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Faith type"); + + b.Property("SchoolDetailsGender") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Gender"); + + b.Property("SchoolDetailsGeographicalRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Geographical Region"); + + b.Property("SchoolDetailsIndependentConverter") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Independent converter"); + + b.Property("SchoolDetailsLaestabWhenGivenOne") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.LAESTAB (when given one)"); + + b.Property("SchoolDetailsLeadSponsorId") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("School Details.Lead sponsor ID"); + + b.Property("SchoolDetailsLeadSponsorName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Lead sponsor name"); + + b.Property("SchoolDetailsLocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Local authority"); + + b.Property("SchoolDetailsLocalAuthorityControl") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Local authority control"); + + b.Property("SchoolDetailsNeetInLa") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.% NEET in LA"); + + b.Property("SchoolDetailsNumberOfFormsOfEntry") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Number of forms of entry"); + + b.Property("SchoolDetailsNursery") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Nursery"); + + b.Property("SchoolDetailsOtherPartners") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Other Partners"); + + b.Property("SchoolDetailsPleaseSpecifyOtherFaithType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Please specify other faith type"); + + b.Property("SchoolDetailsPleaseSpecifyOtherTypeOfProposerGroup") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Please specify other type of proposer group"); + + b.Property("SchoolDetailsPoliticalParty") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Political party"); + + b.Property("SchoolDetailsResidentialOrBoardingProvision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Residential or boarding provision"); + + b.Property("SchoolDetailsRscRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.RSC region"); + + b.Property("SchoolDetailsSchoolPhasePrimarySecondary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.School phase (primary, secondary)"); + + b.Property("SchoolDetailsSchoolTypeMainstreamApEtc") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.School type (mainstream, AP etc)"); + + b.Property("SchoolDetailsSixthForm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Sixth form"); + + b.Property("SchoolDetailsSixthFormType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Sixth form type"); + + b.Property("SchoolDetailsSizeOfGoverningBody") + .HasMaxLength(2) + .IsUnicode(false) + .HasColumnType("varchar(2)") + .HasColumnName("School Details.Size of Governing Body"); + + b.Property("SchoolDetailsSpecialEducationNeeds") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Special Education Needs"); + + b.Property("SchoolDetailsSpecialism") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Specialism"); + + b.Property("SchoolDetailsSpecialistResourceProvision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Specialist Resource Provision"); + + b.Property("SchoolDetailsSponsorType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Sponsor type"); + + b.Property("SchoolDetailsStartOfTermDate") + .HasColumnType("date") + .HasColumnName("School Details.Start of term date"); + + b.Property("SchoolDetailsTrustId") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("School Details.Trust ID"); + + b.Property("SchoolDetailsTrustName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Trust name"); + + b.Property("SchoolDetailsTrustType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Trust type"); + + b.Property("SchoolDetailsTypeOfProposerGroup") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.Type of proposer group"); + + b.Property("SchoolDetailsUniversitySponsor") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Details.University Sponsor"); + + b.Property("SponsorUnitProjects") + .IsRequired() + .HasMaxLength(39) + .IsUnicode(false) + .HasColumnType("varchar(39)") + .HasColumnName("Sponsor Unit Projects"); + + b.Property("TrustId") + .HasMaxLength(7) + .IsUnicode(false) + .HasColumnType("varchar(7)") + .HasColumnName("Trust ID"); + + b.Property("TrustName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Trust name"); + + b.Property("TrustType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Trust type"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.Property("UpperStatus") + .IsRequired() + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("Upper Status"); + + b.Property("UserId") + .HasColumnType("int"); + + b.Property("Wave") + .IsRequired() + .HasMaxLength(16) + .IsUnicode(false) + .HasColumnType("varchar(16)"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.HasIndex("UserId"); + + b.ToTable("KPI", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("KPIHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.LaData", b => + { + b.Property("LocalAuthoritiesLaCode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.LA Code"); + + b.Property("LocalAuthoritiesCapitalCostTier") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.Capital cost tier"); + + b.Property("LocalAuthoritiesGeographicalRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.Geographical region"); + + b.Property("LocalAuthoritiesLaLondonBased") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.LA London Based"); + + b.Property("LocalAuthoritiesLaName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.LA Name"); + + b.Property("LocalAuthoritiesLondonNotLondon") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.London/Not London"); + + b.Property("LocalAuthoritiesRscRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local Authorities.RSC Region"); + + b.Property("PeriodEnd") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodEnd"); + + b.Property("PeriodStart") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodStart"); + + b.HasKey("LocalAuthoritiesLaCode"); + + b.ToTable("LA_Data", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("LA_DataHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Milestones", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("DraftGovernancePlanAndAssessmentSharedWithEsfa") + .HasColumnType("bit"); + + b.Property("DraftGovernancePlanAndAssessmentSharedWithExpert") + .HasColumnType("bit"); + + b.Property("DraftGovernancePlanAssessedUsingTemplate") + .HasColumnType("bit"); + + b.Property("DraftGovernancePlanDocumentsSavedInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("DraftGovernancePlanFedBackToTrust") + .HasColumnType("bit"); + + b.Property("DraftGovernancePlanReceivedDate") + .HasColumnType("datetime2"); + + b.Property("DraftGovernancePlanReceivedFromTrust") + .HasColumnType("bit"); + + b.Property("EqualitiesAssessmentCompletedEPR") + .HasColumnType("bit"); + + b.Property("EqualitiesAssessmentSavedEPRInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FSGPreOpeningMilestonesEducationBriefPupilAssessmentAndTrackingHistory") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Pupil assessment and tracking history in place"); + + b.Property("FSGPreOpeningMilestonesEducationBriefSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Education Brief Saved To Workplaces"); + + b.Property("FSGPreOpeningMilestonesEducationPlanInBrief") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Education Plan In Brief"); + + b.Property("FSGPreOpeningMilestonesEducationPolicesInBrief") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Education Policies In Brief"); + + b.Property("FSGPreOpeningMilestonesGIASApplicationFormSent") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones.GIASApplicationFormSent"); + + b.Property("FSGPreOpeningMilestonesGIASCheckedTrustInformation") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones.GIASCheckedTrustInformation"); + + b.Property("FSGPreOpeningMilestonesGIASSavedToWorkspaces") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones.GIASSavedToWorkspaces"); + + b.Property("FSGPreOpeningMilestonesGIASURNSent") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones.GIASURNSent"); + + b.Property("FinalGovernancePlanAgreed") + .HasColumnType("bit"); + + b.Property("FinancePlanSavedInWorkplacesFolder") + .HasColumnType("int"); + + b.Property("FsgPreOpeningDeletedAnyCopiesOfChairsDBSCertificate") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningDeletedEmailsContainingSuitabilityAndDeclarationForms") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenProjectBriefToEducationEstates") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Project Brief To Education Estates"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenProjectBriefToNewDeliveryOfficer") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Project Brief To New Delivery Officer"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenProjectBriefToSfso") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Project Brief To Sfso"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenSavedToWorkplacesFolderAnnexB") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Saved To Workplaces Folder AnnexB"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenSavedToWorkplacesFolderAnnexE") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Saved To Workplaces Folder AnnexE"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenSavedToWorkplacesFolderProjectBrief") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Saved To Workplaces Folder Project Brief"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenSentEmailsToRelevantContacts") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Sent Emails To Relevant Contacts"); + + b.Property("FsgPreOpeningMilestoneMovingToOpenSentEmailsToSchoolsPrinciple") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening Milestones. Moving To Open Sent Emails To Schools Principle"); + + b.Property("FsgPreOpeningMilestoneSavedExternalExpertSpecsToWorkplacesFolder") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. saved external expert specs to workplaces folder"); + + b.Property("FsgPreOpeningMilestonesAcceptedOffersComments") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("Fsg Pre Opening Milestones. Accepted Offers Comments"); + + b.Property("FsgPreOpeningMilestonesAcceptedOffersEmailSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Accepted Offers Email Saved To Workplaces"); + + b.Property("FsgPreOpeningMilestonesAdmissionsArrangementsComplyWithPolicies") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Admissions Arrangements Comply With Policies"); + + b.Property("FsgPreOpeningMilestonesAdmissionsArrangementsRecommendedTemplate") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Admissions Arrangements Recommended Template"); + + b.Property("FsgPreOpeningMilestonesAdmissionsArrangementsSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Admissions Arrangements Saved To Workplaces"); + + b.Property("FsgPreOpeningMilestonesAppEvActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.AppEv Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesAppEvApplicable") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.AppEv Applicable"); + + b.Property("FsgPreOpeningMilestonesAppEvBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.AppEv Baseline date"); + + b.Property("FsgPreOpeningMilestonesAppEvForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.AppEv Forecast date"); + + b.Property("FsgPreOpeningMilestonesAppEvReasonNotApplicable") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("FSG Pre Opening Milestones.AppEv - Reason not applicable"); + + b.Property("FsgPreOpeningMilestonesApplicationsEvidenceBuildUpFormSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. applications evidence build up form saved to workplaces"); + + b.Property("FsgPreOpeningMilestonesApplicationsEvidenceComments") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("Fsg Pre Opening Milestones. applications evidence comments"); + + b.Property("FsgPreOpeningMilestonesApplicationsEvidenceConfirmedPupilNumbers") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. applications evidence confirmed pupil numbers"); + + b.Property("FsgPreOpeningMilestonesApplicationsEvidenceUnderwritingAgreementSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. applications evidence underwriting agreement saved to workplaces"); + + b.Property("FsgPreOpeningMilestonesAppointedPrincipalDesignate") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. appointed principal designate"); + + b.Property("FsgPreOpeningMilestonesBefpActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.BEFP Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesBefpApplicable") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.BEFP Applicable"); + + b.Property("FsgPreOpeningMilestonesBefpBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.BEFP Baseline date"); + + b.Property("FsgPreOpeningMilestonesBefpForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.BEFP Forecast date"); + + b.Property("FsgPreOpeningMilestonesBefpReasonNotApplicable") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("FSG Pre Opening Milestones.BEFP - Reason not applicable"); + + b.Property("FsgPreOpeningMilestonesBlockAndContentDetailsToOpenersSpreadSheet") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Block And Content Details To Openers SpreadSheet"); + + b.Property("FsgPreOpeningMilestonesCapacityDataMatchesFundingAgreement") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. capacity data matches funding agreement"); + + b.Property("FsgPreOpeningMilestonesCapacityDataMatchesGiasRegistration") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. capacity data matches gias registration"); + + b.Property("FsgPreOpeningMilestonesCoGappActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.CoGapp Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesCoGappBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.CoGapp Baseline date"); + + b.Property("FsgPreOpeningMilestonesCoGappForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.CoGapp Forecast date"); + + b.Property("FsgPreOpeningMilestonesCommissionedExternalExpertVisit") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. commissioned external expert visit"); + + b.Property("FsgPreOpeningMilestonesCommissionedExternalExpertVisitToSchool") + .HasColumnType("int") + .HasColumnName("Fsg Pre Opening Milestones. commissioned external expert visit to school"); + + b.Property("FsgPreOpeningMilestonesDbscActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSC Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesDbscBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSC Baseline date"); + + b.Property("FsgPreOpeningMilestonesDbscForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSC Forecast date"); + + b.Property("FsgPreOpeningMilestonesDbsiActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSI Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesDbsiBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSI Baseline date"); + + b.Property("FsgPreOpeningMilestonesDbsiForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DBSI Forecast date"); + + b.Property("FsgPreOpeningMilestonesDetailsOfFundingArrangementAgreedBetweenLaAndSponsor") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Details of Funding arrangement agreed between LA and Sponsor"); + + b.Property("FsgPreOpeningMilestonesDgpActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DGP Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesDgpBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DGP Baseline date"); + + b.Property("FsgPreOpeningMilestonesDgpForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.DGP Forecast date"); + + b.Property("FsgPreOpeningMilestonesDocumentsAndG6SavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Documents And G6 Saved To Workplaces"); + + b.Property("FsgPreOpeningMilestonesEaoActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAO Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesEaoBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAO Baseline date"); + + b.Property("FsgPreOpeningMilestonesEaoForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAO Forecast date"); + + b.Property("FsgPreOpeningMilestonesEaoMilestoneApplicable") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.EAO - Milestone applicable"); + + b.Property("FsgPreOpeningMilestonesEaoReasonNotApplicable") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("FSG Pre Opening Milestones.EAO - Reason not applicable"); + + b.Property("FsgPreOpeningMilestonesEapolActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAPol Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesEapolBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAPol Baseline date"); + + b.Property("FsgPreOpeningMilestonesEapolForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EAPol Forecast date"); + + b.Property("FsgPreOpeningMilestonesEdBrActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EdBr Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesEdBrBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EdBr Baseline date"); + + b.Property("FsgPreOpeningMilestonesEdBrForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.EdBr Forecast date"); + + b.Property("FsgPreOpeningMilestonesExternalExpertVisitDate") + .HasColumnType("date") + .HasColumnName("Fsg Pre Opening Milestones. external expert visit date"); + + b.Property("FsgPreOpeningMilestonesFaActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FA Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesFaBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FA Baseline date"); + + b.Property("FsgPreOpeningMilestonesFaForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FA Forecast date"); + + b.Property("FsgPreOpeningMilestonesFcpActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FCP Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesFcpBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FCP Baseline date"); + + b.Property("FsgPreOpeningMilestonesFcpForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FCP Forecast date"); + + b.Property("FsgPreOpeningMilestonesFfpConfirmedTrustHasProvidedFinalPlan") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesFfpGrade6SignedOffFinalPlanDate") + .HasColumnType("datetime2"); + + b.Property("FsgPreOpeningMilestonesFfpSavedFinalPlanInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesFfpSentFinalPlanToRevenueFundingMailbox") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesFgpaActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FGPA Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesFgpaBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FGPA Baseline date"); + + b.Property("FsgPreOpeningMilestonesFgpaForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FGPA Forecast date"); + + b.Property("FsgPreOpeningMilestonesFpaActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FPA Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesFpaBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FPA Baseline date"); + + b.Property("FsgPreOpeningMilestonesFpaForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FPA Forecast date"); + + b.Property("FsgPreOpeningMilestonesFsrdActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FSRD Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesFsrdBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FSRD Baseline date"); + + b.Property("FsgPreOpeningMilestonesFsrdForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.FSRD Forecast date"); + + b.Property("FsgPreOpeningMilestonesFundingArrangementAgreedBetweenLaAndSponsor") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesGiasActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.GIAS Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesGiasBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.GIAS Baseline date"); + + b.Property("FsgPreOpeningMilestonesGiasForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.GIAS Forecast date"); + + b.Property("FsgPreOpeningMilestonesHaveYouCompletedAndSavedYourRiskAppraisalForm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Have you completed and saved your Risk Appraisal Form?"); + + b.Property("FsgPreOpeningMilestonesIaeaActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.IAEA Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesIaeaBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.IAEA Baseline date"); + + b.Property("FsgPreOpeningMilestonesIaeaForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.IAEA Forecast date"); + + b.Property("FsgPreOpeningMilestonesImpactAssessmentDone") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening. Milestones Impact Assessment Done"); + + b.Property("FsgPreOpeningMilestonesImpactAssessmentSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("FSG Pre Opening. Milestones Impact Assessment Saved To Workplaces"); + + b.Property("FsgPreOpeningMilestonesInspectionBlockDecided") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Inspection Block Decided"); + + b.Property("FsgPreOpeningMilestonesInspectionConditionsMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Inspection conditions met?"); + + b.Property("FsgPreOpeningMilestonesIsThisProjectRatedHighOrLowRiskForEducation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Is this project rated high or low risk for education?"); + + b.Property("FsgPreOpeningMilestonesIsThisProjectRatedHighOrLowRiskForFinance") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Is this project rated high or low risk for finance?"); + + b.Property("FsgPreOpeningMilestonesIsThisProjectRatedHighOrLowRiskForGovernance") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Is this project rated high or low risk for governance?"); + + b.Property("FsgPreOpeningMilestonesKickOffMeetingHeldActualDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.Kick off meeting held Actual Date"); + + b.Property("FsgPreOpeningMilestonesKickoffMeetingDocumentsSavedInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesLinkToRiskAppraisalForm") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Link to Risk Appraisal Form"); + + b.Property("FsgPreOpeningMilestonesMaaActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MAA Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesMaaBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MAA Baseline date"); + + b.Property("FsgPreOpeningMilestonesMaaForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MAA Forecast date"); + + b.Property("FsgPreOpeningMilestonesMfadActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MFAD Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesMfadBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MFAD Baseline date"); + + b.Property("FsgPreOpeningMilestonesMfadDraftedFaHealthCheck") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadDraftedFaSubmission") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.MFAD Forecast date"); + + b.Property("FsgPreOpeningMilestonesMfadMinisterSignedOffFaHealthCheck") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadMinisterSignedOffFaSubmission") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadRegionalDirectorSignedOffFaHealthCheck") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadRegionalDirectorSignedOffFaSubmission") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadSavedFaDocumentsInWorkspacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadSavedFaHealthCheckInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadSavedFaSubmissionInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadSharedFaWithTheTrust") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadTailoredAModelFundingAgreement") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesMfadTrustAgreesWithModelFa") + .HasColumnType("int"); + + b.Property("FsgPreOpeningMilestonesMi101CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI101_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi103CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI103_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi105LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI105_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi107LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI107_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi109LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI109_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi111LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI111_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi113LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI113_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi115LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI115_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi117LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI117_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi119LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI119_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi121LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI121_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi123LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI123_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi125LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI125_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi127LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI127_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi129LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI129_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi131LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI131_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi133LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI133_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi135LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI135_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi137LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI137_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi139LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI139_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi141LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI141_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi143LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI143_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi145LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI145_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi147LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI147_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi149LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI149_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi151LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI151_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi153LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI153_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi155LinkToSavedDocument") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("FSG Pre Opening Milestones.MI155_Link to saved document"); + + b.Property("FsgPreOpeningMilestonesMi54CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI54_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi56CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI56_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi58CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI58_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi60CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI60_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi62CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI62_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi64CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI64_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi66CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI66_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi68CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI68_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi70CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI70_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi72CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI72_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi74CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI74_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi76CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI76_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi78CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI78_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi80CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI80_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi81CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI81_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi83CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI83_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi85CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI85_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi87CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI87_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi89CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI89_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi91CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI91_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi93CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI93_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi95CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI95_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi97CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI97_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesMi99CommentsOnDecisionToApproveIfApplicable") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("FSG Pre Opening Milestones.MI99_Comments on decision to approve (if applicable)"); + + b.Property("FsgPreOpeningMilestonesOfstedAndTrustLiaisonDetailsConfirmed") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Ofsted And Trust Liaison Details Confirmed"); + + b.Property("FsgPreOpeningMilestonesOprActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.OPR Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesOprBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.OPR Baseline date"); + + b.Property("FsgPreOpeningMilestonesOprForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.OPR Forecast date"); + + b.Property("FsgPreOpeningMilestonesOutcomeOfInspectionAsAdvisedByOfsted") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Outcome of inspection as advised by Ofsted"); + + b.Property("FsgPreOpeningMilestonesOutcomeOfRom") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.Outcome of ROM"); + + b.Property("FsgPreOpeningMilestonesPdappActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PDapp Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesPdappBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PDapp Baseline date"); + + b.Property("FsgPreOpeningMilestonesPdappForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PDapp Forecast date"); + + b.Property("FsgPreOpeningMilestonesPfacmActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PFACM Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesPfacmBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PFACM Baseline date"); + + b.Property("FsgPreOpeningMilestonesPfacmForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.PFACM Forecast date"); + + b.Property("FsgPreOpeningMilestonesPfacmMilestoneApplicable") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.PFACM - Milestone applicable"); + + b.Property("FsgPreOpeningMilestonesPfacmReasonNotApplicable") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("FSG Pre Opening Milestones.PFACM - Reason not applicable"); + + b.Property("FsgPreOpeningMilestonesProcessDetailsProvided") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Process Details Provided"); + + b.Property("FsgPreOpeningMilestonesProposedToOpenOnGias") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Proposed To Open On Gias"); + + b.Property("FsgPreOpeningMilestonesRomActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.ROM Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesRomBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.ROM Baseline date"); + + b.Property("FsgPreOpeningMilestonesRomConditionsMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.ROM conditions met?"); + + b.Property("FsgPreOpeningMilestonesRomForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.ROM Forecast date"); + + b.Property("FsgPreOpeningMilestonesRomReasonNotApplicable") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("FSG Pre Opening Milestones.ROM - Reason not applicable"); + + b.Property("FsgPreOpeningMilestonesS9lActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.S9L Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesS9lBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.S9L Baseline date"); + + b.Property("FsgPreOpeningMilestonesS9lForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.S9L Forecast date"); + + b.Property("FsgPreOpeningMilestonesSapActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SAP Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesSapBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SAP Baseline date"); + + b.Property("FsgPreOpeningMilestonesSapForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SAP Forecast Date"); + + b.Property("FsgPreOpeningMilestonesSccActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCC Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesSccBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCC Baseline date"); + + b.Property("FsgPreOpeningMilestonesSccForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCC Forecast date"); + + b.Property("FsgPreOpeningMilestonesSchoolReceivedEnoughApplications") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. school received enough applications"); + + b.Property("FsgPreOpeningMilestonesScrActualDateOfCompletion") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCR Actual date of completion"); + + b.Property("FsgPreOpeningMilestonesScrBaselineDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCR Baseline date"); + + b.Property("FsgPreOpeningMilestonesScrForecastDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.SCR Forecast date"); + + b.Property("FsgPreOpeningMilestonesScrFulfilsSection10StatutoryDuty") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesScrReceived") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesScrSavedFindingsInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningMilestonesSeenEvidenceOfAcceptedOffers") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Seen Evidence Of Accepted Offers"); + + b.Property("FsgPreOpeningMilestonesSharedOutcomeWithTrust") + .HasColumnType("bit") + .HasColumnName("Fsg Pre Opening Milestones. Shared Outcome With Trust"); + + b.Property("FsgPreOpeningMilestonesSiteKickOffMeetingHeldActualDate") + .HasColumnType("date") + .HasColumnName("FSG Pre Opening Milestones.Site Kick off meeting held ( actual date)"); + + b.Property("FsgPreOpeningMilestonesViewCostPlan1") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.View Cost Plan 1"); + + b.Property("FsgPreOpeningMilestonesViewCostPlan2") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSG Pre Opening Milestones.View Cost Plan 2"); + + b.Property("FsgPreOpeningNonSpecialistChecksDoneOnAllTrustMembersAndTrustees") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningReceivedChairOfTrusteesCountersignedCertificate") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningRequestedCounterExtremismChecks") + .HasColumnType("bit"); + + b.Property("FsgPreOpeningSavedNonSpecialistChecksSpreadsheetInWorkplaces") + .HasColumnType("bit"); + + b.Property("GovernancePlanAndAssessmentSharedWithLocalAuthority") + .HasColumnType("bit"); + + b.Property("LAAgreedPupilNumbers") + .HasColumnType("int"); + + b.Property("MAAArrangementsMatchGovernancePlans") + .HasColumnType("bit"); + + b.Property("MAAChairHaveSubmittedConfirmation") + .HasColumnType("bit"); + + b.Property("MAACheckedSubmittedArticlesMatch") + .HasColumnType("bit"); + + b.Property("PFACMCommissionedAnExternalExpertToAttendMeetingsIfApplicable") + .HasColumnType("bit"); + + b.Property("PFACMSavedMeetingNoteInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("PFACMSentAnEmailToTheTrust") + .HasColumnType("bit"); + + b.Property("PFACMTypeOfMeetingHeld") + .HasColumnType("nvarchar(max)"); + + b.Property("PFACMWhyAMeetingWasNotHeld") + .HasColumnType("nvarchar(max)"); + + 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("ROMCommissionedAnExternalExpertToAttendMeetingsIfApplicable") + .HasColumnType("bit"); + + b.Property("ROMPrincipalDesignateHasProvidedChecklist") + .HasColumnType("bit"); + + b.Property("ROMSavedTheExternalROMReportInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("ROMSavedTheInternalROMReportInWorkplacesFolder") + .HasColumnType("bit"); + + b.Property("ROMTypeOfMeetingHeld") + .HasColumnType("nvarchar(max)"); + + b.Property("ROMWhyAMeetingWasNotHeld") + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("Milestones", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("MilestonesHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.OfstedArchive", b => + { + b.Property("InspectionDate") + .HasColumnType("date") + .HasColumnName("Inspection date"); + + b.Property("OfstedRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Rating"); + + b.Property("Urn") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("URN"); + + b.ToTable("Ofsted_Archive", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.OfstedFsg", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("EducationalEstablishmentAddressPostcode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.Address postcode"); + + b.Property("EducationalEstablishmentConstituency") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.Constituency"); + + b.Property("EducationalEstablishmentDateClosed") + .HasColumnType("date") + .HasColumnName("Educational Establishment.Date Closed"); + + b.Property("EducationalEstablishmentDistrict") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.District"); + + b.Property("EducationalEstablishmentLaestab") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.LAESTAB"); + + b.Property("EducationalEstablishmentLocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.Local authority"); + + b.Property("EducationalEstablishmentOpenDate") + .HasColumnType("date") + .HasColumnName("Educational Establishment.Open date"); + + b.Property("EducationalEstablishmentRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.Region"); + + b.Property("EducationalEstablishmentRscRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.RSC Region"); + + b.Property("EducationalEstablishmentSchoolName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.School name"); + + b.Property("EducationalEstablishmentSchoolPhase") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.School phase"); + + b.Property("EducationalEstablishmentSchoolType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.School type"); + + b.Property("EducationalEstablishmentStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Educational Establishment.Status"); + + b.Property("EducationalEstablishmentUrn") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("Educational Establishment.URN"); + + b.Property("LocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local authority"); + + b.Property("OfstedDataModerationDate") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Moderation date"); + + b.Property("OfstedDataModerationDateL") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Moderation date L"); + + b.Property("OfstedDataNumberOfMonthsInCategory4") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Number of months in Category 4"); + + b.Property("OfstedDataNumberOfMonthsInCategory4L") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Number of months in Category 4 L"); + + b.Property("OfstedDataOfstedSection5CategoryOfConcern") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Category Of Concern"); + + b.Property("OfstedDataOfstedSection5CategoryOfConcernL") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Category Of Concern L"); + + b.Property("OfstedDataOfstedSection5DateInCategory4") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 Date in Category 4"); + + b.Property("OfstedDataOfstedSection5DateInCategory4L") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 Date in Category 4 L"); + + b.Property("OfstedDataOfstedSection5DateOutOfCategory4") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 Date out of Category 4"); + + b.Property("OfstedDataOfstedSection5DateOutOfCategory4L") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 Date out of Category 4 L"); + + b.Property("OfstedDataOfstedSection5EffectivenessLeadershipAndManagement") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Effectiveness leadership and management"); + + b.Property("OfstedDataOfstedSection5InspectionDate") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 inspection date"); + + b.Property("OfstedDataOfstedSection5InspectionDateL") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 5 inspection date L"); + + b.Property("OfstedDataOfstedSection5OutcomesForChildrenAndLearners") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Outcomes for children and learners"); + + b.Property("OfstedDataOfstedSection5OverallEffectiveness") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Overall effectiveness"); + + b.Property("OfstedDataOfstedSection5OverallEffectivenessL") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Overall effectiveness L"); + + b.Property("OfstedDataOfstedSection5PersonalDevelopmentBehaviourAndWelfare") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Personal development, behaviour and welfare"); + + b.Property("OfstedDataOfstedSection5QualityOfTeachingLearningAndAssessment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Quality of teaching, learning and assessment"); + + b.Property("OfstedDataOfstedSection5SixthFormProvision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 5 Sixth form provision"); + + b.Property("OfstedDataOfstedSection8InspectionDate") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Ofsted section 8 inspection date"); + + b.Property("OfstedDataOfstedSection8Judgement") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Ofsted section 8 judgement"); + + b.Property("OfstedDataPreviousOfstedSection5InspectionDate") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Previous Ofsted section 5 inspection date"); + + b.Property("OfstedDataPreviousOfstedSection5InspectionDateL") + .HasColumnType("date") + .HasColumnName("Ofsted Data.Previous Ofsted section 5 inspection date L"); + + b.Property("OfstedDataPreviousOfstedSection5OverallEffectiveness") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Previous Ofsted section 5 Overall effectiveness"); + + b.Property("OfstedDataPreviousOfstedSection5OverallEffectivenessL") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Ofsted Data.Previous Ofsted section 5 Overall effectiveness L"); + + 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("Phase") + .IsRequired() + .HasMaxLength(3) + .IsUnicode(false) + .HasColumnType("varchar(3)"); + + b.Property("ProjectUrn") + .HasMaxLength(25) + .IsUnicode(false) + .HasColumnType("varchar(25)") + .HasColumnName("Project URN"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("Ofsted_FSG", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("Ofsted_FSGHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Opens", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("CurrentStatusCaseNote") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Current Status.Case note"); + + b.Property("CurrentStatusDateOfLatestCaseNote") + .HasColumnType("date") + .HasColumnName("Current Status.Date of latest case note"); + + b.Property("CurrentStatusDueDiligenceConcerns") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Current Status.Due diligence concerns?"); + + b.Property("CurrentStatusEfaTerritoryConcernLevel") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Current Status.EFA territory concern level"); + + b.Property("CurrentStatusFinancialConcerns") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Current Status.Financial concerns"); + + b.Property("CurrentStatusGovernanceAndCompliance") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Current Status.Governance and compliance"); + + b.Property("CurrentStatusIntervention") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Current Status.Intervention"); + + b.Property("CurrentStatusIrregularity") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Current Status.Irregularity"); + + b.Property("CurrentStatusPrincipalSameAsOnOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Current Status.Principal same as on opening"); + + b.Property("FinancialChecksAdditionalDebtDeficit") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Additional Debt/ Deficit"); + + b.Property("FinancialChecksBudgetReturnSubmittedByLastDeadline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Budget return submitted by last deadline"); + + b.Property("FinancialChecksFinancialNoticeToImproveIssued") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Financial Notice to Improve issued"); + + b.Property("FinancialChecksFinancialStatementsQualified") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Financial statements qualified"); + + b.Property("FinancialChecksFinancialStatementsSubmittedByLastDeadline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Financial statements submitted by last deadline"); + + b.Property("FinancialChecksFmgsReturnSubmittedByLastDeadline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.FMGS return submitted by last deadline"); + + b.Property("FinancialChecksMindedToIssueFnti") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Minded to issue FNTI"); + + b.Property("FinancialChecksMostRecentAuditedAccountsReceivedOnTime") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Most recent audited accounts received on time"); + + b.Property("FinancialChecksProjectDevelopmentGrantFinalReturnReceived") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Project Development Grant final return received"); + + b.Property("FinancialChecksRegularityOpinionQualified") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Regularity opinion qualified"); + + b.Property("FinancialChecksTotalOutstandingPna") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Total Outstanding PNA"); + + b.Property("FinancialChecksTotalRevenueLiabilities") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Checks.Total Revenue Liabilities"); + + b.Property("OpenPupilNumbersAcceptedApplicationsYr10ForNextYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Accepted applications Yr 10 for next year"); + + b.Property("OpenPupilNumbersAcceptedApplicationsYr12ForNextYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Accepted applications Yr 12 for next year"); + + b.Property("OpenPupilNumbersApplicationsYr10ForTheComingYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Applications Yr 10 for the coming year"); + + b.Property("OpenPupilNumbersApplicationsYr12ForTheComingYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Applications Yr 12 for the coming year"); + + b.Property("OpenPupilNumbersCapacityAgreedInPreOpening") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Capacity agreed in pre-opening"); + + b.Property("OpenPupilNumbersCensusDate") + .HasColumnType("date") + .HasColumnName("Open Pupil Numbers.Census date"); + + b.Property("OpenPupilNumbersCurrentPupilsOnRoll") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Current pupils on roll"); + + b.Property("OpenPupilNumbersDateEfaRingRoundPupilNumbersUpdated") + .HasColumnType("date") + .HasColumnName("Open Pupil Numbers.Date EFA ring round pupil numbers updated"); + + b.Property("OpenPupilNumbersEfaRingRoundPupilNumbers") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.EFA ring round pupil numbers"); + + b.Property("OpenPupilNumbersFull") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.%full"); + + b.Property("OpenPupilNumbersFundedNumberForTheComingYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Funded number for the coming year"); + + b.Property("OpenPupilNumbersFundedNumberForTheCurrentAcademicYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Funded number for the current academic year"); + + b.Property("OpenPupilNumbersNorAsOfFundedNumber") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.NOR as % of funded number"); + + b.Property("OpenPupilNumbersReception") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Reception"); + + b.Property("OpenPupilNumbersTotal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.Total"); + + b.Property("OpenPupilNumbersViabilityThresholdForTheComingYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Viability threshold for the coming year"); + + b.Property("OpenPupilNumbersViabilityThresholdForTheCurrentAcademicYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Viability threshold for the current academic year"); + + b.Property("OpenPupilNumbersY12Y14Total") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.Y12 - Y14 Total"); + + b.Property("OpenPupilNumbersY7Y11Total") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.Y7 - Y11 Total"); + + b.Property("OpenPupilNumbersYear1") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 1"); + + b.Property("OpenPupilNumbersYear10") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 10"); + + b.Property("OpenPupilNumbersYear11") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 11"); + + b.Property("OpenPupilNumbersYear12") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 12"); + + b.Property("OpenPupilNumbersYear13") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 13"); + + b.Property("OpenPupilNumbersYear14") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 14"); + + b.Property("OpenPupilNumbersYear2") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 2"); + + b.Property("OpenPupilNumbersYear3") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 3"); + + b.Property("OpenPupilNumbersYear4") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 4"); + + b.Property("OpenPupilNumbersYear5") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 5"); + + b.Property("OpenPupilNumbersYear6") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 6"); + + b.Property("OpenPupilNumbersYear7") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 7"); + + b.Property("OpenPupilNumbersYear8") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 8"); + + b.Property("OpenPupilNumbersYear9") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Open Pupil Numbers.Year 9"); + + b.Property("OpenPupilNumbersYrY6Total") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Open Pupil Numbers.YR - Y6 Total"); + + 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("Opens", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("OpensHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Pdfd", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("ProjectDirectorForecastingDashboardActualDateOfOpeningActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Actual date of opening (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardAllPupilsOutOfTemporaryAccommodationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.All pupils out of temporary accommodation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardAllPupilsOutOfTemporaryAccommodationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.All pupils out of temporary accommodation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardAllPupilsOutOfTemporaryAccommodationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.All pupils out of temporary accommodation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardAllPupilsOutOfTemporaryAccommodationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.All pupils out of temporary accommodation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardCapitalProjectRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Capital Project RAG Rating"); + + b.Property("ProjectDirectorForecastingDashboardCapitalProjectRagRatingCommentary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Project Director Forecasting Dashboard.Capital Project RAG Rating commentary"); + + b.Property("ProjectDirectorForecastingDashboardCompleteOnSiteForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Complete on site for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardCompleteOnSiteForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Complete on site for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardCompleteOnSiteForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Complete on site for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardCompleteOnSiteForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Complete on site for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardConstruction") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Construction"); + + b.Property("ProjectDirectorForecastingDashboardConstructionCommentary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Project Director Forecasting Dashboard.Construction commentary"); + + b.Property("ProjectDirectorForecastingDashboardContractorAppointedForMainSchoolBuildingSpmEwaPcsaActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Contractor appointed for main school building (SPM, EWA, PCSA) (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardContractorAppointedForMainSchoolBuildingSpmEwaPcsaRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Contractor appointed for main school building (SPM, EWA, PCSA) (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardContractorAppointedForMainSchoolBuildingSpmEwaPcsaRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Contractor appointed for main school building (SPM, EWA, PCSA) (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardContractorAppointedForMainSchoolBuildingSpmEwaPcsaRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Contractor appointed for main school building (SPM, EWA, PCSA) (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfCompletionOnTemporaryAccommodationSiteIfRequiredActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of completion on temporary accommodation site, if required (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfCompletionOnTemporaryAccommodationSiteIfRequiredRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of completion on temporary accommodation site, if required (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfCompletionOnTemporaryAccommodationSiteIfRequiredRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of completion on temporary accommodation site, if required (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfCompletionOnTemporaryAccommodationSiteIfRequiredRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of completion on temporary accommodation site, if required (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of HoT secured on temporary accommodation site, if required (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of HoT secured on temporary accommodation site, if required (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of HoT secured on temporary accommodation site, if required (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of HoT secured on temporary accommodation site, if required (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of positive planning decision notice secured for main school building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of positive planning decision notice secured for main school building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of positive planning decision notice secured for main school building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardDateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Date of positive planning decision notice secured for main school building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardEndOfProjectNoMoreCapitalSpendEndOfDefectsActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.End of Project (No more capital spend/end of defects) (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardEndOfProjectNoMoreCapitalSpendEndOfDefectsRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.End of Project (No more capital spend/end of defects) (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardEndOfProjectNoMoreCapitalSpendEndOfDefectsRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.End of Project (No more capital spend/end of defects) (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardEndOfProjectNoMoreCapitalSpendEndOfDefectsRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.End of Project (No more capital spend/end of defects) (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Contract for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Contract for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Contract for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Contract for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForTheInitialProvisionOfTemporaryAccommodationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into contract for the initial provision of temporary accommodation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForTheInitialProvisionOfTemporaryAccommodationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into contract for the initial provision of temporary accommodation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForTheInitialProvisionOfTemporaryAccommodationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into contract for the initial provision of temporary accommodation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoContractForTheInitialProvisionOfTemporaryAccommodationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into contract for the initial provision of temporary accommodation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoFundingAgreementActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Funding Agreement (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoFundingAgreementRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Funding Agreement (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoFundingAgreementRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Funding Agreement (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardEnterIntoFundingAgreementRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Enter into Funding Agreement (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardEsfaProjectDirectorRp1DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.ESFA Project Director (RP1) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardEsfaProjectDirectorRp2DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.ESFA Project Director (RP2) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardEsfaProjectDirectorRp3DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.ESFA Project Director (RP3) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardExchangeOnSiteForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Exchange on site for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardExchangeOnSiteForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Exchange on site for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardExchangeOnSiteForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Exchange on site for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardExchangeOnSiteForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Exchange on site for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardFdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.FD_Year"); + + b.Property("ProjectDirectorForecastingDashboardFeasibilityStartedForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Feasibility Started for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardFsgLeadContactActualLastUpdated") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.FSG Lead Contact (Actual) (Last Updated)"); + + b.Property("ProjectDirectorForecastingDashboardFsgLeadContactRp1LastUpdated") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.FSG Lead Contact (RP1) (Last Updated)"); + + b.Property("ProjectDirectorForecastingDashboardFsgLeadContactRp2LastUpdated") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.FSG Lead Contact (RP2) (Last Updated)"); + + b.Property("ProjectDirectorForecastingDashboardFsgLeadContactRp3LastUpdated") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.FSG Lead Contact (RP3) (Last Updated)"); + + b.Property("ProjectDirectorForecastingDashboardHoTAgreedForSiteForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.HoT Agreed for site for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardHoTAgreedForSiteForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.HoT Agreed for site for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardHoTAgreedForSiteForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.HoT Agreed for site for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardHoTAgreedForSiteForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.HoT Agreed for site for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredAdditionalTemporaryAccommodationReadyForOccupationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, additional temporary accommodation ready for occupation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredAdditionalTemporaryAccommodationReadyForOccupationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, additional temporary accommodation ready for occupation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredAdditionalTemporaryAccommodationReadyForOccupationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, additional temporary accommodation ready for occupation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredAdditionalTemporaryAccommodationReadyForOccupationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, additional temporary accommodation ready for occupation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredEnterIntoContractForAdditionalTemporaryAccommodationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, enter into contract for additional temporary accommodation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredEnterIntoContractForAdditionalTemporaryAccommodationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, enter into contract for additional temporary accommodation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredEnterIntoContractForAdditionalTemporaryAccommodationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, enter into contract for additional temporary accommodation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardIfRequiredEnterIntoContractForAdditionalTemporaryAccommodationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.If required, enter into contract for additional temporary accommodation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardLastUpdatedByPd") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Last Updated by PD"); + + b.Property("ProjectDirectorForecastingDashboardMainSchoolBuildingFirstReadyForOccupationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Main School Building first ready for occupation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardMainSchoolBuildingFirstReadyForOccupationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Main School Building first ready for occupation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardMainSchoolBuildingFirstReadyForOccupationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Main School Building first ready for occupation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardMainSchoolBuildingFirstReadyForOccupationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Main School Building first ready for occupation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardPlanning") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Planning"); + + b.Property("ProjectDirectorForecastingDashboardPlanningCommentary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Project Director Forecasting Dashboard.Planning commentary"); + + b.Property("ProjectDirectorForecastingDashboardPracticalCompletionOfContractForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Practical completion of contract for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardPracticalCompletionOfContractForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Practical completion of contract for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardPracticalCompletionOfContractForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Practical completion of contract for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardPracticalCompletionOfContractForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Practical completion of contract for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardProperty") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Property"); + + b.Property("ProjectDirectorForecastingDashboardPropertyCommentary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Project Director Forecasting Dashboard.Property commentary"); + + b.Property("ProjectDirectorForecastingDashboardRealisticYearOfOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Realistic Year of Opening"); + + b.Property("ProjectDirectorForecastingDashboardRhFreezeDataForReportingPeriodRp1DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.RH - Freeze data for Reporting Period (RP1) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardRhFreezeDataForReportingPeriodRp2DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.RH - Freeze data for Reporting Period (RP2) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardRhFreezeDataForReportingPeriodRp3DateApproved") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.RH - Freeze data for Reporting Period (RP3) (Date Approved)"); + + b.Property("ProjectDirectorForecastingDashboardSiteIdenfitifiedForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Site idenfitified for main school building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfConstructionOfMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of construction of main school building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfConstructionOfMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of construction of main school building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfConstructionOfMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of construction of main school building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfConstructionOfMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of construction of main school building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfProcurementForMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of procurement for Main School Building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfProcurementForMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of procurement for Main School Building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfProcurementForMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of procurement for Main School Building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardStartOfProcurementForMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Start of procurement for Main School Building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardSubmissionOfPlanningPermissionForPermanentMainSchoolBuildingActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Submission of planning permission for permanent main school building (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardSubmissionOfPlanningPermissionForPermanentMainSchoolBuildingRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Submission of planning permission for permanent main school building (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardSubmissionOfPlanningPermissionForPermanentMainSchoolBuildingRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Submission of planning permission for permanent main school building (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardSubmissionOfPlanningPermissionForPermanentMainSchoolBuildingRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Submission of planning permission for permanent main school building (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardTemporary") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Forecasting Dashboard.Temporary"); + + b.Property("ProjectDirectorForecastingDashboardTemporaryAccommodationFirstReadyForOccupationActual") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Temporary accommodation first ready for occupation (Actual)"); + + b.Property("ProjectDirectorForecastingDashboardTemporaryAccommodationFirstReadyForOccupationRp1") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Temporary accommodation first ready for occupation (RP1)"); + + b.Property("ProjectDirectorForecastingDashboardTemporaryAccommodationFirstReadyForOccupationRp2") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Temporary accommodation first ready for occupation (RP2)"); + + b.Property("ProjectDirectorForecastingDashboardTemporaryAccommodationFirstReadyForOccupationRp3") + .HasColumnType("date") + .HasColumnName("Project Director Forecasting Dashboard.Temporary accommodation first ready for occupation (RP3)"); + + b.Property("ProjectDirectorForecastingDashboardTemporaryCommentary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Project Director Forecasting Dashboard.Temporary commentary"); + + b.HasKey("Rid"); + + b.ToTable("PDFD", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PDFDHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.PdfdArchive", b => + { + b.Property("ActualDateOfOpeningActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Actual date of opening (Actual)"); + + b.Property("AllPupilsOutOfTemporaryAccommodationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("All pupils out of temporary accommodation (Actual)"); + + b.Property("AllPupilsOutOfTemporaryAccommodationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("All pupils out of temporary accommodation (Forecast)"); + + b.Property("CapitalProjectRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Capital Project RAG Rating"); + + b.Property("CompleteOnSiteAcquisitionForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Complete on site acquisition for Main School Building (Actual)"); + + b.Property("CompleteOnSiteAcquisitionForMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Complete on site acquisition for Main School Building (Forecast)"); + + b.Property("ContractorAppointedForMainSchoolBuildingSpmEwaPcsaActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contractor appointed for main school building (SPM, EWA, PCSA) (Actual)"); + + b.Property("ContractorAppointedForMainSchoolBuildingSpmEwaPcsaForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Contractor appointed for main school building (SPM, EWA, PCSA) (Forecast)"); + + b.Property("DateHoTSecuredOnSiteForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date HoT secured on site for main school building (Actual)"); + + b.Property("DateHoTSecuredOnSiteForMainSchoolBuildingBaseline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date HoT secured on site for main school building (Baseline)"); + + b.Property("DateOfCompletionOnTemporaryAccommodationSiteIfRequiredActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of completion on temporary accommodation site, if required (Actual)"); + + b.Property("DateOfCompletionOnTemporaryAccommodationSiteIfRequiredForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of completion on temporary accommodation site, if required (Forecast)"); + + b.Property("DateOfExchangeOnSiteForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of exchange on site for main school building (Actual)"); + + b.Property("DateOfExchangeOnSiteForMainSchoolBuildingBaseline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of exchange on site for main school building (Baseline)"); + + b.Property("DateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of HoT secured on temporary accommodation site, if required (Actual)"); + + b.Property("DateOfHoTSecuredOnTemporaryAccommodationSiteIfRequiredForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of HoT secured on temporary accommodation site, if required (Forecast)"); + + b.Property("DateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of positive planning decision notice secured for main school building (Actual)"); + + b.Property("DateOfPositivePlanningDecisionNoticeSecuredForMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Date of positive planning decision notice secured for main school building (Forecast)"); + + b.Property("EndOfProjectNoMoreCapitalSpendEndOfDefectsActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("End of Project (No more capital spend/end of defects) (Actual)"); + + b.Property("EndOfProjectNoMoreCapitalSpendEndOfDefectsForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("End of Project (No more capital spend/end of defects) (Forecast)"); + + b.Property("EnterIntoContractForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into Contract for Main School Building (Actual)"); + + b.Property("EnterIntoContractForMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into Contract for Main School Building (Forecast)"); + + b.Property("EnterIntoContractForTheInitialProvisionOfTemporaryAccommodationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into contract for the initial provision of temporary accommodation (Actual)"); + + b.Property("EnterIntoContractForTheInitialProvisionOfTemporaryAccommodationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into contract for the initial provision of temporary accommodation (Forecast)"); + + b.Property("EnterIntoFundingAgreementActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into Funding Agreement (Actual)"); + + b.Property("EnterIntoFundingAgreementForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Enter into Funding Agreement (Forecast)"); + + b.Property("FeasibilityStartedForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Feasibility Started for Main School Building (Actual)"); + + b.Property("FreeSchoolName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Free School Name"); + + b.Property("HeadOfRegion") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Head of Region"); + + b.Property("IfRequiredAdditionalTemporaryAccommodationReadyForOccupationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("If required, additional temporary accommodation ready for occupation (Actual)"); + + b.Property("IfRequiredAdditionalTemporaryAccommodationReadyForOccupationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("If required, additional temporary accommodation ready for occupation (Forecast)"); + + b.Property("IfRequiredEnterIntoContractForAdditionalTemporaryAccommodationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("If required, enter into contract for additional temporary accommodation (Actual)"); + + b.Property("IfRequiredEnterIntoContractForAdditionalTemporaryAccommodationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("If required, enter into contract for additional temporary accommodation (Forecast)"); + + b.Property("MainSchoolBuildingFirstReadyToBeOpenedForOccupationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Main school building first ready to be opened for occupation (Actual)"); + + b.Property("MainSchoolBuildingFirstReadyToBeOpenedForOccupationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Main school building first ready to be opened for occupation (Forecast)"); + + b.Property("Month") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)"); + + b.Property("PracticalCompletionOfContractForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Practical completion of contract for Main School Building (Actual)"); + + b.Property("PracticalCompletionOfContractForMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Practical completion of contract for Main School Building (Forecast)"); + + b.Property("ProjectDirector") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director"); + + b.Property("ProjectDirectorApproval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Director Approval"); + + b.Property("ProjectId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project ID"); + + b.Property("ProjectManager") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Manager"); + + b.Property("RealisticYearOfOpening") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Realistic Year of Opening"); + + b.Property("RegionalHeadFreezeDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Regional Head - Freeze Date"); + + b.Property("SiteIdentifiedForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site identified for main school building (Actual)"); + + b.Property("StartOfConstructionOfMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Start of construction of main school building (Actual)"); + + b.Property("StartOfConstructionOfMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Start of construction of main school building (Forecast)"); + + b.Property("StartOfProcurementForMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Start of procurement for Main School Building (Actual)"); + + b.Property("StartOfProcurementForMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Start of procurement for Main School Building (Forecast)"); + + b.Property("SubmissionOfPlanningPermissionForPermanentMainSchoolBuildingActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Submission of planning permission for permanent main school building (Actual)"); + + b.Property("SubmissionOfPlanningPermissionForPermanentMainSchoolBuildingForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Submission of planning permission for permanent main school building (Forecast)"); + + b.Property("TemporaryAccommodationFirstReadyForOccupationActual") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary accommodation first ready for occupation (Actual)"); + + b.Property("TemporaryAccommodationFirstReadyForOccupationForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary accommodation first ready for occupation (Forecast)"); + + b.ToTable("PDFD_Archive", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Pdgl", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("ProjectDeliveryGrantLetterPdglId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Delivery Grant Letter.PDGL ID"); + + b.Property("ProjectDeliveryGrantLetterProjectDeliveryGrantLetterIssuedDate") + .HasColumnType("date") + .HasColumnName("Project Delivery Grant Letter.Project Delivery Grant Letter issued date"); + + b.Property("ProjectDeliveryGrantLetterProjectDeliveryGrantLetterTotalValue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Delivery Grant Letter.Project Delivery Grant Letter total value"); + + b.HasKey("Rid"); + + b.ToTable("PDGL", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PDGLHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.PerfFsg", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("SchoolPerformanceDataKs1Ks2ValueAdded") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS1-KS2 value added"); + + b.Property("SchoolPerformanceDataKs2AverageScoreInMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 Average score in maths"); + + b.Property("SchoolPerformanceDataKs2AverageScoreInReading") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 Average score in reading"); + + b.Property("SchoolPerformanceDataKs2EngProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 Eng progress"); + + b.Property("SchoolPerformanceDataKs2ExpectedStandardInMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 expected standard in maths"); + + b.Property("SchoolPerformanceDataKs2ExpectedStandardInReading") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 expected standard in reading"); + + b.Property("SchoolPerformanceDataKs2ExpectedStandardInReadingWritingAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 expected standard in reading writing and maths"); + + b.Property("SchoolPerformanceDataKs2ExpectedStandardInWriting") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 expected standard in writing"); + + b.Property("SchoolPerformanceDataKs2HighInMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 high in maths"); + + b.Property("SchoolPerformanceDataKs2HighInReading") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 high in reading"); + + b.Property("SchoolPerformanceDataKs2HighInReadingWritingAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 high in reading, writing and maths"); + + b.Property("SchoolPerformanceDataKs2HighInWriting") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 high in writing"); + + b.Property("SchoolPerformanceDataKs2Ks4ValueAdded") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2-KS4 value added"); + + b.Property("SchoolPerformanceDataKs2Ks4ValueAddedPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2-KS4 value added Pr"); + + b.Property("SchoolPerformanceDataKs2Level4EngMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 4+ Eng maths"); + + b.Property("SchoolPerformanceDataKs2Level4Maths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 4+ maths"); + + b.Property("SchoolPerformanceDataKs2Level4ReadWriteMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 4+ read write maths"); + + b.Property("SchoolPerformanceDataKs2Level4Reading") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 4+ reading"); + + b.Property("SchoolPerformanceDataKs2Level4Writing") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 4+ writing"); + + b.Property("SchoolPerformanceDataKs2Level5EngMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 5+ Eng maths"); + + b.Property("SchoolPerformanceDataKs2Level5Maths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 5+ maths"); + + b.Property("SchoolPerformanceDataKs2Level5ReadWriteMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 5+ read write maths"); + + b.Property("SchoolPerformanceDataKs2Level5Reading") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 5+ reading"); + + b.Property("SchoolPerformanceDataKs2Level5Writing") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 level 5+ writing"); + + b.Property("SchoolPerformanceDataKs2MathsProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 maths progress"); + + b.Property("SchoolPerformanceDataKs2MathsProgressLowerConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 maths progress lower confidence interval"); + + b.Property("SchoolPerformanceDataKs2MathsProgressScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 maths progress score"); + + b.Property("SchoolPerformanceDataKs2MathsProgressUpperConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 maths progress upper confidence interval"); + + b.Property("SchoolPerformanceDataKs2Pupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 pupils"); + + b.Property("SchoolPerformanceDataKs2PupilsAchievingAHighScoreInReadingWritingAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 pupils achieving a high score in reading, writing and maths"); + + b.Property("SchoolPerformanceDataKs2ReadProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 read progress"); + + b.Property("SchoolPerformanceDataKs2ReadingProgressLowerConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 reading progress lower confidence interval"); + + b.Property("SchoolPerformanceDataKs2ReadingProgressScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 reading progress score"); + + b.Property("SchoolPerformanceDataKs2ReadingProgressUpperConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 reading progress upper confidence interval"); + + b.Property("SchoolPerformanceDataKs2WriteProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 write progress"); + + b.Property("SchoolPerformanceDataKs2WritingProgressLowerConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 writing progress lower confidence interval"); + + b.Property("SchoolPerformanceDataKs2WritingProgressScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 writing progress score"); + + b.Property("SchoolPerformanceDataKs2WritingProgressUpperConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS2 writing progress upper confidence interval"); + + b.Property("SchoolPerformanceDataKs45acIncEngMath") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 5AC inc Eng math"); + + b.Property("SchoolPerformanceDataKs45acIncEngMathPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 5AC inc Eng math Pr"); + + b.Property("SchoolPerformanceDataKs45acIncEngMathPupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 5AC inc Eng math Pupils"); + + b.Property("SchoolPerformanceDataKs4AchievingAStandardPass5OrAboveInEnglishAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 achieving a ‘standard pass’ (5 or above) in English and maths"); + + b.Property("SchoolPerformanceDataKs4AchievingAStandardPass5OrAboveInEnglishAndMathsPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 achieving a ‘standard pass’ (5 or above) in English and maths Pr"); + + b.Property("SchoolPerformanceDataKs4AchievingAStrongPass5OrAboveInEnglishAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 achieving a ‘strong pass’ (5 or above) in English and maths"); + + b.Property("SchoolPerformanceDataKs4AchievingAStrongPass5OrAboveInEnglishAndMathsPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 achieving a ‘strong pass’ (5 or above) in English and maths Pr"); + + b.Property("SchoolPerformanceDataKs4Attainment8Score") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score"); + + b.Property("SchoolPerformanceDataKs4Attainment8ScoreEbacc") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score - Ebacc"); + + b.Property("SchoolPerformanceDataKs4Attainment8ScoreEnglish") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score - English"); + + b.Property("SchoolPerformanceDataKs4Attainment8ScoreMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score - Maths"); + + b.Property("SchoolPerformanceDataKs4Attainment8ScoreOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score - Open"); + + b.Property("SchoolPerformanceDataKs4Attainment8ScorePr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Attainment 8 score Pr"); + + b.Property("SchoolPerformanceDataKs4CInEnglishAndMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 C + in English and maths"); + + b.Property("SchoolPerformanceDataKs4CInEnglishAndMathsPupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 C + in English and maths Pupils"); + + b.Property("SchoolPerformanceDataKs4Ebacc") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 EBacc"); + + b.Property("SchoolPerformanceDataKs4EbaccPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 EBacc Pr"); + + b.Property("SchoolPerformanceDataKs4EbaccPupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Ebacc Pupils"); + + b.Property("SchoolPerformanceDataKs4EngProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Eng progress"); + + b.Property("SchoolPerformanceDataKs4EngProgressPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 Eng progress Pr"); + + b.Property("SchoolPerformanceDataKs4MathsProgress") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 maths progress"); + + b.Property("SchoolPerformanceDataKs4MathsProgressPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 maths progress Pr"); + + b.Property("SchoolPerformanceDataKs4Progress8LowerConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 lower confidence interval"); + + b.Property("SchoolPerformanceDataKs4Progress8LowerConfidenceIntervalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 lower confidence interval Pr"); + + b.Property("SchoolPerformanceDataKs4Progress8Pupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 pupils"); + + b.Property("SchoolPerformanceDataKs4Progress8PupilsPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 pupils Pr"); + + b.Property("SchoolPerformanceDataKs4Progress8Score") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score"); + + b.Property("SchoolPerformanceDataKs4Progress8ScoreEbacc") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score -Ebacc"); + + b.Property("SchoolPerformanceDataKs4Progress8ScoreEnglish") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score - English"); + + b.Property("SchoolPerformanceDataKs4Progress8ScoreMaths") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score - Maths"); + + b.Property("SchoolPerformanceDataKs4Progress8ScoreOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score - Open"); + + b.Property("SchoolPerformanceDataKs4Progress8ScorePr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 score Pr"); + + b.Property("SchoolPerformanceDataKs4Progress8UpperConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 upper confidence interval"); + + b.Property("SchoolPerformanceDataKs4Progress8UpperConfidenceIntervalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 progress 8 upper confidence interval Pr"); + + b.Property("SchoolPerformanceDataKs4Pupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 pupils"); + + b.Property("SchoolPerformanceDataKs4PupilsPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS4 pupils Pr"); + + b.Property("SchoolPerformanceDataKs5ApsPerEntryAcademic") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 APS per entry (Academic)"); + + b.Property("SchoolPerformanceDataKs5ApsPerEntryAcademicPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 APS per entry (Academic) Pr"); + + b.Property("SchoolPerformanceDataKs5ApsPerEntryAppliedGeneral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 APS per entry (applied general)"); + + b.Property("SchoolPerformanceDataKs5ApsPerEntryVocational") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 APS per entry (Vocational)"); + + b.Property("SchoolPerformanceDataKs5ApsPerEntryVocationalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 APS per entry (Vocational) Pr"); + + b.Property("SchoolPerformanceDataKs5PupilsAcademic") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (academic)"); + + b.Property("SchoolPerformanceDataKs5PupilsAcademicPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (academic) Pr"); + + b.Property("SchoolPerformanceDataKs5PupilsAll") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (all)"); + + b.Property("SchoolPerformanceDataKs5PupilsAllPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (all)PR"); + + b.Property("SchoolPerformanceDataKs5PupilsAppliedGeneral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (applied general)"); + + b.Property("SchoolPerformanceDataKs5PupilsAppliedGeneralPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 pupils (applied general) Pr"); + + b.Property("SchoolPerformanceDataKs5ValueAddedAcademic") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (academic)"); + + b.Property("SchoolPerformanceDataKs5ValueAddedAcademicPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (academic) Pr"); + + b.Property("SchoolPerformanceDataKs5ValueAddedAppliedGeneral") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (applied general)"); + + b.Property("SchoolPerformanceDataKs5ValueAddedAppliedGeneralPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (applied general) Pr"); + + b.Property("SchoolPerformanceDataKs5ValueAddedLowerConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added lower confidence interval"); + + b.Property("SchoolPerformanceDataKs5ValueAddedLowerConfidenceIntervalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added lower confidence interval Pr"); + + b.Property("SchoolPerformanceDataKs5ValueAddedUpperConfidenceInterval") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added upper confidence interval"); + + b.Property("SchoolPerformanceDataKs5ValueAddedUpperConfidenceIntervalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added upper confidence interval Pr"); + + b.Property("SchoolPerformanceDataKs5ValueAddedVocational") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (Vocational)"); + + b.Property("SchoolPerformanceDataKs5ValueAddedVocationalPr") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.KS5 value added (Vocational) Pr"); + + b.Property("SchoolPerformanceDataNumberOfPupils") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.Number of pupils"); + + b.Property("SchoolPerformanceDataProgress8OptIn") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("School Performance Data.Progress 8 opt in"); + + b.Property("SchoolPerformanceDataYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("School Performance Data.Year"); + + b.HasKey("Rid"); + + b.ToTable("Perf_FSG", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("Perf_FSGHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.PerfFsgLocal", b => + { + b.Property("Attainment8ScoreLaAverage") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Attainment 8 Score LA Average"); + + b.Property("InEducationPercentage") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("In Education (percentage)"); + + b.Property("Ks4CInEnglishMathsLaAverage") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS4 C+ in English & Maths LA Average (%)"); + + b.Property("Ks4EbaccEnteredForEbacc") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS4 Ebacc (% entered for Ebacc)"); + + b.Property("Ks5ALevelApsPerEntry") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS5 A-Level (APS per Entry)"); + + b.Property("Ks5AcademicProgressScore") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS5 Academic Progress Score"); + + b.Property("Ks5AcademicProgressScoreAverageGrade") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS5 Academic Progress Score (Average Grade)"); + + b.Property("Ks5TechLevelApsPerEntry") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS5 Tech Level (APS per Entry)"); + + b.Property("Ks5TechLevelApsPerEntryLaAverage") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("KS5 Tech Level (APS per Entry - LA Average)"); + + b.Property("ProjectId") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("Project ID"); + + b.Property("TotalOfStudentsStayingInEducationOrEmployment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Total % of students staying in education or employment"); + + b.Property("Urn") + .HasMaxLength(10) + .IsUnicode(false) + .HasColumnType("varchar(10)") + .HasColumnName("URN"); + + b.Property("Year") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)"); + + b.ToTable("Perf_FSG_Local", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Planning", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("PlanningRecordAddressManualOverwrite") + .HasColumnType("bit") + .HasColumnName("Planning Record.Address - Manual overwrite?"); + + b.Property("PlanningRecordAddressOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Address of site"); + + b.Property("PlanningRecordAppealDecision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Appeal decision"); + + b.Property("PlanningRecordAppealProcedure") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Appeal procedure"); + + b.Property("PlanningRecordAppealRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Appeal required?"); + + b.Property("PlanningRecordClassCExpiryDateActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Class C expiry date (Actual)"); + + b.Property("PlanningRecordDateAppealSubmittedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date appeal submitted (actual)"); + + b.Property("PlanningRecordDateAppealSubmittedForecast") + .HasColumnType("date") + .HasColumnName("Planning Record.Date appeal submitted (forecast)"); + + b.Property("PlanningRecordDateAppealValidatedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date appeal validated (actual)"); + + b.Property("PlanningRecordDateLetterSentToLocalPlanningAuthorityActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date letter sent to local planning authority (Actual)"); + + b.Property("PlanningRecordDateLetterSentToLocalPlanningAuthorityForecast") + .HasColumnType("date") + .HasColumnName("Planning Record.Date letter sent to local planning authority (Forecast)"); + + b.Property("PlanningRecordDateOfAppealDecisionNoticeActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date of appeal decision notice (actual)"); + + b.Property("PlanningRecordDateOfAppealDecisionNoticeForecast") + .HasColumnType("date") + .HasColumnName("Planning Record.Date of appeal decision notice (forecast)"); + + b.Property("PlanningRecordDateOfPlanningDecisionNoticeActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date of planning decision notice (actual)"); + + b.Property("PlanningRecordDateOfPlanningDecisionNoticeForecast") + .HasColumnType("date") + .HasColumnName("Planning Record.Date of planning decision notice (forecast)"); + + b.Property("PlanningRecordDateOfStatutoryDeterminationActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date of statutory determination (actual)"); + + b.Property("PlanningRecordDatePlanningApplicationSubmittedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date planning application submitted (actual)"); + + b.Property("PlanningRecordDatePlanningApplicationSubmittedForecast") + .HasColumnType("date") + .HasColumnName("Planning Record.Date planning application submitted (forecast)"); + + b.Property("PlanningRecordDatePlanningApplicationValidatedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date planning application validated (actual)"); + + b.Property("PlanningRecordDatePlanningAppraisalCompletedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.Date planning appraisal completed (actual)"); + + b.Property("PlanningRecordDescriptionOfDevelopment") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Planning Record.Description of development"); + + b.Property("PlanningRecordIsPlanningPermissionRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Is planning permission required?"); + + b.Property("PlanningRecordIsThisTheMainPlanningRecord") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Is this the main planning record?"); + + b.Property("PlanningRecordJrChallengePeriodFinishedActual") + .HasColumnType("date") + .HasColumnName("Planning Record.JR challenge period finished (actual)"); + + b.Property("PlanningRecordLocalPlanningAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Local planning authority"); + + b.Property("PlanningRecordLpaApplicationReference") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.LPA application reference"); + + b.Property("PlanningRecordNameManualOverwrite") + .HasColumnType("bit") + .HasColumnName("Planning Record.Name - Manual overwrite?"); + + b.Property("PlanningRecordPlanningAppraisalCompleted") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Planning appraisal completed"); + + b.Property("PlanningRecordPlanningDecision") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Planning decision"); + + b.Property("PlanningRecordPlanningLeadComments") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("Planning Record.Planning Lead comments"); + + b.Property("PlanningRecordPlanningPermissionLimitedToASpecificTimeAndExpiryPeriod") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Planning permission limited to a specific time and expiry period"); + + b.Property("PlanningRecordPlanningRisk") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Planning risk"); + + b.Property("PlanningRecordPostcodeManualOverwrite") + .HasColumnType("bit") + .HasColumnName("Planning Record.Postcode - Manual overwrite?"); + + b.Property("PlanningRecordPostcodeOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Postcode of site"); + + b.Property("PlanningRecordPrNameOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.PR_Name of site"); + + b.Property("PlanningRecordPrPlanningPermissionExpiryDateActual") + .HasColumnType("date") + .HasColumnName("Planning Record.PR_Planning permission expiry date (actual)"); + + b.Property("PlanningRecordSiteId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Site ID"); + + b.Property("PlanningRecordStorePlanningRecordId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Store planning record ID"); + + b.Property("PlanningRecordTypeOfPlanningRequired") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Planning Record.Type of planning required"); + + b.Property("PlanningRecordWasPlanningSecuredInTimeForSchoolRequirements") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Planning Record.Was planning secured in time for school requirements?"); + + b.HasKey("Rid"); + + b.ToTable("Planning", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PlanningHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.PlanningQa", b => + { + b.Property("AppealProcedureHighlight") + .HasColumnType("int") + .HasColumnName("Appeal procedure highlight"); + + b.Property("AppealRequiredHighlight") + .HasColumnType("int") + .HasColumnName("Appeal required? highlight"); + + b.Property("ClassCExpiryDateActualHighlight") + .HasColumnType("int") + .HasColumnName("Class C expiry date (Actual) highlight"); + + b.Property("DateAppealSubmittedActualHighlight") + .HasColumnType("int") + .HasColumnName("Date appeal submitted (actual) highlight"); + + b.Property("DateAppealSubmittedForecastHighlight") + .HasColumnType("int") + .HasColumnName("Date appeal submitted (forecast) highlight"); + + b.Property("DateAppealValidatedActualHighlight") + .HasColumnType("int") + .HasColumnName("Date appeal validated (actual) highlight"); + + b.Property("DateLetterSentToLocalPlanningAuthorityActualHighlight") + .HasColumnType("int") + .HasColumnName("Date letter sent to local planning authority (Actual) highlight"); + + b.Property("DateLetterSentToLocalPlanningAuthorityForecastHighlight") + .HasColumnType("int") + .HasColumnName("Date letter sent to local planning authority (Forecast) highlight"); + + b.Property("DateOfAppealDecisionNoticeActualHighlight") + .HasColumnType("int") + .HasColumnName("Date of appeal decision notice (actual) highlight"); + + b.Property("DateOfAppealDecisionNoticeForecastHighlight") + .HasColumnType("int") + .HasColumnName("Date of appeal decision notice (forecast) highlight"); + + b.Property("DateOfPlanningDecisionNoticeActualHighlight") + .HasColumnType("int") + .HasColumnName("Date of planning decision notice (actual) highlight"); + + b.Property("DateOfPlanningDecisionNoticeForecastHighlight") + .HasColumnType("int") + .HasColumnName("Date of planning decision notice (forecast) highlight"); + + b.Property("DateOfStatutoryDeterminationActualHighlight") + .HasColumnType("int") + .HasColumnName("Date of statutory determination (actual) highlight"); + + b.Property("DatePlanningApplicationSubmittedActualHighlight") + .HasColumnType("int") + .HasColumnName("Date planning application submitted (actual) highlight"); + + b.Property("DatePlanningApplicationSubmittedForecastHighlight") + .HasColumnType("int") + .HasColumnName("Date planning application submitted (forecast) highlight"); + + b.Property("DatePlanningApplicationValidatedActualHighlight") + .HasColumnType("int") + .HasColumnName("Date planning application validated (actual) highlight"); + + b.Property("LpaApplicationReferenceHighlight") + .HasColumnType("int") + .HasColumnName("LPA application reference highlight"); + + b.Property("Month") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)"); + + b.Property("PlanningPermissionExpiryDateActualHighlight") + .HasColumnType("int") + .HasColumnName("Planning permission expiry date (actual) highlight"); + + b.Property("PlanningPermissionLimitedToASpecificTimeAndExpiryPeriodHighlight") + .HasColumnType("int") + .HasColumnName("Planning permission limited to a specific time and expiry period highlight"); + + b.Property("PlanningRiskHighlight") + .HasColumnType("int") + .HasColumnName("Planning risk highlight"); + + b.Property("TypeOfPlanningRequiredHighlight") + .HasColumnType("int") + .HasColumnName("Type of planning required highlight"); + + b.ToTable("Planning_QA", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Po", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("FinancialPlanningOptInToRpa") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Planning.Opt in to RPA"); + + b.Property("FinancialPlanningStartDateOfRpa") + .HasColumnType("date") + .HasColumnName("Financial Planning.Start date of RPA"); + + b.Property("FinancialPlanningTypeOfRpaCover") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Financial Planning.Type of RPA cover"); + + b.Property("PRid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("p_rid"); + + b.Property("PdgFirstVariationGrantLetterSavedToWorkplaces") + .HasColumnType("bit"); + + b.Property("PdgFourthVariationGrantLetterSavedToWorkplaces") + .HasColumnType("bit"); + + b.Property("PdgGrantLetterLinkSavedToWorkplaces") + .HasColumnType("bit") + .HasColumnName("PdgGrantLetterLinkSavedToWorkplaces"); + + b.Property("PdgInitialGrantLetterDate") + .HasColumnType("datetime2"); + + b.Property("PdgInitialGrantLetterLink") + .HasColumnType("nvarchar(max)"); + + b.Property("PdgInitialGrantLetterSavedToWorkplaces") + .HasColumnType("bit"); + + b.Property("PdgIsWriteOffSetup") + .HasColumnType("bit") + .HasColumnName("PdgIsWriteOffSetup"); + + b.Property("PdgSecondVariationGrantLetterSavedToWorkplaces") + .HasColumnType("bit"); + + b.Property("PdgThirdVariationGrantLetterSavedToWorkplaces") + .HasColumnType("bit"); + + b.Property("PeriodEnd") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodEnd"); + + b.Property("PeriodStart") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodStart"); + + b.Property("ProjectDevelopmentGrantFunding1stPdgGrantVariationDate") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.1st PDG grant variation date"); + + b.Property("ProjectDevelopmentGrantFunding1stPdgGrantVariationLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.1st PDG grant variation link"); + + b.Property("ProjectDevelopmentGrantFunding1stWriteOffApprovedInFsgBy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.1st write off approved in FSG by"); + + b.Property("ProjectDevelopmentGrantFunding2ndDateWriteOffApprovedByFinanceBusinessPartners") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.2nd Date write off approved by Finance Business Partners"); + + b.Property("ProjectDevelopmentGrantFunding2ndFinanceBusinessPartnerApprovalReceivedFrom") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.2nd Finance Business Partner Approval received from"); + + b.Property("ProjectDevelopmentGrantFunding2ndLinkWriteOffPaperworkRepository") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.2nd Link write off paperwork repository"); + + b.Property("ProjectDevelopmentGrantFunding2ndPdgGrantVariationDate") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.2nd PDG grant variation date"); + + b.Property("ProjectDevelopmentGrantFunding2ndPdgGrantVariationLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.2nd PDG grant variation link"); + + b.Property("ProjectDevelopmentGrantFunding2ndWriteOffApprovedInFsgBy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.2nd write off approved in FSG by"); + + b.Property("ProjectDevelopmentGrantFunding3rdDateWriteOffApprovedByFinanceBusinessPartners") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.3rd Date write off approved by Finance Business Partners"); + + b.Property("ProjectDevelopmentGrantFunding3rdFinanceBusinessPartnerApprovalReceivedFrom") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.3rd Finance Business Partner Approval received from"); + + b.Property("ProjectDevelopmentGrantFunding3rdLinkWriteOffPaperworkRepository") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.3rd Link write off paperwork repository"); + + b.Property("ProjectDevelopmentGrantFunding3rdPdgGrantVariationDate") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.3rd PDG grant variation date"); + + b.Property("ProjectDevelopmentGrantFunding3rdPdgGrantVariationLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.3rd PDG grant variation link"); + + b.Property("ProjectDevelopmentGrantFunding3rdWriteOffApprovedInFsgBy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.3rd write off approved in FSG by"); + + b.Property("ProjectDevelopmentGrantFunding4thPdgGrantVariationDate") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.4th PDG grant variation date"); + + b.Property("ProjectDevelopmentGrantFunding4thPdgGrantVariationLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.4th PDG grant variation link"); + + b.Property("ProjectDevelopmentGrantFundingAmountApprovedFor1stWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount approved for 1st write off"); + + b.Property("ProjectDevelopmentGrantFundingAmountApprovedFor2ndWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount approved for 2nd write off"); + + b.Property("ProjectDevelopmentGrantFundingAmountApprovedFor3rdWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount approved for 3rd write off"); + + b.Property("ProjectDevelopmentGrantFundingAmountCleared") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount Cleared"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf10thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 10th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf10thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 10th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf11thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 11th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf11thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 11th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf12thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 12th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf12thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 12th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf1stPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 1st payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf1stPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 1st payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf1stRefund") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 1st refund "); + + b.Property("ProjectDevelopmentGrantFundingAmountOf2ndPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 2nd payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf2ndPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 2nd payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf2ndRefund") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 2nd refund "); + + b.Property("ProjectDevelopmentGrantFundingAmountOf3rdPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 3rd payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf3rdPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 3rd payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf3rdRefund") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 3rd refund"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf4thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 4th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf4thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 4th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf5thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 5th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf5thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 5th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf6thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 6th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf6thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 6th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf7thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 7th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf7thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 7th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf8thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 8th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf8thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 8th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf9thPayment") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 9th payment"); + + b.Property("ProjectDevelopmentGrantFundingAmountOf9thPaymentDue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount of 9th payment due"); + + b.Property("ProjectDevelopmentGrantFundingAmountRealised") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount Realised"); + + b.Property("ProjectDevelopmentGrantFundingAmountToBeUnderwritten") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Amount to be Underwritten"); + + b.Property("ProjectDevelopmentGrantFundingContingencyClearedRealised") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Contingency Cleared / Realised"); + + b.Property("ProjectDevelopmentGrantFundingDateNextFinancialStatementBudgetProfileIsDueBack") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date next financial statement / budget profile is due back"); + + b.Property("ProjectDevelopmentGrantFundingDateOf10thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 10th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf10thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 10th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf11thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 11th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf11thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 11th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf12thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 12th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf12thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 12th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf1stActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 1st actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf1stPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 1st payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf1stRefund") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 1st refund"); + + b.Property("ProjectDevelopmentGrantFundingDateOf1stWriteOff") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 1st write off"); + + b.Property("ProjectDevelopmentGrantFundingDateOf2ndActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 2nd actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf2ndPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 2nd payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf2ndRefund") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 2nd refund"); + + b.Property("ProjectDevelopmentGrantFundingDateOf2ndWriteOff") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 2nd write off"); + + b.Property("ProjectDevelopmentGrantFundingDateOf3rdActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 3rd actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf3rdPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 3rd payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf3rdRefund") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 3rd refund"); + + b.Property("ProjectDevelopmentGrantFundingDateOf3rdWriteOff") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 3rd write off"); + + b.Property("ProjectDevelopmentGrantFundingDateOf4thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 4th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf4thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 4th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf5thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 5th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf5thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 5th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf6thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 6th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf6thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 6th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf7thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 7th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf7thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 7th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf8thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 8th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf8thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 8th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDateOf9thActualPayment") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 9th actual payment"); + + b.Property("ProjectDevelopmentGrantFundingDateOf9thPaymentDue") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date of 9th payment due"); + + b.Property("ProjectDevelopmentGrantFundingDatePaymentsStopped") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date payments stopped"); + + b.Property("ProjectDevelopmentGrantFundingDateSop7ActionTaken") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date SOP7 action Taken"); + + b.Property("ProjectDevelopmentGrantFundingDateUnderwriteApproved") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date underwrite approved"); + + b.Property("ProjectDevelopmentGrantFundingDateWriteOffApprovedByFinanceBusinessPartners") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.Date write off approved by Finance Business Partners"); + + b.Property("ProjectDevelopmentGrantFundingFinanceBusinessPartnerApprovalReceivedFrom") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Finance Business Partner Approval received from"); + + b.Property("ProjectDevelopmentGrantFundingInitialGrantAllocation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Initial grant allocation"); + + b.Property("ProjectDevelopmentGrantFundingLinkWriteOffPaperworkRepository") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Link write off paperwork repository"); + + b.Property("ProjectDevelopmentGrantFundingManuallyOverwrite") + .HasColumnType("bit") + .HasColumnName("Project Development Grant Funding.Manually overwrite?"); + + b.Property("ProjectDevelopmentGrantFundingPaymentAmountWrittenOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Payment amount written off"); + + b.Property("ProjectDevelopmentGrantFundingPaymentsStopped") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Payments stopped"); + + b.Property("ProjectDevelopmentGrantFundingPdgGrantLetterDate") + .HasColumnType("date") + .HasColumnName("Project Development Grant Funding.PDG grant letter date"); + + b.Property("ProjectDevelopmentGrantFundingPdgGrantLetterLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.PDG grant letter link"); + + b.Property("ProjectDevelopmentGrantFundingPeriodOfUnderwrite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Period of Underwrite"); + + b.Property("ProjectDevelopmentGrantFundingPo01ManuallyOverwrite") + .HasColumnType("bit") + .HasColumnName("Project Development Grant Funding.PO01_Manually Overwrite"); + + b.Property("ProjectDevelopmentGrantFundingReasonFor1stWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Reason for 1st write off"); + + b.Property("ProjectDevelopmentGrantFundingReasonFor2ndWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Reason for 2nd write off"); + + b.Property("ProjectDevelopmentGrantFundingReasonFor3rdWriteOff") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Reason for 3rd write off"); + + b.Property("ProjectDevelopmentGrantFundingReasonForLiability") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Reason for Liability"); + + b.Property("ProjectDevelopmentGrantFundingRevisedGrantAllocation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Revised grant allocation"); + + b.Property("ProjectDevelopmentGrantFundingSop7ActionTaken") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.SOP7 Action Taken"); + + b.Property("ProjectDevelopmentGrantFundingSopSupplierNumber") + .HasMaxLength(8) + .IsUnicode(false) + .HasColumnType("varchar(8)") + .HasColumnName("Project Development Grant Funding.SOP Supplier Number"); + + b.Property("ProjectDevelopmentGrantFundingStoppedPaymentsAuthorisedBy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Stopped payments authorised by"); + + b.Property("ProjectDevelopmentGrantFundingTotalPaymentsMade") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Total payments made"); + + b.Property("ProjectDevelopmentGrantFundingUnderwriteApprovedBy") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Project Development Grant Funding.Underwrite approved by"); + + b.Property("PupilNumbersAndCapacityAcademicYearFifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year - Fifth year"); + + b.Property("PupilNumbersAndCapacityAcademicYearFirstYear") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Academic year - First year"); + + b.Property("PupilNumbersAndCapacityAcademicYearFourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year - Fourth year"); + + b.Property("PupilNumbersAndCapacityAcademicYearSecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year - Second year"); + + b.Property("PupilNumbersAndCapacityAcademicYearSeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year - Seventh year"); + + b.Property("PupilNumbersAndCapacityAcademicYearSixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year - Sixth year"); + + b.Property("PupilNumbersAndCapacityAcademicYearThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Academic year- Third year"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsPanY12Y14") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs PAN Y12-Y14"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsPanY7Y11") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs PAN Y7-Y11"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsPanYrY6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs PAN YR-Y6"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsViabilityY12Y14") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs viability Y12-Y14"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsViabilityY7Y11") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs viability Y7-Y11"); + + b.Property("PupilNumbersAndCapacityAcceptedApplicationsVsViabilityYrY6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% accepted applications vs viability YR-Y6"); + + b.Property("PupilNumbersAndCapacityAdmissionsBody") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Admissions body"); + + b.Property("PupilNumbersAndCapacityCellA10Year8CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A10 Year 8 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA11Year9CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A11 Year 9 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA12Year10CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A12 Year 10 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA13Year11CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A13 Year 11 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA14Year12CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A14 Year 12 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA15Year13CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A15 Year 13 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA16Year14CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A16 Year 14 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA1NurseryCurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A1 Nursery - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA2ReceptionCurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A2 Reception - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA3Year1CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A3 Year 1 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA4Year2CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A4 Year 2 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA5Year3CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A5 Year 3 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA6Year4CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A6 Year 4 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA7Year5CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A7 Year 5 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA8Year6CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A8 Year 6 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellA9Year7CurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_A9 Year 7 - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellB10Year8FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B10 Year 8 - First year"); + + b.Property("PupilNumbersAndCapacityCellB11Year9FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B11 Year 9 - First year"); + + b.Property("PupilNumbersAndCapacityCellB12Year10FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B12 Year 10 - First year"); + + b.Property("PupilNumbersAndCapacityCellB13Year11FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B13 Year 11 - First year"); + + b.Property("PupilNumbersAndCapacityCellB14Year12FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B14 Year 12 - First year"); + + b.Property("PupilNumbersAndCapacityCellB15Year13FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B15 Year 13 - First year"); + + b.Property("PupilNumbersAndCapacityCellB16Year14FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B16 Year 14 - First year"); + + b.Property("PupilNumbersAndCapacityCellB1NurseryFirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B1 Nursery - First year"); + + b.Property("PupilNumbersAndCapacityCellB2ReceptionFirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B2 Reception - First year"); + + b.Property("PupilNumbersAndCapacityCellB3Year1FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B3 Year 1 - First year"); + + b.Property("PupilNumbersAndCapacityCellB4Year2FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B4 Year 2 - First year"); + + b.Property("PupilNumbersAndCapacityCellB5Year3FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B5 Year 3 - First year"); + + b.Property("PupilNumbersAndCapacityCellB6Year4FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B6 Year 4 - First year"); + + b.Property("PupilNumbersAndCapacityCellB7Year5FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B7 Year 5 - First year"); + + b.Property("PupilNumbersAndCapacityCellB8Year6FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B8 Year 6 - First year"); + + b.Property("PupilNumbersAndCapacityCellB9Year7FirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_B9 Year 7 - First year"); + + b.Property("PupilNumbersAndCapacityCellC10Year8SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C10 Year 8 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC11Year9SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C11 Year 9 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC12Year10SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C12 Year 10 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC13Year11SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C13 Year 11 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC14Year12SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C14 Year 12 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC15Year13SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C15 Year 13 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC16Year14SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C16 Year 14 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC1NurserySecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C1 Nursery - Second year"); + + b.Property("PupilNumbersAndCapacityCellC2ReceptionSecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C2 Reception - Second year"); + + b.Property("PupilNumbersAndCapacityCellC3Year1SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C3 Year 1 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC4Year2SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C4 Year 2 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC5Year3SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C5 Year 3 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC6Year4SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C6 Year 4 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC7Year5SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C7 Year 5 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC8Year6SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C8 Year 6 - Second year"); + + b.Property("PupilNumbersAndCapacityCellC9Year7SecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_C9 Year 7 - Second year"); + + b.Property("PupilNumbersAndCapacityCellD10Year8ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D10 Year 8 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD11Year9ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D11 Year 9 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD12Year10ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D12 Year 10 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD13Year11ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D13 Year 11 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD14Year12ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D14 Year 12 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD15Year13ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D15 Year 13 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD16Year14ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D16 Year 14 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD1NurseryThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D1 Nursery - Third year"); + + b.Property("PupilNumbersAndCapacityCellD2ReceptionThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D2 Reception - Third year"); + + b.Property("PupilNumbersAndCapacityCellD3Year1ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D3 Year 1 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD4Year2ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D4 Year 2 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD5Year3ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D5 Year 3 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD6Year4ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D6 Year 4 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD7Year5ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D7 Year 5 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD8Year6ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D8 Year 6 - Third year"); + + b.Property("PupilNumbersAndCapacityCellD9Year7ThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_D9 Year 7 - Third year"); + + b.Property("PupilNumbersAndCapacityCellE10Year8FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E10 Year 8 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE11Year9FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E11 Year 9 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE12Year10FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E12 Year 10 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE13Year11FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E13 Year 11 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE14Year12FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E14 Year 12 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE15Year13FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E15 Year 13 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE16Year14FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E16 Year 14 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE1NurseryFourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E1 Nursery - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE2ReceptionFourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E2 Reception - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE3Year1FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E3 Year 1 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE4Year2FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E4 Year 2 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE5Year3FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E5 Year 3 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE6Year4FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E6 Year 4 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE7Year5FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E7 Year 5 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE8Year6FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E8 Year 6 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellE9Year7FourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_E9 Year 7 - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellF10Year8FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F10 Year 8 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF11Year9FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F11 Year 9 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF12Year10FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F12 Year 10 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF13Year11FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F13 Year 11 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF14Year12FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F14 Year 12 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF15Year13FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F15 Year 13 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF16Year14FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F16 Year 14 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF1NurseryFifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F1 Nursery - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF2ReceptionFifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F2 Reception - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF3Year1FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F3 Year 1 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF4Year2FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F4 Year 2 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF5Year3FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F5 Year 3 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF6Year4FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F6 Year 4 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF7Year5FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F7 Year 5 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF8Year6FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F8 Year 6 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellF9Year7FifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_F9 Year 7 - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellG10Year8SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G10 Year 8 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG11Year9SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G11 Year 9 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG12Year10SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G12 Year 10 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG13Year11SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G13 Year 11 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG14Year12SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G14 Year 12 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG15Year13SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G15 Year 13 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG16Year14SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G16 Year 14 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG1NurserySixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G1 Nursery - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG2ReceptionSixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G2 Reception - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG3Year1SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G3 Year 1 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG4Year2SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G4 Year 2 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG5Year3SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G5 Year 3 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG6Year4SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G6 Year 4 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG7Year5SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G7 Year 5 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG8Year6SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G8 Year 6 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellG9Year7SixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_G9 Year 7 - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellH10Year8SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H10 Year 8 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH11Year9SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H11 Year 9 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH12Year10SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H12 Year 10 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH13Year11SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H13 Year 11 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH14Year12SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H14 Year 12 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH15Year13SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H15 Year 13 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH16Year14SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H16 Year 14 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH1NurserySeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H1 Nursery - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH2ReceptionSeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H2 Reception - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH3Year1SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H3 Year 1 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH4Year2SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H4 Year 2 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH5Year3SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H5 Year 3 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH6Year4SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H6 Year 4 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH7Year5SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H7 Year 5 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH8Year6SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H8 Year 6 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellH9Year7SeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_H9 Year 7 - Seventh year"); + + b.Property("PupilNumbersAndCapacityCellTotalATotalCurrentPupilNumbersIfAlreadyOpen") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalA Total - current pupil numbers (if already open)"); + + b.Property("PupilNumbersAndCapacityCellTotalBTotalFirstYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalB Total - First year"); + + b.Property("PupilNumbersAndCapacityCellTotalCTotalSecondYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalC Total - Second year"); + + b.Property("PupilNumbersAndCapacityCellTotalDTotalThirdYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalD Total - Third year"); + + b.Property("PupilNumbersAndCapacityCellTotalETotalFourthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalE Total - Fourth year"); + + b.Property("PupilNumbersAndCapacityCellTotalFTotalFifthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalF Total - Fifth year"); + + b.Property("PupilNumbersAndCapacityCellTotalGTotalSixthYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalG Total - Sixth year"); + + b.Property("PupilNumbersAndCapacityCellTotalHTotalSeventhYear") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Cell_TotalH Total - Seventh year"); + + b.Property("PupilNumbersAndCapacityManualOverwrite") + .HasColumnType("bit") + .HasColumnName("Pupil numbers and capacity.Manual overwrite?"); + + b.Property("PupilNumbersAndCapacityMinimumFirstYearRecruitmentForViabilityTotal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Minimum first year recruitment for viability Total"); + + b.Property("PupilNumbersAndCapacityMinimumFirstYearRecruitmentForViabilityY12Y14") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Minimum first year recruitment for viability Y12-Y14"); + + b.Property("PupilNumbersAndCapacityMinimumFirstYearRecruitmentForViabilityY7Y11") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Minimum first year recruitment for viability Y7-Y11"); + + b.Property("PupilNumbersAndCapacityMinimumFirstYearRecruitmentForViabilityYrY6") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Minimum first year recruitment for viability YR-Y6"); + + b.Property("PupilNumbersAndCapacityNoApplicationsAcceptedTotal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.No. applications accepted Total"); + + b.Property("PupilNumbersAndCapacityNoApplicationsAcceptedY12Y14") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications accepted Y12-Y14"); + + b.Property("PupilNumbersAndCapacityNoApplicationsAcceptedY7Y11") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications accepted Y7-Y11"); + + b.Property("PupilNumbersAndCapacityNoApplicationsAcceptedYrY6") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications accepted YR-Y6"); + + b.Property("PupilNumbersAndCapacityNoApplicationsReceivedTotal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.No. applications received Total"); + + b.Property("PupilNumbersAndCapacityNoApplicationsReceivedY12Y14") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications received Y12-Y14"); + + b.Property("PupilNumbersAndCapacityNoApplicationsReceivedY7Y11") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications received Y7-Y11"); + + b.Property("PupilNumbersAndCapacityNoApplicationsReceivedYrY6") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.No. applications received YR-Y6"); + + b.Property("PupilNumbersAndCapacityNurseryUnder5s") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Nursery (under 5s)"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsPanY12Y14") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs PAN Y12-Y14"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsPanY7Y11") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs PAN Y7-Y11"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsPanYrY6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs PAN YR-Y6"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsViabilityY12Y14") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs viability Y12-Y14"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsViabilityY7Y11") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs viability Y7-Y11"); + + b.Property("PupilNumbersAndCapacityReceivedApplicationsVsViabilityYrY6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.% received applications vs viability YR-Y6"); + + b.Property("PupilNumbersAndCapacitySpecialistResourceProvisionAp") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Specialist Resource Provision - AP"); + + b.Property("PupilNumbersAndCapacitySpecialistResourceProvisionSpecial") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Specialist Resource Provision - Special"); + + b.Property("PupilNumbersAndCapacityTotalOfCapacityTotals") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total of capacity totals"); + + b.Property("PupilNumbersAndCapacityTotalPanPost16") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total PAN: post-16"); + + b.Property("PupilNumbersAndCapacityTotalPanPre16") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total PAN: pre-16"); + + b.Property("PupilNumbersAndCapacityTotalPost16A") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 A"); + + b.Property("PupilNumbersAndCapacityTotalPost16B") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 B"); + + b.Property("PupilNumbersAndCapacityTotalPost16C") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 C"); + + b.Property("PupilNumbersAndCapacityTotalPost16D") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 D"); + + b.Property("PupilNumbersAndCapacityTotalPost16E") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 E"); + + b.Property("PupilNumbersAndCapacityTotalPost16F") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 F"); + + b.Property("PupilNumbersAndCapacityTotalPost16G") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 G"); + + b.Property("PupilNumbersAndCapacityTotalPost16H") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total post-16 H"); + + b.Property("PupilNumbersAndCapacityTotalPre16A") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 A"); + + b.Property("PupilNumbersAndCapacityTotalPre16B") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 B"); + + b.Property("PupilNumbersAndCapacityTotalPre16C") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 C"); + + b.Property("PupilNumbersAndCapacityTotalPre16D") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 D"); + + b.Property("PupilNumbersAndCapacityTotalPre16E") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 E"); + + b.Property("PupilNumbersAndCapacityTotalPre16F") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 F"); + + b.Property("PupilNumbersAndCapacityTotalPre16G") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 G"); + + b.Property("PupilNumbersAndCapacityTotalPre16H") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.Total pre-16 H"); + + b.Property("PupilNumbersAndCapacityY10Pan") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y10 PAN"); + + b.Property("PupilNumbersAndCapacityY12Pan") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y12 PAN"); + + b.Property("PupilNumbersAndCapacityY12Y14Post16Capacity") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y12-Y14 (post-16) capacity"); + + b.Property("PupilNumbersAndCapacityY7Pan") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y7 PAN"); + + b.Property("PupilNumbersAndCapacityY7Y11Capacity") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y7-Y11 capacity"); + + b.Property("PupilNumbersAndCapacityYOtherPanPost16") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y other PAN post-16"); + + b.Property("PupilNumbersAndCapacityYOtherPanPre16") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.Y other PAN pre-16"); + + b.Property("PupilNumbersAndCapacityYrPan") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.YR PAN"); + + b.Property("PupilNumbersAndCapacityYrY11Pre16Capacity") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Pupil numbers and capacity.YR-Y11 (pre-16) capacity"); + + b.Property("PupilNumbersAndCapacityYrY6Capacity") + .HasMaxLength(4) + .IsUnicode(false) + .HasColumnType("varchar(4)") + .HasColumnName("Pupil numbers and capacity.YR-Y6 capacity"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("PO", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("POHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Porf", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("PurchaseOrderRequestFormPorfGlCode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.PORF GL code"); + + b.Property("PurchaseOrderRequestFormPorfId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.PORF ID"); + + b.Property("PurchaseOrderRequestFormPurchaseOrderCreatedDate") + .HasColumnType("date") + .HasColumnName("Purchase Order Request Form.Purchase Order created date"); + + b.Property("PurchaseOrderRequestFormPurchaseOrderNumber") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.Purchase Order number"); + + b.Property("PurchaseOrderRequestFormPurchaseOrderRequestFormTotalValueExclVat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.Purchase Order Request Form Total value (excl VAT)"); + + b.Property("PurchaseOrderRequestFormPurchaseOrderRequestFormVat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.Purchase Order Request Form VAT"); + + b.Property("PurchaseOrderRequestFormPurchaseOrderRequestFormVendor") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Purchase Order Request Form.Purchase Order Request Form - Vendor"); + + b.HasKey("Rid"); + + b.ToTable("PORF", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PORFHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Pr", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("PreregistrationContactNotes") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Preregistration.Contact notes"); + + b.Property("PreregistrationDateOfLastContactWithApplicant") + .HasColumnType("date") + .HasColumnName("Preregistration.Date of last contact with applicant"); + + b.Property("PreregistrationDateSubmitted") + .HasColumnType("date") + .HasColumnName("Preregistration.Date submitted"); + + b.Property("PreregistrationDoYouAlreadyRunOneOrMoreFreeSchoolsAcademiesOrHaveAnyInThePipeline") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Do you already run one or more free schools/academies or have any in the pipeline? "); + + b.Property("PreregistrationEmailOfLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Email of lead applicant"); + + b.Property("PreregistrationEmailOfPersonSubmittingFormIfNotLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Email of person submitting form (if not lead applicant)"); + + b.Property("PreregistrationHowManyFreeSchoolsAreYouApplyingForInThisWave") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.How many free schools are you applying for in this wave?"); + + b.Property("PreregistrationIsThisAReApplicationIEAnApplicationThatWasPreviouslyUnsuccessful") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Is this a re-application i.e. an application that was previously unsuccessful? "); + + b.Property("PreregistrationLeadSponsorId") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("Preregistration.Lead sponsor ID"); + + b.Property("PreregistrationLeadSponsorName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Lead sponsor name"); + + b.Property("PreregistrationNameOfLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Name of lead applicant"); + + b.Property("PreregistrationNameOfPersonSubmittingFormIfNotLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Name of person submitting form (if not lead applicant)"); + + b.Property("PreregistrationProposedTrustName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Proposed trust name"); + + b.Property("PreregistrationReferenceNumber") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Reference number"); + + b.Property("PreregistrationStaticLinkToTrustPageOnKim") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Static link to trust page on KIM"); + + b.Property("PreregistrationTelephoneNumberOfLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Telephone number of lead applicant"); + + b.Property("PreregistrationTelephoneOfPersonSubmittingFormIfNotLeadApplicant") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Telephone of person submitting form (if not lead applicant)"); + + b.Property("PreregistrationTrustId") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("Preregistration.Trust ID"); + + b.Property("PreregistrationTrustName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Trust name"); + + b.Property("PreregistrationTypeOfGroup") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Type of group"); + + b.Property("PreregistrationTypeOfGroupOther") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Type of group other"); + + b.Property("PreregistrationWhichWaveDoYouIntendToApplyFor") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Preregistration.Which wave do you intend to apply for?"); + + b.HasKey("Rid"); + + b.ToTable("PR", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PRHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Property", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("DatePlanningPermissionObtained") + .HasColumnType("datetime2"); + + 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("SiteAcquisitionInNameOfDclg") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Acquisition in name of DCLG"); + + b.Property("SiteAcquisitionType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Acquisition type"); + + b.Property("SiteAcquisitionVat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Acquisition VAT"); + + b.Property("SiteAddressOfSite") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Site.Address of site"); + + b.Property("SiteAmountAboveRbv") + .HasMaxLength(20) + .IsUnicode(false) + .HasColumnType("varchar(20)") + .HasColumnName("Site.Amount above RBV"); + + b.Property("SiteAnnualLeaseCostRent") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Annual lease cost (rent)"); + + b.Property("SiteAreaOfExistingBuildingM2") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Area of existing building (m2)"); + + b.Property("SiteAreaOfExistingSiteAcres") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Area of existing site (acres)"); + + b.Property("SiteBuildingType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Building type"); + + b.Property("SiteBuildingValueIaS17InPlaceOfRbv") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Building value (IA S17 in place of RBV)"); + + b.Property("SiteChargeRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Charge required"); + + b.Property("SiteDateHeadsOfTermsAgreedActual") + .HasColumnType("date") + .HasColumnName("Site.Date heads of terms agreed (actual)"); + + b.Property("SiteDateHeadsOfTermsAgreedForecast") + .HasColumnType("date") + .HasColumnName("Site.Date heads of terms agreed (forecast)"); + + b.Property("SiteDateOfChargeActual") + .HasColumnType("date") + .HasColumnName("Site.Date of charge (actual)"); + + b.Property("SiteDateOfCompletionActual") + .HasColumnType("date") + .HasColumnName("Site.Date of completion (actual)"); + + b.Property("SiteDateOfCompletionForecast") + .HasColumnType("date") + .HasColumnName("Site.Date of completion (forecast)"); + + b.Property("SiteDateOfExchangeActual") + .HasColumnType("date") + .HasColumnName("Site.Date of exchange (actual)"); + + b.Property("SiteDateOfExchangeForecast") + .HasColumnType("date") + .HasColumnName("Site.Date of exchange (forecast)"); + + b.Property("SiteDateOfHmtPaperActual") + .HasColumnType("date") + .HasColumnName("Site.Date of HMT paper (actual)"); + + b.Property("SiteDateOfPreFundingAgreementSideLetterActual") + .HasColumnType("date") + .HasColumnName("Site.Date of pre-funding agreement side letter (actual)"); + + b.Property("SiteDateRbvRequiredActual") + .HasColumnType("date") + .HasColumnName("Site.Date RBV required (actual)"); + + b.Property("SiteDateRbvSubmittedActual") + .HasColumnType("date") + .HasColumnName("Site.Date RBV submitted (actual)"); + + b.Property("SiteDateSection77ApprovedActual") + .HasColumnType("date") + .HasColumnName("Site.Date Section 77 approved (actual)"); + + b.Property("SiteDclgLeaseToTrustDateOfCompletionActual") + .HasColumnType("date") + .HasColumnName("Site.DCLG lease to Trust : Date of completion (actual)"); + + b.Property("SiteDclgLeaseToTrustDateOfExchangeActual") + .HasColumnType("date") + .HasColumnName("Site.DCLG lease to Trust : Date of exchange (actual)"); + + b.Property("SiteDclgLeaseToTrustIfPurchasedInNameOfDclg") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.DCLG lease to Trust, if purchased in name of DCLG"); + + b.Property("SiteDecisionMakingFramework") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Decision making framework"); + + b.Property("SiteDetailOfBuildingTypeOther") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Detail of building type - Other"); + + b.Property("SiteDetailsOfVariationToTheLease") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Details of variation to the lease"); + + b.Property("SiteDifference") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.% difference"); + + b.Property("SiteDisposalStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Disposal status"); + + b.Property("SiteDisposalVat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Disposal VAT"); + + b.Property("SiteEndDateOfSchoolOccupationActual") + .HasColumnType("date") + .HasColumnName("Site.End date of school occupation (actual)"); + + b.Property("SiteEndDateOfSchoolOccupationForecast") + .HasColumnType("date") + .HasColumnName("Site.End date of school occupation (forecast)"); + + b.Property("SiteExistingUseClass") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Existing use class"); + + b.Property("SiteGreenBookNpvLeaseCost") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Green book NPV lease cost"); + + b.Property("SiteHmtPaperComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.HMT paper comments"); + + b.Property("SiteHmtPaperRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.HMT paper required"); + + b.Property("SiteIaS17Required") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.IA S17 required"); + + b.Property("SiteIsThereAPlanningLongStopDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Is there a planning long stop date?"); + + b.Property("SiteLandValueIaS17InPlaceOfRbv") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Land value (IA S17 in place of RBV)"); + + b.Property("SiteLandlordName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Landlord Name"); + + b.Property("SiteLeaseEndDateActual") + .HasColumnType("date") + .HasColumnName("Site.Lease end date (actual)"); + + b.Property("SiteLeaseStartDateActual") + .HasColumnType("date") + .HasColumnName("Site.Lease start date (actual)"); + + b.Property("SiteLegalManagerComments") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Site.Legal manager comments"); + + b.Property("SiteLengthOfLeaseYears") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Length of lease (years)"); + + b.Property("SiteListing") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Listing"); + + b.Property("SiteLocatEdCommissionReference") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.LocatED commission reference"); + + b.Property("SiteLocatEdDelivery") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.LocatED delivery"); + + b.Property("SiteMaximumCapacityOfTemporarySiteNoOfPupils") + .HasMaxLength(6) + .IsUnicode(false) + .HasColumnType("varchar(6)") + .HasColumnName("Site.Maximum capacity of temporary site (no of pupils)"); + + b.Property("SiteNameOfPurchaser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Name of purchaser"); + + b.Property("SiteNameOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Name of site"); + + b.Property("SiteNetCostOfAcquisition") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Net cost of acquisition"); + + b.Property("SiteNetValueOfDisposal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Net value of disposal"); + + b.Property("SiteNumberOfStoreys") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Number of storeys"); + + b.Property("SiteOtherComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Other comments"); + + b.Property("SitePlanningLongStopDateActual") + .HasColumnType("date") + .HasColumnName("Site.Planning long stop date (actual)"); + + b.Property("SitePleaseStateReasonIfMoreThanOneTenureTypeSelected") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Please state reason if more than one tenure type selected"); + + b.Property("SitePostcodeOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Postcode of site"); + + b.Property("SitePreFundingAgreementSideLetterLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Pre-funding agreement side letter link"); + + b.Property("SitePreFundingAgreementSideLetterRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Pre-funding agreement side letter required"); + + b.Property("SitePremiumIfApplicable") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Premium (if applicable)"); + + b.Property("SitePropertyAdviserComments") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Site.Property adviser comments"); + + b.Property("SiteRbvRequired") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.RBV required"); + + b.Property("SiteRbvStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.RBV status"); + + b.Property("SiteRbvValue") + .HasMaxLength(20) + .IsUnicode(false) + .HasColumnType("varchar(20)") + .HasColumnName("Site.RBV value"); + + b.Property("SiteS106Funding") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.S106 Funding"); + + b.Property("SiteSection77Required") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Section 77 required"); + + b.Property("SiteSiteDisposalDateOfCompletionActual") + .HasColumnType("date") + .HasColumnName("Site.Site disposal date of completion (actual)"); + + b.Property("SiteSiteDisposalDateOfExchangeActual") + .HasColumnType("date") + .HasColumnName("Site.Site disposal date of exchange (actual)"); + + b.Property("SiteSiteId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Site ID"); + + b.Property("SiteSiteIdentifiedActual") + .HasColumnType("date") + .HasColumnName("Site.Site identified (actual)"); + + b.Property("SiteSiteIdentifiedForecast") + .HasColumnType("date") + .HasColumnName("Site.Site identified (forecast)"); + + b.Property("SiteSiteSchoolCurrentlyOperatingFrom") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Site school currently operating from"); + + b.Property("SiteSiteStatus") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Site Status"); + + b.Property("SiteStartDateOfSchoolOccupationActual") + .HasColumnType("date") + .HasColumnName("Site.Start date of school occupation (actual)"); + + b.Property("SiteStartDateOfSchoolOccupationForecast") + .HasColumnType("date") + .HasColumnName("Site.Start date of school occupation (forecast)"); + + b.Property("SiteTenure") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Site.Tenure"); + + b.Property("SiteTypeOfSite") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Type of site"); + + b.Property("SiteTypeOfSiteDisposal") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Type of site disposal"); + + b.Property("SiteVariationToTheLease") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Variation to the lease"); + + b.Property("SiteVariationToTheLeaseDateOfCompletionActual") + .HasColumnType("date") + .HasColumnName("Site.Variation to the lease : Date of completion (actual)"); + + b.Property("SiteVendorName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Site.Vendor name"); + + b.Property("Tos") + .IsRequired() + .HasMaxLength(9) + .IsUnicode(false) + .HasColumnType("varchar(9)") + .HasColumnName("TOS"); + + b.Property("TownOrCity") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TownOrCity"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("Property", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("PropertyHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.PropertyQa", b => + { + b.Property("AddressOfSite") + .HasColumnType("int") + .HasColumnName("Address of site"); + + b.Property("DateOfCompletionForecast") + .HasColumnType("int") + .HasColumnName("Date of completion (forecast)"); + + b.Property("DateOfExchangeActual") + .HasColumnType("int") + .HasColumnName("Date of exchange (actual)"); + + b.Property("DateOfExchangeForecast") + .HasColumnType("int") + .HasColumnName("Date of exchange (forecast)"); + + b.Property("DateOfHeadsOfTermsAgreedActual") + .HasColumnType("int") + .HasColumnName("Date of heads of terms agreed (actual)"); + + b.Property("DateOfHeadsOfTermsAgreedForecast") + .HasColumnType("int") + .HasColumnName("Date of heads of terms agreed (forecast)"); + + b.Property("EsfaCapitalProjectManager") + .HasColumnType("int") + .HasColumnName("ESFA Capital project manager"); + + b.Property("EsfaPropertyLead") + .HasColumnType("int") + .HasColumnName("ESFA property lead"); + + b.Property("EsfaRegionalPropertyLead") + .HasColumnType("int") + .HasColumnName("ESFA regional property lead"); + + b.Property("HeadOfRegion") + .HasColumnType("int") + .HasColumnName("Head of Region"); + + b.Property("LegalManager") + .HasColumnType("int") + .HasColumnName("Legal manager"); + + b.Property("LocatEdAcquisitionManager") + .HasColumnType("int") + .HasColumnName("LocatED acquisition manager"); + + b.Property("LocatEdCommissionReference") + .HasColumnType("int") + .HasColumnName("LocatED commission reference"); + + b.Property("LocatEdDelivery") + .HasColumnType("int") + .HasColumnName("LocatED delivery"); + + b.Property("Month") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)"); + + b.Property("NameOfSite") + .HasColumnType("int") + .HasColumnName("Name of site"); + + b.Property("PleaseStateReasonIfMoreThanOneTenureTypeSelected") + .HasColumnType("int") + .HasColumnName("Please state reason if more than one tenure type selected"); + + b.Property("PostcodeOfSite") + .HasColumnType("int") + .HasColumnName("Postcode of site"); + + b.Property("ProjectDirector") + .HasColumnType("int") + .HasColumnName("Project director"); + + b.Property("SiteIdentifiedActual") + .HasColumnType("int") + .HasColumnName("Site identified (actual)"); + + b.Property("SiteIdentifiedForecast") + .HasColumnType("int") + .HasColumnName("Site identified (forecast)"); + + b.Property("TenureHighlight") + .HasColumnType("int") + .HasColumnName("Tenure highlight"); + + b.ToTable("Property_QA", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Rag", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("RagRatingsAllAssessmentConditionsMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.All assessment conditions met"); + + b.Property("RagRatingsAssessmentCondition1") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 1"); + + b.Property("RagRatingsAssessmentCondition2") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 2"); + + b.Property("RagRatingsAssessmentCondition3") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 3"); + + b.Property("RagRatingsAssessmentCondition4") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 4"); + + b.Property("RagRatingsAssessmentCondition5") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 5"); + + b.Property("RagRatingsAssessmentCondition6") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 6"); + + b.Property("RagRatingsAssessmentCondition7") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 7"); + + b.Property("RagRatingsAssessmentCondition8") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Assessment condition 8"); + + b.Property("RagRatingsEducationRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Education RAG"); + + b.Property("RagRatingsEducationRagSummary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.Education RAG summary"); + + b.Property("RagRatingsFinanceRagSummary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.Finance RAG summary"); + + b.Property("RagRatingsFinancesRagRating") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.Finances RAG rating"); + + b.Property("RagRatingsGovernanceAndSuitabilityRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Governance and Suitability RAG rating"); + + b.Property("RagRatingsGovernanceAndSuitabilityRagSummary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.Governance and Suitability RAG summary"); + + b.Property("RagRatingsHasCondition1BeenMet") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.Has condition 1 been met?"); + + b.Property("RagRatingsHasCondition2BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 2 been met?"); + + b.Property("RagRatingsHasCondition3BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 3 been met?"); + + b.Property("RagRatingsHasCondition4BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 4 been met?"); + + b.Property("RagRatingsHasCondition5BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 5 been met?"); + + b.Property("RagRatingsHasCondition6BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 6 been met?"); + + b.Property("RagRatingsHasCondition7BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 7 been met?"); + + b.Property("RagRatingsHasCondition8BeenMet") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Has condition 8 been met?"); + + b.Property("RagRatingsInclusivityIssue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Inclusivity Issue"); + + b.Property("RagRatingsLinkToRiskAssessmentMatrix") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Link to Risk Assessment Matrix"); + + b.Property("RagRatingsLocalContextRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Local context RAG rating"); + + b.Property("RagRatingsOverallRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Overall RAG rating"); + + b.Property("RagRatingsOverallRagSummary") + .HasMaxLength(5000) + .IsUnicode(false) + .HasColumnType("varchar(5000)") + .HasColumnName("Rag Ratings.Overall RAG summary"); + + b.Property("RagRatingsOverallRomRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Overall ROM RAG rating"); + + b.Property("RagRatingsPipelineFreeSchoolsJointRiskCategory") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Pipeline Free Schools Joint Risk Category"); + + b.Property("RagRatingsProjectRecommendation") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Project recommendation"); + + b.Property("RagRatingsPupilRecruitmentRagRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Pupil recruitment RAG rating"); + + b.Property("RagRatingsReasonForJointRiskCategory") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Rag Ratings.Reason for Joint Risk Category"); + + b.Property("RagRatingsRiskAppraisalFormSharepointLink") + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("Rag Ratings.Risk Appraisal Form Sharepoint Link"); + + b.Property("RagRatingsRscStocktakeRecommendationSummary") + .HasMaxLength(1000) + .IsUnicode(false) + .HasColumnType("varchar(1000)") + .HasColumnName("Rag Ratings.RSC stocktake recommendation summary"); + + b.Property("RagRatingsSummaryOfInclusivityIssue") + .HasMaxLength(999) + .IsUnicode(false) + .HasColumnType("varchar(999)") + .HasColumnName("Rag Ratings.Summary of inclusivity issue"); + + b.Property("RevisionMarker") + .HasColumnType("uniqueidentifier"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("RAG", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("RAGHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.RagtempBudget", b => + { + b.Property("ConstructionCostsInclPassiveIctPlanningObligationsExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Construction Costs (incl passive ICT / Planning Obligations) excl VAT Cost to date"); + + b.Property("ConstructionCostsInclPassiveIctPlanningObligationsExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Construction Costs (incl passive ICT / Planning Obligations) excl VAT Forecast"); + + b.Property("FfEExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FF & E (excl VAT) Cost to date"); + + b.Property("FfEExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FF & E (excl VAT) Forecast"); + + b.Property("Fscode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSCode"); + + b.Property("IctActivesExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Actives (excl VAT) Cost to date"); + + b.Property("IctActivesExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Actives (excl VAT) Forecast"); + + b.Property("IctBroadbandExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Broadband (excl VAT) Cost to date"); + + b.Property("IctBroadbandExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Broadband (excl VAT) Forecast"); + + b.Property("IctHardwareEquipmentExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Hardware Equipment (excl VAT) Cost to date"); + + b.Property("IctHardwareEquipmentExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("ICT Hardware Equipment (excl VAT) Forecast"); + + b.Property("LegalFeesConstructionInclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Legal fees - construction (incl VAT) Comments"); + + b.Property("LegalFeesConstructionInclVatCostUptoDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Legal fees - construction (incl VAT) Cost upto date"); + + b.Property("LegalFeesConstructionInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Legal fees - construction (incl VAT) Forecast"); + + b.Property("PermanentBudgetRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent Budget RAG"); + + b.Property("PermanentConstructionCostsInclPassiveIctPlanningObligationsExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent Construction Costs (incl passive ICT / Planning Obligations) excl VAT Comments"); + + b.Property("PermanentConstructionSubTotalComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent Construction sub total comments"); + + b.Property("PermanentFfEExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent FF & E (excl VAT) Comments"); + + b.Property("PermanentIctActivesExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Actives (excl VAT) Comments"); + + b.Property("PermanentIctBroadbandExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Broadband (excl VAT) Comments"); + + b.Property("PermanentIctDecantCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Decant Cost to date"); + + b.Property("PermanentIctDecantExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Decant (excl VAT) Comments"); + + b.Property("PermanentIctDecantExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Decant (excl VAT) forecast"); + + b.Property("PermanentIctHardwareEquipmentExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent ICT Hardware Equipment (excl VAT) Comments"); + + b.Property("PermanentTaFeesInclVat") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent TA Fees (Incl VAT)"); + + b.Property("PermanentTaSurveysInclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Permanent TA Surveys (Incl VAT Comments"); + + b.Property("TaFeesInclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Fees (Incl VAT) Cost to date"); + + b.Property("TaFeesInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Fees (Incl VAT) Forecast"); + + b.Property("TaSurveysInclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Surveys (Incl VAT) Cost to date"); + + b.Property("TaSurveysInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Surveys (Incl VAT) Forecast"); + + b.Property("TemporaryBudgetRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Budget RAG"); + + b.Property("TemporaryConstructionCostsInclPassiveIctPlanningObligationsExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Construction Costs (incl passive ICT / Planning Obligations) excl VAT Comments"); + + b.Property("TemporaryConstructionCostsInclPassiveIctPlanningObligationsExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Construction Costs (incl passive ICT / Planning Obligations) excl VAT Cost to Date"); + + b.Property("TemporaryConstructionCostsInclPassiveIctPlanningObligationsExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Construction Costs (incl passive ICT / Planning Obligations) excl VAT Forecast"); + + b.Property("TemporaryConstructionSubTotalComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Construction sub total comments"); + + b.Property("TemporaryFfEExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary FF & E (excl VAT) Comments"); + + b.Property("TemporaryFfEExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary FF & E (excl VAT) Cost to Date"); + + b.Property("TemporaryFfEExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary FF & E (excl VAT) Forecast"); + + b.Property("TemporaryIctActivesExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Actives (excl VAT) Comments"); + + b.Property("TemporaryIctActivesExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Actives (excl VAT) Cost to date"); + + b.Property("TemporaryIctActivesExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Actives (excl VAT) Forecast"); + + b.Property("TemporaryIctBroadbandExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Broadband (excl VAT) Comments"); + + b.Property("TemporaryIctBroadbandExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Broadband (excl VAT) Cost to date"); + + b.Property("TemporaryIctBroadbandExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Broadband (excl VAT) Forecast"); + + b.Property("TemporaryIctDecantExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Decant (excl VAT) Comments"); + + b.Property("TemporaryIctDecantExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Decant (excl VAT) Cost to date"); + + b.Property("TemporaryIctDecantExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Decant (excl VAT) Forecast"); + + b.Property("TemporaryIctHardwareEquipmentExclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Hardware Equipment (excl VAT) Comments"); + + b.Property("TemporaryIctHardwareEquipmentExclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Hardware Equipment (excl VAT) Cost to date"); + + b.Property("TemporaryIctHardwareEquipmentExclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary ICT Hardware Equipment (excl VAT) Forecast"); + + b.Property("TemporaryLegalFeesConstructionInclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Legal fees - construction (incl VAT) Comments"); + + b.Property("TemporaryLegalFeesConstructionInclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Legal fees - construction (incl VAT) Cost to date"); + + b.Property("TemporaryLegalFeesConstructionInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary Legal fees - construction (incl VAT) Forecast"); + + b.Property("TemporaryTaFeesInclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Fees (Incl VAT) Cost to date"); + + b.Property("TemporaryTaFeesInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Fees (Incl VAT) Forecast"); + + b.Property("TemporaryTaFeesInclVatForecastComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Fees (Incl VAT) Forecast Comments"); + + b.Property("TemporaryTaSurveysInclVatComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Surveys (Incl VAT) Comments "); + + b.Property("TemporaryTaSurveysInclVatCostToDate") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Surveys (Incl VAT) Cost to date"); + + b.Property("TemporaryTaSurveysInclVatForecast") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Temporary TA Surveys (Incl VAT) Forecast"); + + b.ToTable("RAGTEMP_BUDGET", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.RagtempRatings", b => + { + b.Property("AccidentOnSiteInThisMonthReportedToEfa") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Accident on site in this month reported to EFA"); + + b.Property("Fscode") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("FSCode"); + + b.Property("OverallRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Overall RAG"); + + b.Property("TaOverallSiteRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Overall Site RAG"); + + b.Property("TaOverallSiteRagComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Overall Site RAG Comments"); + + b.Property("TaPermanentSiteRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Permanent Site RAG"); + + b.Property("TaPermanentSiteRagComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA Permanent Site RAG Comments"); + + b.Property("TaSeptemberSiteRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA September Site RAG"); + + b.Property("TaSeptemberSiteRagComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TA September Site RAG Comments"); + + b.Property("TatemporarySiteRag") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TATemporary Site RAG"); + + b.Property("TatemporarySiteRagComments") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("TATemporary Site RAG Comments"); + + b.ToTable("RAGTEMP_RATINGS", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.RegionalFramework", b => + { + b.Property("HighValueBandLot") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("High Value Band Lot"); + + b.Property("LocalAuthority") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Local authority"); + + b.Property("LowValueBandLot") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Low Value Band Lot"); + + b.Property("MediumValueBandLot") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Medium Value Band Lot"); + + b.Property("RscRegions") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("RSC Regions"); + + b.ToTable("Regional Framework", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.ReportServerUrl", b => + { + b.Property("Id") + .HasColumnType("int") + .HasColumnName("id"); + + b.Property("ReportName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("report_name"); + + b.Property("Servername") + .IsRequired() + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("servername"); + + b.Property("Url") + .IsRequired() + .HasMaxLength(500) + .IsUnicode(false) + .HasColumnType("varchar(500)") + .HasColumnName("url"); + + b.ToTable("Report_Server_Url", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Tally", b => + { + b.Property("Id") + .HasColumnType("int") + .HasColumnName("ID"); + + b.ToTable("Tally", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Tasks", b => + { + b.Property("Rid") + .HasMaxLength(30) + .IsUnicode(false) + .HasColumnType("varchar(30)") + .HasColumnName("RID"); + + b.Property("TaskName") + .HasMaxLength(50) + .IsUnicode(false) + .HasColumnType("varchar(50)") + .HasColumnName("Task Name"); + + b.Property("PeriodEnd") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodEnd"); + + b.Property("PeriodStart") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodStart"); + + b.Property("Status") + .IsRequired() + .HasMaxLength(20) + .IsUnicode(false) + .HasColumnType("varchar(20)") + .HasColumnName("Status"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("Rid", "TaskName"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("Tasks", "mfsp"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("TasksHistory", "mfsp"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.TechnicalQa", b => + { + b.Property("Bim") + .HasColumnType("int") + .HasColumnName("BIM"); + + b.Property("ComgdIssued") + .HasColumnType("int") + .HasColumnName("COMGD Issued"); + + b.Property("ContractAwardValue") + .HasColumnType("int") + .HasColumnName("Contract Award Value £"); + + b.Property("ContractBudgetValue") + .HasColumnType("int") + .HasColumnName("Contract Budget Value £"); + + b.Property("ContractProcurementStatus") + .HasColumnType("int") + .HasColumnName("Contract Procurement Status"); + + b.Property("ContractingParty") + .HasColumnType("int") + .HasColumnName("Contracting Party"); + + b.Property("Contractor") + .HasColumnType("int"); + + b.Property("DeliveryParty") + .HasColumnType("int") + .HasColumnName("Delivery Party"); + + b.Property("EnterIntoMainContractActual") + .HasColumnType("int") + .HasColumnName("Enter into Main Contract Actual"); + + b.Property("FeasibilityReportApproved") + .HasColumnType("int") + .HasColumnName("Feasibility Report Approved"); + + b.Property("FeasibiltyReportStartDate") + .HasColumnType("int") + .HasColumnName("Feasibilty Report Start Date"); + + b.Property("FinalContractValue") + .HasColumnType("int") + .HasColumnName("Final Contract Value £"); + + b.Property("Gifa") + .HasColumnType("int") + .HasColumnName("GIFA"); + + b.Property("Month") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)"); + + b.Property("PcCertificateIssuedActual") + .HasColumnType("int") + .HasColumnName("PC Certificate Issued Actual"); + + b.Property("ProcurementRoute") + .HasColumnType("int") + .HasColumnName("Procurement Route"); + + b.Property("ProcurementStartActual") + .HasColumnType("int") + .HasColumnName("Procurement Start Actual"); + + b.Property("TypeOfWork") + .HasColumnType("int") + .HasColumnName("Type of Work"); + + b.ToTable("Technical_QA", "dbo"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.TermVisits", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("TermVisitsActionPlan") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Action plan"); + + b.Property("TermVisitsActionPlanDueDate") + .HasColumnType("date") + .HasColumnName("Term Visits.Action plan due date"); + + b.Property("TermVisitsActionPlanReceived") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Action plan received"); + + b.Property("TermVisitsDateOfFollowUp") + .HasColumnType("date") + .HasColumnName("Term Visits.Date of follow up"); + + b.Property("TermVisitsDateOfVisit") + .HasColumnType("date") + .HasColumnName("Term Visits.Date of Visit"); + + b.Property("TermVisitsFollowUpVisitRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Follow-up visit rating"); + + b.Property("TermVisitsIsActionPlanRequested") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Is action plan requested?"); + + b.Property("TermVisitsLinkOfficerFirstTermVisit") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Link Officer first term visit"); + + b.Property("TermVisitsLinkOfficerFirstTermVisitOutcome") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Link officer first term visit - outcome"); + + b.Property("TermVisitsLinkOfficerFirstTermVisitOutcomeTypeOfConcern") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Link officer first term visit outcome - type of concern"); + + b.Property("TermVisitsLinkOfficerFirstTermVisitReport") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Link officer first term visit – report"); + + b.Property("TermVisitsNameOfDfEOfficial") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Name of DfE official"); + + b.Property("TermVisitsNameOfEducationAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Name of Education Adviser"); + + b.Property("TermVisitsNextVisitDate") + .HasColumnType("date") + .HasColumnName("Term Visits.Next visit date"); + + b.Property("TermVisitsSchoolTermVisit") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.School Term Visit"); + + b.Property("TermVisitsVisitFollowUp") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Visit follow up"); + + b.Property("TermVisitsVisitRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Visit Rating"); + + b.Property("TermVisitsVisitReport") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits.Visit Report"); + + b.Property("TermVisitsVisitSummary") + .HasMaxLength(400) + .IsUnicode(false) + .HasColumnType("varchar(400)") + .HasColumnName("Term Visits.Visit Summary"); + + b.Property("Visits") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)"); + + b.HasKey("Rid"); + + b.ToTable("Term_Visits", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("Term_VisitsHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.TermVisitsUtcs", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("TermVisitsUtcPostOfstedUtcVisitDateOfVisit") + .HasColumnType("date") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Date of Visit"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitNameOfDfEOfficial") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Name of DfE official"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitNameOfEducationAdviser") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Name of Education Adviser"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitNextVisitDate") + .HasColumnType("date") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Next visit date"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitReportLink") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Report link"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitSummary") + .IsUnicode(false) + .HasColumnType("varchar(max)") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Summary"); + + b.Property("TermVisitsUtcPostOfstedUtcVisitVisitRating") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits UTC.Post-Ofsted UTC Visit: Visit Rating"); + + b.Property("TermVisitsUtcSchoolTermVisit") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Term Visits UTC.School term Visit"); + + b.HasKey("Rid"); + + b.ToTable("Term_Visits_UTCs", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("Term_Visits_UTCsHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Trust", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + b.Property("LeadSponsor") + .HasMaxLength(7) + .IsUnicode(false) + .HasColumnType("varchar(7)") + .HasColumnName("Lead Sponsor"); + + 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("TrustRef") + .HasMaxLength(7) + .IsUnicode(false) + .HasColumnType("varchar(7)") + .HasColumnName("Trust ref"); + + b.Property("TrustsLeadSponsorId") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("Trusts.Lead sponsor id"); + + b.Property("TrustsLeadSponsorName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Trusts.Lead sponsor name"); + + b.Property("TrustsTrustName") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Trusts.Trust name"); + + b.Property("TrustsTrustRef") + .HasMaxLength(5) + .IsUnicode(false) + .HasColumnType("varchar(5)") + .HasColumnName("Trusts.Trust ref"); + + b.Property("TrustsTrustType") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Trusts.Trust type"); + + b.HasKey("Rid"); + + b.ToTable("Trust", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("TrustHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Wfa", b => + { + b.Property("Rid") + .HasMaxLength(11) + .IsUnicode(false) + .HasColumnType("varchar(11)") + .HasColumnName("RID"); + + 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("WorksFundingAgreementsWfaId") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Works Funding Agreements.WFA ID"); + + b.Property("WorksFundingAgreementsWorkFundingAgreementIssuedDate") + .HasColumnType("date") + .HasColumnName("Works Funding Agreements.Work Funding Agreement issued date"); + + b.Property("WorksFundingAgreementsWorkFundingAgreementTotalValue") + .HasMaxLength(100) + .IsUnicode(false) + .HasColumnType("varchar(100)") + .HasColumnName("Works Funding Agreements.Work Funding Agreement total value"); + + b.HasKey("Rid"); + + b.ToTable("WFA", "dbo"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("WFAHistory", "dbo"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.RiskAppraisalMeetingTask", b => + { + b.Property("RID") + .HasMaxLength(11) + .HasColumnType("nvarchar(11)"); + + b.Property("ActualDate") + .HasColumnType("datetime2"); + + b.Property("CommentOnDecision") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ForecastDate") + .HasColumnType("datetime2"); + + b.Property("MeetingCompleted") + .HasColumnType("bit"); + + b.Property("PeriodEnd") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodEnd"); + + b.Property("PeriodStart") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodStart"); + + b.Property("ReasonNotApplicable") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UpdatedByUserId") + .HasColumnType("int"); + + b.HasKey("RID"); + + b.HasIndex("UpdatedByUserId"); + + b.ToTable("RiskAppraisalMeetingTask", "mfsp"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("RiskAppraisalMeetingTaskHistory", "mfsp"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Email") + .HasMaxLength(80) + .HasColumnType("nvarchar(80)"); + + b.Property("PeriodEnd") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodEnd"); + + b.Property("PeriodStart") + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("datetime2") + .HasColumnName("PeriodStart"); + + b.HasKey("Id"); + + b.HasIndex("Email") + .IsUnique() + .HasFilter("[Email] IS NOT NULL"); + + b.ToTable("User", "mfsp"); + + b.ToTable(tb => tb.IsTemporal(ttb => + { + ttb.UseHistoryTable("UserHistory", "mfsp"); + ttb + .HasPeriodStart("PeriodStart") + .HasColumnName("PeriodStart"); + ttb + .HasPeriodEnd("PeriodEnd") + .HasColumnName("PeriodEnd"); + })); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Bs", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.ConstructData", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.FsKim", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Kai", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Kpi", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", "User") + .WithMany("Projects") + .HasForeignKey("UserId"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Milestones", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.OfstedFsg", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Opens", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Po", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Property", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Rag", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.Existing.Tasks", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.RiskAppraisalMeetingTask", b => + { + b.HasOne("Dfe.ManageFreeSchoolProjects.Data.Entities.User", null) + .WithMany() + .HasForeignKey("UpdatedByUserId"); + }); + + modelBuilder.Entity("Dfe.ManageFreeSchoolProjects.Data.Entities.User", b => + { + b.Navigation("Projects"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240925145145_TaskNameMaxLength50.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240925145145_TaskNameMaxLength50.cs new file mode 100644 index 000000000..f62ae328e --- /dev/null +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/20240925145145_TaskNameMaxLength50.cs @@ -0,0 +1,64 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Dfe.ManageFreeSchoolProjects.Data.Migrations +{ + /// + public partial class TaskNameMaxLength50 : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "Task Name", + schema: "mfsp", + table: "Tasks", + type: "varchar(50)", + unicode: false, + maxLength: 50, + nullable: false, + oldClrType: typeof(string), + oldType: "varchar(30)", + oldUnicode: false, + oldMaxLength: 30) + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "TasksHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "mfsp") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart") + .OldAnnotation("SqlServer:IsTemporal", true) + .OldAnnotation("SqlServer:TemporalHistoryTableName", "TasksHistory") + .OldAnnotation("SqlServer:TemporalHistoryTableSchema", "mfsp") + .OldAnnotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .OldAnnotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "Task Name", + schema: "mfsp", + table: "Tasks", + type: "varchar(30)", + unicode: false, + maxLength: 30, + nullable: false, + oldClrType: typeof(string), + oldType: "varchar(50)", + oldUnicode: false, + oldMaxLength: 50) + .Annotation("SqlServer:IsTemporal", true) + .Annotation("SqlServer:TemporalHistoryTableName", "TasksHistory") + .Annotation("SqlServer:TemporalHistoryTableSchema", "mfsp") + .Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart") + .OldAnnotation("SqlServer:IsTemporal", true) + .OldAnnotation("SqlServer:TemporalHistoryTableName", "TasksHistory") + .OldAnnotation("SqlServer:TemporalHistoryTableSchema", "mfsp") + .OldAnnotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd") + .OldAnnotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart"); + } + } +} diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/MfspContextModelSnapshot.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/MfspContextModelSnapshot.cs index 898e7d55a..452780c32 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/MfspContextModelSnapshot.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.Data/Migrations/MfspContextModelSnapshot.cs @@ -12148,9 +12148,9 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnName("RID"); b.Property("TaskName") - .HasMaxLength(30) + .HasMaxLength(50) .IsUnicode(false) - .HasColumnType("varchar(30)") + .HasColumnType("varchar(50)") .HasColumnName("Task Name"); b.Property("PeriodEnd") From d38984466950fcfc4f474e30802c1828eea14f49 Mon Sep 17 00:00:00 2001 From: Jack Marshall Date: Thu, 26 Sep 2024 09:49:56 +0100 Subject: [PATCH 5/9] Deleted used var --- .../ViewPreFundingAgreementCheckpointMeeting.cshtml | 1 - 1 file changed, 1 deletion(-) diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml index 4e436b0e8..951632b5c 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PreFundingAgreementCheckpointMeeting/ViewPreFundingAgreementCheckpointMeeting.cshtml @@ -10,7 +10,6 @@ var backlink = string.Format(RouteConstants.TaskList, Model.ProjectId); var editlink = string.Format(RouteConstants.EditPreFundingAgreementCheckpointMeeting, Model.ProjectId); var preFundingAgreementCheckpointMeeting = Model.Project.PreFundingAgreementCheckpointMeetingTask; - var isPresumptionRoute = Model.Project.IsPresumptionRoute; } @section BeforeMain { From 92961a0d581e58b0c75903799c0c0d2825a7c51a Mon Sep 17 00:00:00 2001 From: Jack Marshall Date: Thu, 26 Sep 2024 09:53:17 +0100 Subject: [PATCH 6/9] Release notes --- release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/release-notes.md b/release-notes.md index a0bee9228..923956f0a 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,6 +1,7 @@ ## 0.13.0 * 147110 - Build: Readiness to open meeting (ROM) * 179195 - Build: Show only statuses relevant to Presumption route +* 147094 - Build: Pre-funding agreement checkpoint meeting (Central route) ## 0.12.0 * 175400 - Build: Update 'You do not have access to the service' page with access form link From 0528c10f737ef00ba9a6e204aac885b9340b138b Mon Sep 17 00:00:00 2001 From: Jack Marshall Date: Thu, 26 Sep 2024 15:52:44 +0100 Subject: [PATCH 7/9] Principal designate expected date field and presumption visible --- .../Project/Tasks/PrincipleDesignateTask.cs | 10 +-- .../Tasks/PrincipalDesignateApiTests.cs | 26 +++++--- .../PrincipleDesignateTaskBuilder.cs | 7 ++- .../PrincipleDesignateTaskSummaryBuilder.cs | 5 -- .../UpdatePrincipleDesignateTaskService.cs | 5 +- .../pre-opening/principal-designate.cy.ts | 60 +++++++++++++----- ...funding-agreement-checkpoint-meeting-cy.ts | 1 - .../edit-principal-designate.cy.ts | 19 ++++-- .../EditPrincipalDesignateTask.cshtml | 6 +- .../EditPrincipalDesignateTask.cshtml.cs | 62 +++++++++---------- .../ViewPrincipalDesignateTask.cshtml | 16 ++--- 11 files changed, 127 insertions(+), 90 deletions(-) diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PrincipleDesignateTask.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PrincipleDesignateTask.cs index 4c91aa583..4e24afb2b 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PrincipleDesignateTask.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Contracts/Project/Tasks/PrincipleDesignateTask.cs @@ -5,10 +5,12 @@ namespace Dfe.ManageFreeSchoolProjects.API.Contracts.Project.Tasks; public class PrincipalDesignateTask { + public YesNoNotApplicable? CommissionedExternalExpertVisitToSchool { get; set; } + + public DateTime? ExpectedDatePrincipalDesignateAppointed { get; set; } + + public bool? TrustAppointedPrincipalDesignate { get; set; } - public bool? TrustAppointedPrincipleDesignate { get; set; } - - public DateTime? TrustAppointedPrincipleDesignateDate { get; set; } + public DateTime? ActualDatePrincipalDesignateAppointed { get; set; } - public YesNoNotApplicable? CommissionedExternalExpertVisitToSchool { get; set; } } \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/PrincipalDesignateApiTests.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/PrincipalDesignateApiTests.cs index 6a4b0fbff..d7669eb00 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/PrincipalDesignateApiTests.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API.Tests/Integration/Tasks/PrincipalDesignateApiTests.cs @@ -28,19 +28,22 @@ public async Task Patch_NewPrincipalDesignate_Returns_201() { PrincipalDesignate = new PrincipalDesignateTask() { - TrustAppointedPrincipleDesignateDate = new DateTime().AddDays(9), - CommissionedExternalExpertVisitToSchool = YesNoNotApplicable.Yes + ActualDatePrincipalDesignateAppointed = new DateTime().AddDays(9), + CommissionedExternalExpertVisitToSchool = YesNoNotApplicable.Yes, + ExpectedDatePrincipalDesignateAppointed = new DateTime().AddDays(8), } }; var projectResponse = await _client.UpdateProjectTask(projectId, request, TaskName.PrincipalDesignate.ToString()); - projectResponse.PrincipalDesignate.TrustAppointedPrincipleDesignate.Should() + projectResponse.PrincipalDesignate.TrustAppointedPrincipalDesignate.Should() .Be(true); - projectResponse.PrincipalDesignate.TrustAppointedPrincipleDesignateDate.Should() - .Be(request.PrincipalDesignate.TrustAppointedPrincipleDesignateDate); + projectResponse.PrincipalDesignate.ActualDatePrincipalDesignateAppointed.Should() + .Be(request.PrincipalDesignate.ActualDatePrincipalDesignateAppointed); projectResponse.PrincipalDesignate.CommissionedExternalExpertVisitToSchool.Should() .Be(request.PrincipalDesignate.CommissionedExternalExpertVisitToSchool); + projectResponse.PrincipalDesignate.ExpectedDatePrincipalDesignateAppointed.Should() + .Be(request.PrincipalDesignate.ExpectedDatePrincipalDesignateAppointed); } [Fact] @@ -60,9 +63,10 @@ public async Task Patch_ExistingPrincipalDesignate_Returns_201() { PrincipalDesignate = new PrincipalDesignateTask() { - TrustAppointedPrincipleDesignate = false, - TrustAppointedPrincipleDesignateDate = null, - CommissionedExternalExpertVisitToSchool = YesNoNotApplicable.No + TrustAppointedPrincipalDesignate = false, + ActualDatePrincipalDesignateAppointed = null, + CommissionedExternalExpertVisitToSchool = YesNoNotApplicable.No, + ExpectedDatePrincipalDesignateAppointed = new DateTime().AddDays(8), } }; @@ -71,12 +75,14 @@ public async Task Patch_ExistingPrincipalDesignate_Returns_201() var projectResponse = await _client.UpdateProjectTask(projectId, request, TaskName.PrincipalDesignate.ToString()); - projectResponse.PrincipalDesignate.TrustAppointedPrincipleDesignate.Should() + projectResponse.PrincipalDesignate.TrustAppointedPrincipalDesignate.Should() .Be(false); - projectResponse.PrincipalDesignate.TrustAppointedPrincipleDesignateDate.Should() + projectResponse.PrincipalDesignate.ActualDatePrincipalDesignateAppointed.Should() .Be(null); projectResponse.PrincipalDesignate.CommissionedExternalExpertVisitToSchool.Should() .Be(request.PrincipalDesignate.CommissionedExternalExpertVisitToSchool); + projectResponse.PrincipalDesignate.ExpectedDatePrincipalDesignateAppointed.Should() + .Be(request.PrincipalDesignate.ExpectedDatePrincipalDesignateAppointed); } } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/PrincipleDesignateTaskBuilder.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/PrincipleDesignateTaskBuilder.cs index 221483d42..f64ca64bd 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/PrincipleDesignateTaskBuilder.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/PrincipleDesignateTaskBuilder.cs @@ -16,20 +16,21 @@ public static PrincipalDesignateTask Build(Milestones milestones) if (milestones.FsgPreOpeningMilestonesAppointedPrincipalDesignate == null && milestones.FsgPreOpeningMilestonesPdappActualDateOfCompletion.HasValue) { - principleDesignateTask.TrustAppointedPrincipleDesignate = + principleDesignateTask.TrustAppointedPrincipalDesignate = true; } else { - principleDesignateTask.TrustAppointedPrincipleDesignate = + principleDesignateTask.TrustAppointedPrincipalDesignate = milestones.FsgPreOpeningMilestonesAppointedPrincipalDesignate; } - principleDesignateTask.TrustAppointedPrincipleDesignateDate = + principleDesignateTask.ActualDatePrincipalDesignateAppointed = milestones.FsgPreOpeningMilestonesPdappActualDateOfCompletion; principleDesignateTask.CommissionedExternalExpertVisitToSchool = milestones.FsgPreOpeningMilestonesCommissionedExternalExpertVisitToSchool; + principleDesignateTask.ExpectedDatePrincipalDesignateAppointed = milestones.FsgPreOpeningMilestonesPdappForecastDate; return principleDesignateTask; } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/PrincipleDesignateTaskSummaryBuilder.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/PrincipleDesignateTaskSummaryBuilder.cs index d8e0ba5ca..7579289e6 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/PrincipleDesignateTaskSummaryBuilder.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/PrincipleDesignateTaskSummaryBuilder.cs @@ -15,11 +15,6 @@ public TaskSummaryResponse Build(PrincipalDesignateTaskSummaryBuilderParameters var taskSummary = parameters.TaskSummary; var applicationWave = parameters.ApplicationWave; - if (applicationWave is "FS - Presumption") - { - taskSummary.IsHidden = true; - } - return taskSummary; } } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/UpdatePrincipleDesignateTaskService.cs b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/UpdatePrincipleDesignateTaskService.cs index 9ae96acfe..57f1aa31b 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/UpdatePrincipleDesignateTaskService.cs +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.API/UseCases/Project/Tasks/PrincipalDesignate/UpdatePrincipleDesignateTaskService.cs @@ -31,9 +31,10 @@ public async Task Update(UpdateTaskServiceParameters parameters) _context.Add(db); } - db.FsgPreOpeningMilestonesAppointedPrincipalDesignate = task.TrustAppointedPrincipleDesignate; - db.FsgPreOpeningMilestonesPdappActualDateOfCompletion = task.TrustAppointedPrincipleDesignateDate; + db.FsgPreOpeningMilestonesAppointedPrincipalDesignate = task.TrustAppointedPrincipalDesignate; + db.FsgPreOpeningMilestonesPdappActualDateOfCompletion = task.ActualDatePrincipalDesignateAppointed; db.FsgPreOpeningMilestonesCommissionedExternalExpertVisitToSchool = task.CommissionedExternalExpertVisitToSchool; + db.FsgPreOpeningMilestonesPdappForecastDate = task.ExpectedDatePrincipalDesignateAppointed; } } } \ No newline at end of file diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/principal-designate.cy.ts b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/principal-designate.cy.ts index 11bbf2bff..be8a3041c 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/principal-designate.cy.ts +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/e2e/tasks/pre-opening/principal-designate.cy.ts @@ -12,7 +12,7 @@ describe("Testing Principal designate task", () => { beforeEach(() => { cy.login(); - project = RequestBuilder.createProjectDetailsNonPresumption(); + project = RequestBuilder.createProjectDetails(); projectApi .post({ @@ -25,7 +25,7 @@ describe("Testing Principal designate task", () => { it("Should be able to set a Principal designate", () => { - Logger.log("Select finance plan"); + Logger.log("Select principal designate"); taskListPage.isTaskStatusIsNotStarted("PrincipalDesignate") .selectPrincipleDesignateFromTaskList(); @@ -34,8 +34,10 @@ describe("Testing Principal designate task", () => { .schoolNameIs(project.schoolName) .titleIs("Principal designate") .inOrder() - .summaryShows("Trust has appointed a principal designate").IsEmpty().HasChangeLink() .summaryShows("Commissioned an external expert").IsEmpty().HasChangeLink() + .summaryShows("Expected date that principal designate will be appointed").IsEmpty().HasChangeLink() + .summaryShows("Trust has appointed a principal designate").IsEmpty().HasChangeLink() + .summaryShows("Actual date that principal designate was appointed").IsEmpty().HasChangeLink() .isNotMarkedAsComplete(); cy.log("Go back to task list"); @@ -51,7 +53,6 @@ describe("Testing Principal designate task", () => { taskListPage.isTaskStatusInProgress("PrincipalDesignate") .selectPrincipleDesignateFromTaskList(); - summaryPage.clickChange(); cy.log("Check empty values accepted"); @@ -63,23 +64,25 @@ describe("Testing Principal designate task", () => { .schoolNameIs(project.schoolName) .titleIs("Principal designate") .inOrder() - .summaryShows("Trust has appointed a principal designate").IsEmpty().HasChangeLink() .summaryShows("Commissioned an external expert").IsEmpty().HasChangeLink() + .summaryShows("Expected date that principal designate will be appointed").IsEmpty().HasChangeLink() + .summaryShows("Trust has appointed a principal designate").IsEmpty().HasChangeLink() + .summaryShows("Actual date that principal designate was appointed").IsEmpty().HasChangeLink() .isNotMarkedAsComplete() .clickChange() - cy.log("Check validation for principal designate"); + cy.log("Check validation for actual principal designate date"); editPrincipalDesignatePage .checkYesForPrincipleDesignate() .clickContinue() - .errorForPrincipleDesignateAppointedDate().showsError("Enter the actual date a principal designate was appointed") + .errorForPrincipleDesignateAppointedDate().showsError("Enter the actual date that principal designate was appointed") .withPrincipleDesignateAppointedDate("24","","") .clickContinue() - .errorForPrincipleDesignateAppointedDate().showsError("Trust appointed principal designate date must include a month and year") + .errorForPrincipleDesignateAppointedDate().showsError("Actual date that principal designate was appointed must include a month and year") .withPrincipleDesignateAppointedDate("24","4","") .clickContinue() - .errorForPrincipleDesignateAppointedDate().showsError("Trust appointed principal designate date must include a year") + .errorForPrincipleDesignateAppointedDate().showsError("Actual date that principal designate was appointed must include a year") .withPrincipleDesignateAppointedDate("24","4","2049") .checkYesForExternalExpert() .clickContinue() @@ -88,14 +91,38 @@ describe("Testing Principal designate task", () => { .schoolNameIs(project.schoolName) .titleIs("Principal designate") .inOrder() - .summaryShows("Trust has appointed a principal designate").HasValue("Yes").HasChangeLink() - .summaryShows("Date that the trust appointed principal designate").HasValue("24 April 2049").HasChangeLink() .summaryShows("Commissioned an external expert").HasValue("Yes").HasChangeLink() + .summaryShows("Expected date that principal designate will be appointed").IsEmpty().HasChangeLink() + .summaryShows("Trust has appointed a principal designate").HasValue("Yes").HasChangeLink() + .summaryShows("Actual date that principal designate was appointed").HasValue("24 April 2049").HasChangeLink() .isNotMarkedAsComplete(); summaryPage.clickChange(); +// + cy.log("Check validation for expected principal designate date"); + + editPrincipalDesignatePage + .withExpectedPrincipleDesignateAppointedDate("25","","") + .clickContinue() + .errorForExpectedPrincipleDesignateAppointedDate().showsError("Expected date that principal designate will be appointed must include a month and year") + .withExpectedPrincipleDesignateAppointedDate("25","4","") + .clickContinue() + .errorForExpectedPrincipleDesignateAppointedDate().showsError("Expected date that principal designate will be appointed must include a year") + .withExpectedPrincipleDesignateAppointedDate("25","4","2049") + .clickContinue() + summaryPage + .schoolNameIs(project.schoolName) + .titleIs("Principal designate") + .inOrder() + .summaryShows("Commissioned an external expert").HasValue("Yes").HasChangeLink() + .summaryShows("Expected date that principal designate will be appointed").HasValue("25 April 2049").HasChangeLink() + .summaryShows("Trust has appointed a principal designate").HasValue("Yes").HasChangeLink() + .summaryShows("Actual date that principal designate was appointed").HasValue("24 April 2049").HasChangeLink() + .isNotMarkedAsComplete(); + summaryPage.clickChange(); +// editPrincipalDesignatePage .checkNoForPrincipleDesignate() .checkNotApplicableForExternalExpert() @@ -105,8 +132,10 @@ describe("Testing Principal designate task", () => { .schoolNameIs(project.schoolName) .titleIs("Principal designate") .inOrder() - .summaryShows("Trust has appointed a principal designate").HasValue("No").HasChangeLink() .summaryShows("Commissioned an external expert").HasValue("Not applicable").HasChangeLink() + .summaryShows("Expected date that principal designate will be appointed").HasValue("25 April 2049").HasChangeLink() + .summaryShows("Trust has appointed a principal designate").HasValue("Yes").HasChangeLink() + .summaryShows("Actual date that principal designate was appointed").HasValue("24 April 2049").HasChangeLink() .isNotMarkedAsComplete() cy.log("can edit principal designate"); @@ -115,16 +144,19 @@ describe("Testing Principal designate task", () => { editPrincipalDesignatePage - .checkNoForPrincipleDesignate() .checkNoForExternalExpert() + .checkNoForPrincipleDesignate() + .withPrincipleDesignateAppointedDate("", "", "") .clickContinue() summaryPage .schoolNameIs(project.schoolName) .titleIs("Principal designate") .inOrder() - .summaryShows("Trust has appointed a principal designate").HasValue("No").HasChangeLink() .summaryShows("Commissioned an external expert").HasValue("No").HasChangeLink() + .summaryShows("Expected date that principal designate will be appointed").HasValue("25 April 2049").HasChangeLink() + .summaryShows("Trust has appointed a principal designate").IsEmpty().HasChangeLink() + .summaryShows("Actual date that principal designate was appointed").IsEmpty().HasChangeLink() .isNotMarkedAsComplete() .MarkAsComplete() .clickConfirmAndContinue() diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-pre-funding-agreement-checkpoint-meeting-cy.ts b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-pre-funding-agreement-checkpoint-meeting-cy.ts index 12d236bad..83e01e08d 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-pre-funding-agreement-checkpoint-meeting-cy.ts +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-pre-funding-agreement-checkpoint-meeting-cy.ts @@ -1,5 +1,4 @@ class PreFundingAgreementCheckpointMeetingEditPage { - private errorTracking = ""; selectFormalCheckpointMeeting(): this { cy.getById("formal-checkpoint-meeting-option").click() diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-principal-designate.cy.ts b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-principal-designate.cy.ts index efb71963c..af60984cc 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-principal-designate.cy.ts +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects.CypressTests/cypress/pages/tasks/pre-opening/edit-principal-designate.cy.ts @@ -4,12 +4,12 @@ class PrincipalDesignateEditPage checkYesForPrincipleDesignate(): this { - cy.getById("trust-appointed-principal-designate-Yes").check() + cy.getById("principal-designate-appointed").check() return this } checkNoForPrincipleDesignate(): this { - cy.getById("trust-appointed-principal-designate-No").check() + cy.getById("principal-designate-appointed").uncheck() return this } @@ -34,12 +34,23 @@ class PrincipalDesignateEditPage } errorForPrincipleDesignateAppointedDate(): this { - this.errorTracking = "trust-appointed-principal-designate-date"; + this.errorTracking = "actual-date-that-principal-designate-was-appointed"; return this; } withPrincipleDesignateAppointedDate(day: string, month: string, year: string): this { - const key = "trust-appointed-principal-designate-date"; + const key = "actual-date-that-principal-designate-was-appointed"; + this.setDate(key, day, month, year); + return this + } + + errorForExpectedPrincipleDesignateAppointedDate(): this { + this.errorTracking = "expected-date-that-principal-designate-will-be-appointed"; + return this; + } + + withExpectedPrincipleDesignateAppointedDate(day: string, month: string, year: string): this { + const key = "expected-date-that-principal-designate-will-be-appointed"; this.setDate(key, day, month, year); return this } diff --git a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PrincipalDesignate/EditPrincipalDesignateTask.cshtml b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PrincipalDesignate/EditPrincipalDesignateTask.cshtml index b730e4157..b68fb3703 100644 --- a/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PrincipalDesignate/EditPrincipalDesignateTask.cshtml +++ b/Dfe.ManageFreeSchoolProjects/Dfe.ManageFreeSchoolProjects/Pages/Project/Tasks/PrincipalDesignate/EditPrincipalDesignateTask.cshtml @@ -28,9 +28,6 @@
    - - - + + +