Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

<ItemGroup>
<PackageReference Include="DfE.CoreLibs.Security" Version="1.0.6" />
<PackageReference Include="GovUk.Frontend.AspNetCore" Version="2.8.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.10" />
<PackageReference Include="Microsoft.Identity.Web.UI" Version="3.8.0" />
</ItemGroup>
Expand Down
13 changes: 9 additions & 4 deletions CaseWorkDesktopTool.Frontend/Pages/Index.cshtml
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
@page
@using CaseWorkDesktopTool.Application.Common.Models
@model IndexModel
@{
ViewData["Title"] = "Home page";
}

@foreach (var casework in Model.CaseWorks)
{
<div>@casework.Type - @casework.SortDate</div>
}
<div class="container">
<div class="row">
@foreach (var casework in Model.CaseWorks)
{
<partial name="Shared/_GridItem" model="@casework" />
}
</div>
</div>
87 changes: 41 additions & 46 deletions CaseWorkDesktopTool.Frontend/Pages/Index.cshtml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,25 +32,26 @@ private CaseworkViewModel<Conversion> 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<Conversion> model = new CaseworkViewModel<Conversion>
{
Type = CaseworkType.Conversion,
SystemType = "Prepare",
Label = "Conversion",
Title = project.SchoolName,
TitleId = project.Id.Value,
SortDate = project.CreatedOn!.Value,
Data = conversion
};
Expand Down Expand Up @@ -84,44 +85,43 @@ private CaseworkViewModel<Transfer> MapTransfer(TransferProject project)
CaseworkViewModel<Transfer> model = new CaseworkViewModel<Transfer>
{
Type = CaseworkType.Transfer,
SystemType = "Prepare",
Label = "Transfer",
Title = project.TransferringAcademy?.IncomingTrustName,
TitleId = project.Urn,
SortDate = project.CreatedOn!.Value,
Data = transfer
};

return model;
}

private CaseworkViewModel<SigChange> MapSigChanges(SigChangeTracker sigChange, CoreChain? chain)
private CaseworkViewModel<SigChange> 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<SigChange> result = new CaseworkViewModel<SigChange>
{
Type = CaseworkType.SigChange,
SystemType = "Significant Change",
Label = tracker.TypeOfSigChange,
Title = tracker.AcademyName,
SortDate = model.ChangeCreationDate!.Value,
Data = model
};
Expand All @@ -131,40 +131,35 @@ private CaseworkViewModel<SigChange> MapSigChanges(SigChangeTracker sigChange, C

public async Task OnGetAsync()
{
//var test = await _academisationRepository.GetConversionProjectByIdAsync(22073, CancellationToken.None);

List<BaseModel> records = new List<BaseModel>();

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)
{
records.Add(MapConversion(project));
}

// 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)
{
records.Add(MapTransfer(project));
}

CaseWorks = records.OrderByDescending(x => x.SortDate).ToList();

//var record = list[0] as CaseworkViewModel<Conversion>;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
@using CaseWorkDesktopTool.Frontend.ViewModels;
@using CaseWorkDesktopTool.Application.Common.Models;

@model CaseworkViewModel<Conversion>

<form>
<div class="row mb-3">
<div class="col-sm-2 fw-bold">URN</div>
<div class="col-sm-10">@Model.Data.Urn</div>
</div>

<div class="row mb-3">
<div class="col-sm-2 fw-bold">Project type</div>
<div class="col-sm-10">@Model.Data.Type</div>
</div>

<div class="row mb-3">
@{
DateTime parsedDate;
if (DateTime.TryParse(Model.Data.ConversionTransferDate?.ToString(), out parsedDate))
{
<div class="col-sm-2 fw-bold">Conversion/transfer date</div>
<div class="col-sm-10">@parsedDate.ToString("MM/dd/yyyy")</div>
}
else
{
<div class="d-flex align-items-center">
<div class="col-sm-2 fw-bold">Conversion/transfer date</div>
<div class="col-sm-10">
<div class="d-inline-flex p-1 border border-1 bg-success text-dark bg-opacity-10">Empty</div>
</div>
</div>
}
}
</div>

<div class="row mb-3">
<div class="col-sm-2 fw-bold">Incoming Trust</div>
<div class="col-sm-10">@Model.Data.NameOfTrust</div>
</div>

<div class="row mb-3">
<div class="col-sm-2 fw-bold">Region</div>
<div class="col-sm-10">@Model.Data.Region</div>
</div>
</form>
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
@using CaseWorkDesktopTool.Frontend.ViewModels;
@using CaseWorkDesktopTool.Application.Common.Models;

@model CaseworkViewModel<Conversion>

<div class="fw-bold fs-5">
<div class="p-1 d-inline-flex px-2 py-1 border border-1 bg-transparent text-dark fw-normal">
<a target="_blank" href="https://educationgovuk.sharepoint.com/sites/lvewp00030/SitePages/7-Monitoring%20&%20Decision%20Making/1-Advisory%20Board/Advisory%20Board.aspx">Advisory Board Guidance</a>
</div>
<div class="p-1 d-inline-flex px-2 py-1 border border-1 bg-transparent text-dark fw-normal">
<a target="_blank" href="https://test.find-information-academies-trusts.education.gov.uk/trusts/overview/trust-details?uid=@Model.Data.GiasGroupUid">FIAT Trust Page</a>
</div>
<div class="p-1 d-inline-flex px-2 py-1 border border-1 bg-transparent text-dark fw-normal">
<a target="_blank" href="https://educationgovuk.sharepoint.com/_layouts/15/sharepoint.aspx?oobRefiners=%7b%22FileType%22:%5b%22other%22%5d%7d&q=@Model.Data.TrustReferenceNumber&v=%2fsearch">Trust Folder (Sharepoint search)</a>
</div>
</div>
77 changes: 77 additions & 0 deletions CaseWorkDesktopTool.Frontend/Pages/Shared/_GridItem.cshtml
Original file line number Diff line number Diff line change
@@ -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;
}
}

