From aabd85ba55c3d59a2fa1cd29d2821744df9b50ff Mon Sep 17 00:00:00 2001 From: "AZIA, Stephane" Date: Tue, 25 Mar 2025 10:03:26 +0000 Subject: [PATCH 1/2] Display data, header and footer --- .../CaseWorkDesktopTool.Frontend.csproj | 1 + .../Pages/Index.cshtml | 13 ++- .../Pages/Index.cshtml.cs | 87 +++++++++--------- .../Pages/Shared/_ConversionGridItem.cshtml | 46 +++++++++ .../_ConversionGridItemBottomLinks.cshtml | 16 ++++ .../Pages/Shared/_GridItem.cshtml | 77 ++++++++++++++++ .../Pages/Shared/_Layout.cshtml | 66 ++++++++----- .../Pages/Shared/_SigChangeGridItem.cshtml | 52 +++++++++++ .../Pages/Shared/_TransferGridItem.cshtml | 42 +++++++++ .../Pages/_ViewImports.cshtml | 1 + CaseWorkDesktopTool.Frontend/Program.cs | 3 + .../wwwroot/css/govuk-frontend.min.css | 3 + .../wwwroot/css/govuk-frontend.min.css.map | 1 + .../wwwroot/css/site.css | 4 +- .../wwwroot/fonts/bold-affa96571d-v2.woff | Bin 0 -> 40816 bytes .../wwwroot/fonts/bold-b542beb274-v2.woff2 | Bin 0 -> 31480 bytes .../wwwroot/fonts/light-94a07e06a1-v2.woff2 | Bin 0 -> 33382 bytes .../wwwroot/fonts/light-f591b13f7d-v2.woff | Bin 0 -> 43425 bytes .../wwwroot/images/favicon.ico | Bin 0 -> 14254 bytes .../wwwroot/images/favicon.svg | 1 + .../wwwroot/images/govuk-crest.svg | 1 + .../wwwroot/images/govuk-icon-180.png | Bin 0 -> 1605 bytes .../wwwroot/images/govuk-icon-192.png | Bin 0 -> 1678 bytes .../wwwroot/images/govuk-icon-512.png | Bin 0 -> 4682 bytes .../wwwroot/images/govuk-icon-mask.svg | 1 + .../wwwroot/images/govuk-opengraph-image.png | Bin 0 -> 8677 bytes .../wwwroot/manifest.json | 39 ++++++++ .../Common/Models/BaseModel.cs | 8 ++ .../Common/Models/Conversion.cs | 35 ++----- .../Common/Models/Transfer.cs | 19 +--- .../ConversionAdvisoryBoardDecision.cs | 19 ---- .../Entities/Academisation/Project.cs | 11 ++- .../Entities/Academisation/TransferProject.cs | 3 +- .../Entities/SigChange/CoreChain.cs | 19 ---- .../Entities/SigChange/SigChangeType.cs | 16 ---- .../{SigChangeTracker.cs => Tracker.cs} | 18 +++- .../Repositories/IAcademisationRepository.cs | 2 - .../Repositories/ISigChangeRepository.cs | 4 +- .../ConversionAdvisoryBoardDecisionId.cs | 6 -- .../ValueObjects/SigChangeTrackerId.cs | 6 -- .../ValueObjects/SigChangeTypeId.cs | 7 -- .../{CoreChainId.cs => TrackerId.cs} | 2 +- .../enums/ProjectStatus.cs | 22 ----- .../Database/AcademisationContext.cs | 70 +++----------- .../Database/SigChangeContext.cs | 85 +++++------------ .../Repositories/AcademisationRepository.cs | 31 ++++--- .../Repositories/SigChangeRepository.cs | 48 +++++++--- 47 files changed, 509 insertions(+), 376 deletions(-) create mode 100644 CaseWorkDesktopTool.Frontend/Pages/Shared/_ConversionGridItem.cshtml create mode 100644 CaseWorkDesktopTool.Frontend/Pages/Shared/_ConversionGridItemBottomLinks.cshtml create mode 100644 CaseWorkDesktopTool.Frontend/Pages/Shared/_GridItem.cshtml create mode 100644 CaseWorkDesktopTool.Frontend/Pages/Shared/_SigChangeGridItem.cshtml create mode 100644 CaseWorkDesktopTool.Frontend/Pages/Shared/_TransferGridItem.cshtml create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/css/govuk-frontend.min.css create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/css/govuk-frontend.min.css.map create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/fonts/bold-affa96571d-v2.woff create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/fonts/bold-b542beb274-v2.woff2 create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/fonts/light-94a07e06a1-v2.woff2 create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/fonts/light-f591b13f7d-v2.woff create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/images/favicon.ico create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/images/favicon.svg create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/images/govuk-crest.svg create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/images/govuk-icon-180.png create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/images/govuk-icon-192.png create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/images/govuk-icon-512.png create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/images/govuk-icon-mask.svg create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/images/govuk-opengraph-image.png create mode 100644 CaseWorkDesktopTool.Frontend/wwwroot/manifest.json delete mode 100644 src/CaseWorkDesktopTool.Domain/Entities/Academisation/ConversionAdvisoryBoardDecision.cs delete mode 100644 src/CaseWorkDesktopTool.Domain/Entities/SigChange/CoreChain.cs delete mode 100644 src/CaseWorkDesktopTool.Domain/Entities/SigChange/SigChangeType.cs rename src/CaseWorkDesktopTool.Domain/Entities/SigChange/{SigChangeTracker.cs => Tracker.cs} (53%) delete mode 100644 src/CaseWorkDesktopTool.Domain/ValueObjects/ConversionAdvisoryBoardDecisionId.cs delete mode 100644 src/CaseWorkDesktopTool.Domain/ValueObjects/SigChangeTrackerId.cs delete mode 100644 src/CaseWorkDesktopTool.Domain/ValueObjects/SigChangeTypeId.cs rename src/CaseWorkDesktopTool.Domain/ValueObjects/{CoreChainId.cs => TrackerId.cs} (60%) delete mode 100644 src/CaseWorkDesktopTool.Domain/enums/ProjectStatus.cs diff --git a/CaseWorkDesktopTool.Frontend/CaseWorkDesktopTool.Frontend.csproj b/CaseWorkDesktopTool.Frontend/CaseWorkDesktopTool.Frontend.csproj index ab747b7..16f2281 100644 --- a/CaseWorkDesktopTool.Frontend/CaseWorkDesktopTool.Frontend.csproj +++ b/CaseWorkDesktopTool.Frontend/CaseWorkDesktopTool.Frontend.csproj @@ -8,6 +8,7 @@ + diff --git a/CaseWorkDesktopTool.Frontend/Pages/Index.cshtml b/CaseWorkDesktopTool.Frontend/Pages/Index.cshtml index 91261c0..58026d7 100644 --- a/CaseWorkDesktopTool.Frontend/Pages/Index.cshtml +++ b/CaseWorkDesktopTool.Frontend/Pages/Index.cshtml @@ -1,10 +1,15 @@ @page +@using CaseWorkDesktopTool.Application.Common.Models @model IndexModel @{ ViewData["Title"] = "Home page"; } -@foreach (var casework in Model.CaseWorks) -{ -
@casework.Type - @casework.SortDate
-} +
+
+ @foreach (var casework in Model.CaseWorks) + { + + } +
+
diff --git a/CaseWorkDesktopTool.Frontend/Pages/Index.cshtml.cs b/CaseWorkDesktopTool.Frontend/Pages/Index.cshtml.cs index e5282a7..1e05705 100644 --- a/CaseWorkDesktopTool.Frontend/Pages/Index.cshtml.cs +++ b/CaseWorkDesktopTool.Frontend/Pages/Index.cshtml.cs @@ -32,25 +32,26 @@ private CaseworkViewModel MapConversion(Project project) SchoolName = project.SchoolName, LocalAuthority = project.LocalAuthority, Region = project.Region, - AcademyTypeAndRoute = project.AcademyTypeAndRoute, + Type = project.AcademyTypeAndRoute == "Sponsored" ? "Sponsored conversion" : "Voluntary conversion", NameOfTrust = project.NameOfTrust, AssignedUserEmailAddress = project.AssignedUserEmailAddress, AssignedUserFullName = project.AssignedUserFullName, ProjectStatus = project.ProjectStatus, TrustReferenceNumber = project.TrustReferenceNumber, - CreatedOn = project.CreatedOn + CreatedOn = project.CreatedOn, + GiasGroupUid = project.GiasGroupUid, + GiasGroupName = project.GiasGroupName, + Decision = project.Decision, + ConversionTransferDate = project.AdvisoryBoardDecisionDate, }; - if (project.ConversionAdvisoryBoardDecision is not null) - { - conversion.Decision = project.ConversionAdvisoryBoardDecision.Decision; - conversion.ConversionTransferDate = project.ConversionAdvisoryBoardDecision.AdvisoryBoardDecisionDate; - } - - CaseworkViewModel model = new CaseworkViewModel { Type = CaseworkType.Conversion, + SystemType = "Prepare", + Label = "Conversion", + Title = project.SchoolName, + TitleId = project.Id.Value, SortDate = project.CreatedOn!.Value, Data = conversion }; @@ -84,6 +85,10 @@ private CaseworkViewModel MapTransfer(TransferProject project) CaseworkViewModel model = new CaseworkViewModel { Type = CaseworkType.Transfer, + SystemType = "Prepare", + Label = "Transfer", + Title = project.TransferringAcademy?.IncomingTrustName, + TitleId = project.Urn, SortDate = project.CreatedOn!.Value, Data = transfer }; @@ -91,37 +96,32 @@ private CaseworkViewModel MapTransfer(TransferProject project) return model; } - private CaseworkViewModel MapSigChanges(SigChangeTracker sigChange, CoreChain? chain) + private CaseworkViewModel MapTracker(Tracker tracker) { var model = new SigChange { - Urn = sigChange.Urn, - ApplicationType = sigChange.ApplicationType, - DecisionDate = sigChange.DecisionDate, - DeliveryLead = sigChange.DeliveryLead, - ChangeCreationDate = sigChange.ChangeCreationDate, - AllActionsCompleted = sigChange.AllActionsCompleted, - Withdrawn = sigChange.Withdrawn + Urn = tracker.Urn, + TypeOfSigChange = tracker.TypeOfSigChange, + Username = tracker.Username, + ApplicationType = tracker.ApplicationType, + DecisionDate = tracker.DecisionDate, + DeliveryLead = tracker.DeliveryLead, + ChangeCreationDate = tracker.ChangeCreationDate, + AllActionsCompleted = tracker.AllActionsCompleted, + Withdrawn = tracker.Withdrawn, + LocalAuthority = tracker.LocalAuthority, + Region = tracker.Region, + TrustName = tracker.TrustName, + AcademyName = tracker.AcademyName, + DateStamp = tracker.DateStamp }; - if (sigChange.SigChangeType != null) - { - model.TypeOfSigChange = sigChange.SigChangeType!.TypeOfSigChange; - model.Username = sigChange.SigChangeType!.Username; - } - - if (chain != null) - { - model.LocalAuthority = chain.LocalAuthority; - model.Region = chain.Region; - model.TrustName = chain.TrustName; - model.AcademyName = chain.AcademyName; - model.DateStamp = chain.DateStamp; - } - CaseworkViewModel result = new CaseworkViewModel { Type = CaseworkType.SigChange, + SystemType = "Significant Change", + Label = tracker.TypeOfSigChange, + Title = tracker.AcademyName, SortDate = model.ChangeCreationDate!.Value, Data = model }; @@ -131,24 +131,21 @@ private CaseworkViewModel MapSigChanges(SigChangeTracker sigChange, C public async Task OnGetAsync() { - //var test = await _academisationRepository.GetConversionProjectByIdAsync(22073, CancellationToken.None); - List records = new List(); - var email = User.Identity?.Name!; + var identity = User.Identity; + var username = "Ben Memmott"; // Asim Rasib, Richika.DOGRA@education.gov.uk, ben.memmott@education.gov.uk - // Sig Changes - var sigChanges = await _sigChangeRepository.GetTrackersByUsernameAsync("Asim Rasib", CancellationToken.None); - - foreach (var sigChange in sigChanges) + var trackers = await _sigChangeRepository.GetTrackersAsync(username, CancellationToken.None); + foreach (Tracker tracker in trackers) { - var chain = await _sigChangeRepository.GetCoreChainByUrnAsync(sigChange.Urn!.Value, CancellationToken.None); - - records.Add(MapSigChanges(sigChange, chain)); + records.Add(MapTracker(tracker)); } + string email = "Ben.MEMMOTT@education.gov.uk"; + // Conversion - var conversions = await _academisationRepository.GetConversionProjectsByAssignedUserEmailAddressAsync("Richika.DOGRA@education.gov.uk", CancellationToken.None); + var conversions = await _academisationRepository.GetConversionProjectsByAssignedUserEmailAddressAsync(email, CancellationToken.None); foreach (Project project in conversions) { @@ -156,7 +153,7 @@ public async Task OnGetAsync() } // Transfers - var transfers = await _academisationRepository.GetTransferProjectsByAssignedUserEmailAddressAsync("Richika.DOGRA@education.gov.uk", CancellationToken.None); + var transfers = await _academisationRepository.GetTransferProjectsByAssignedUserEmailAddressAsync(email, CancellationToken.None); foreach (TransferProject project in transfers) { @@ -164,7 +161,5 @@ public async Task OnGetAsync() } CaseWorks = records.OrderByDescending(x => x.SortDate).ToList(); - - //var record = list[0] as CaseworkViewModel; } } diff --git a/CaseWorkDesktopTool.Frontend/Pages/Shared/_ConversionGridItem.cshtml b/CaseWorkDesktopTool.Frontend/Pages/Shared/_ConversionGridItem.cshtml new file mode 100644 index 0000000..ed0132a --- /dev/null +++ b/CaseWorkDesktopTool.Frontend/Pages/Shared/_ConversionGridItem.cshtml @@ -0,0 +1,46 @@ +@using CaseWorkDesktopTool.Frontend.ViewModels; +@using CaseWorkDesktopTool.Application.Common.Models; + +@model CaseworkViewModel + +
+
+
URN
+
@Model.Data.Urn
+
+ +
+
Project type
+
@Model.Data.Type
+
+ +
+ @{ + DateTime parsedDate; + if (DateTime.TryParse(Model.Data.ConversionTransferDate?.ToString(), out parsedDate)) + { +
Conversion/transfer date
+
@parsedDate.ToString("MM/dd/yyyy")
+ } + else + { +
+
Conversion/transfer date
+
+
Empty
+
+
+ } + } +
+ +
+
Incoming Trust
+
@Model.Data.NameOfTrust
+
+ +
+
Region
+
@Model.Data.Region
+
+
diff --git a/CaseWorkDesktopTool.Frontend/Pages/Shared/_ConversionGridItemBottomLinks.cshtml b/CaseWorkDesktopTool.Frontend/Pages/Shared/_ConversionGridItemBottomLinks.cshtml new file mode 100644 index 0000000..5375f50 --- /dev/null +++ b/CaseWorkDesktopTool.Frontend/Pages/Shared/_ConversionGridItemBottomLinks.cshtml @@ -0,0 +1,16 @@ +@using CaseWorkDesktopTool.Frontend.ViewModels; +@using CaseWorkDesktopTool.Application.Common.Models; + +@model CaseworkViewModel + + diff --git a/CaseWorkDesktopTool.Frontend/Pages/Shared/_GridItem.cshtml b/CaseWorkDesktopTool.Frontend/Pages/Shared/_GridItem.cshtml new file mode 100644 index 0000000..03dd5fe --- /dev/null +++ b/CaseWorkDesktopTool.Frontend/Pages/Shared/_GridItem.cshtml @@ -0,0 +1,77 @@ +@using CaseWorkDesktopTool.Application.Common.Models +@using CaseWorkDesktopTool.Frontend.ViewModels + +@model BaseModel + +@{ + var titleHref = "#"; + + switch (Model.Type) + { + case CaseworkType.SigChange: + titleHref = "https://apps.powerapps.com/play/e/default-fad277c9-c60a-4da1-b5f3-b3b8b34a82f9/a/dc208cce-df36-4fad-83a9-5aa15373449d?tenantId=fad277c9-c60a-4da1-b5f3-b3b8b34a82f9&hint=be9a08f1-66dd-48d2-8e4a-eff1ddefc5cf&sourcetime=1718979109588"; + break; + case CaseworkType.Conversion: + titleHref = $"https://test.prepare-conversions.education.gov.uk/task-list/{Model.TitleId}?returnToFormAMatMenu=False"; + break; + case CaseworkType.Transfer: + titleHref = $"https://test.prepare-conversions.education.gov.uk/transfers/project/{Model.TitleId}"; + break; + default: + break; + } +} + +
+
+
@Model.SystemType
+
@Model.Label
+ +
+
+ @switch (Model.Type) + { + case CaseworkType.SigChange: + + break; + case CaseworkType.Conversion: + + break; + case CaseworkType.Transfer: + + break; + default: + break; + } +
+
+ @switch (Model.Type) + { + case CaseworkType.SigChange: + + break; + case CaseworkType.Conversion: + + break; + case CaseworkType.Transfer: + + + break; + default: + break; + } +
+
diff --git a/CaseWorkDesktopTool.Frontend/Pages/Shared/_Layout.cshtml b/CaseWorkDesktopTool.Frontend/Pages/Shared/_Layout.cshtml index 618520b..2d43696 100644 --- a/CaseWorkDesktopTool.Frontend/Pages/Shared/_Layout.cshtml +++ b/CaseWorkDesktopTool.Frontend/Pages/Shared/_Layout.cshtml @@ -6,39 +6,61 @@ @ViewData["Title"] - CaseWorkDesktopTool.Frontend + -
- +
+
-
+
@RenderBody()
-