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..0c412fd --- /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..131559d --- /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()
-