<div class="mb-5 border border-1 border-secondary p-0" style="">
<div class="p-2 fw-bold fs-5">
<div class="p-1 d-inline-flex px-2 py-1 border border-1 bg-secondary text-white">@Model.SystemType</div>
<div class="p-1 d-inline-flex px-2 py-1 border border-1 bg-success text-dark bg-opacity-10">@Model.Label</div>
<div class="p-1 d-inline-flex px-2 py-1 border border-1 bg-transparent text-dark fw-normal">
<a target="_blank" href="@titleHref">@Model.Title</a>
</div>
</div>
<div class="p-2 border-top border-bottom border-secondary">
@switch (Model.Type)
{
case CaseworkType.SigChange:
<partial name="Shared/_SigChangeGridItem" model="@Model" />
break;
case CaseworkType.Conversion:
<partial name="Shared/_ConversionGridItem" model="@Model" />
break;
case CaseworkType.Transfer:
<partial name="Shared/_TransferGridItem" model="@Model" />
break;
default:
break;
}
</div>
<div class="p-2">
@switch (Model.Type)
{
case CaseworkType.SigChange:
<div class="fw-bold fs-5">
<div class="p-1 d-inline-flex px-2 py-1 border border-1 bg-transparent text-dark fw-normal">
<a target="_blank" href="https://educationgovuk.sharepoint.com/:w:/r/sites/lvewp00030/_layouts/15/Doc.aspx?sourcedoc=%7B5c117a81-2afb-40c7-b822-cd7ce711bb1c%7D&amp=&action=embedview&wdStartOn=47">Provision Change Guidance</a>
</div>
</div>
break;
case CaseworkType.Conversion:
<partial name="Shared/_ConversionGridItemBottomLinks" model="@Model" />
break;
case CaseworkType.Transfer:
<div class="fw-bold fs-5">
<div class="p-1 d-inline-flex px-2 py-1 border border-1 bg-transparent text-dark fw-normal">
<a target="_blank" href="https://educationgovuk.sharepoint.com/:p:/r/sites/lvewp00030/Shared%20Documents/2-Intervention/5-Academy%20Transfer/Academy%20Transfer%20Framework.pptx?d=w4c9547340e554d36b0560c3256799405&csf=1&web=1&e=rySmYR&nav=eyJzSWQiOjI2NiwiY0lkIjozMTkyNTE5ODI4fQ">Academy transfer Framework</a>
</div>
<div class="p-1 d-inline-flex px-2 py-1 border border-1 bg-transparent text-dark fw-normal">
<a target="_blank" href="https://app.powerbi.com/groups/me/reports/8ed3ef41-e67a-4408-b79a-80b66ee8b8f0/ReportSection3c95e742c03ea595e378?ctid=fad277c9-c60a-4da1-b5f3-b3b8b34a82f9&experience=power-bi">Trust Mapping Tool</a>
</div>
</div>

break;
default:
break;
}
</div>
</div>
Loading