Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
bd55560
Adds initial Dashboard index page
tom-karasch Apr 6, 2026
f7bdd32
Redirects authenticated users to the Dashboard page
tom-karasch Apr 7, 2026
e87e0a2
Removes unused HSI menu partial
tom-karasch Apr 21, 2026
7430eb4
Adds UserProgram entity and refines Site Summary display logic
tom-karasch May 15, 2026
3ba2212
Adds structured Dashboard UI and user program settings
tom-karasch May 20, 2026
5e224a4
Adds dashboard reporting fields to EventType and standardizes map sea…
tom-karasch May 26, 2026
b8c8cf0
Add UserPosition entity and refactor UserProgram to use it
tom-karasch May 26, 2026
734e3db
Add standalone UserProgram entity and rename user relationship entity
tom-karasch May 26, 2026
ef32b18
Enable maintenance UI for UserProgram and UserPosition entities
tom-karasch May 27, 2026
bd7b619
Enable maintenance UI for UserProgram and UserPosition entities
tom-karasch May 28, 2026
ab356ba
Implement description field for UserProgram and UserPosition entities
tom-karasch May 29, 2026
012e035
Add to Userview
tom-karasch Jun 1, 2026
98e411b
EF Migration for User
tom-karasch Jun 1, 2026
cf1d78b
Add User Dropdowns
tom-karasch Jun 2, 2026
177ac93
Unify user designation editing to use IDs and a single dedicated page
tom-karasch Jun 2, 2026
a20a69f
Refine user ID validation and exception messages
tom-karasch Jun 2, 2026
b6c5426
Streamline Dashboard accordions and fetch user roles
tom-karasch Jun 5, 2026
55965e1
Add initial Dashboard DTOs and repository for facility views
tom-karasch Jun 8, 2026
660df73
Add UserProgram association to Organizational Units and refine dashbo…
tom-karasch Jun 9, 2026
06c4b52
Populate dashboard facility views with detailed user and unit data
tom-karasch Jun 10, 2026
374190b
Refine DomainConstants class and development publish profile
tom-karasch Jun 18, 2026
753bcc6
Enhance dashboard with role-based facility and event views
tom-karasch Jul 6, 2026
2b98c69
Refine dashboard event display, organization, and management
tom-karasch Jul 7, 2026
80541d5
Refactor dashboard organizational unit collection
tom-karasch Jul 7, 2026
602c79f
Refine dashboard unit handling and update login page branding
tom-karasch Jul 7, 2026
44c09c7
Integrate Bootstrap accordions for dashboard unit events
tom-karasch Jul 7, 2026
552df6f
Improve dashboard accordion unit display
tom-karasch Jul 8, 2026
61ba420
Remove 'Add'l Org Unit' column from dashboard event tables
tom-karasch Jul 8, 2026
9a98b40
Integrate Bootstrap accordions for dashboard facility lists
tom-karasch Jul 8, 2026
5bd9e6c
Refine dashboard heading structure and update content
tom-karasch Jul 8, 2026
dd3d47e
Remove unused IAuthorizationService from Dashboard IndexModel
tom-karasch Jul 8, 2026
f742923
Update PM2 Dashboard
tom-karasch Jul 14, 2026
b39907b
- Add `FacilityName` property to dashboard event DTOs and display it …
tom-karasch Jul 14, 2026
d339065
Use C# 9 empty array literal for list initializations in dashboard model
tom-karasch Jul 14, 2026
986d9cd
Enhance dashboard event and facility views with fiscal year context a…
tom-karasch Jul 18, 2026
dc671d2
Add Organizational Unit to dashboard event views
tom-karasch Jul 21, 2026
1f7f938
Refine dashboard event fiscal year filtering
tom-karasch Jul 21, 2026
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
8 changes: 2 additions & 6 deletions FMS.Domain/DomainConstants.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace FMS.Domain
namespace FMS.Domain
{
public class DomainConstants
public static class DomainConstants
{
public const string SiteSummaryReportPath = "/Reporting/SiteSummary/Report/";

Expand Down
65 changes: 65 additions & 0 deletions FMS.Domain/Dto/Dashboard/DashboardProgramEventsDto.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
using FMS.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Text;

namespace FMS.Domain.Dto
{
public class DashboardProgramEventsDto
{
public DashboardProgramEventsDto() { }

public DashboardProgramEventsDto(Event facilityEvent)
{
Id = facilityEvent.Id;
FacilityId = facilityEvent.FacilityId;
FacilityNumber = facilityEvent.Facility.FacilityNumber;
FacilityName = facilityEvent.Facility.Name;
EventType = facilityEvent.EventType;
ActionTaken = facilityEvent.ActionTaken;
StartDate = facilityEvent.StartDate;
DueDate = facilityEvent.DueDate;
CompletionDate = facilityEvent.CompletionDate;
ComplianceOfficer = facilityEvent.ComplianceOfficer;
Unit = facilityEvent.Facility.OrganizationalUnit;
Comment = facilityEvent.Comment?.Substring(0, Math.Min(facilityEvent.Comment.Length, 100));
Active = facilityEvent.Active;
}

public Guid Id { get; set; }

public Guid FacilityId { get; set; }

[Display(Name = "Facility Number")]
public string FacilityNumber { get; }

[Display(Name = "Facility Name")]
public string FacilityName { get; set; }

[Display(Name = "Event Type")]
public EventType EventType { get; }

[Display(Name = "Action Taken")]
public ActionTaken ActionTaken { get; set; }

[Display(Name = "Start Date")]
public DateOnly? StartDate { get; set; }

[Display(Name = "Due Date")]
public DateOnly? DueDate { get; set; }

[Display(Name = "Completion Date")]
public DateOnly? CompletionDate { get; set; }

[Display(Name = "Compliance Officer")]
public ComplianceOfficer ComplianceOfficer { get; set; }

[Display(Name = "Unit")]
public OrganizationalUnit Unit { get; set; }

[Display(Name = "Comment")]
public string Comment { get; set; }

public bool Active { get; set; }
}
}
47 changes: 47 additions & 0 deletions FMS.Domain/Dto/Dashboard/DashboardProgramFacilitiesDto.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
using FMS.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Text;

namespace FMS.Domain.Dto
{
public class DashboardProgramFacilitiesDto
{
public DashboardProgramFacilitiesDto(Facility facility)
{
Id = facility.Id;
Name = facility.Name;
FacilityNumber = facility.FacilityNumber;
OrganizationalUnit = facility.OrganizationalUnit;
ComplianceOfficer = facility.ComplianceOfficer;
County = facility.County;
LocationClass = facility.LocationDetails?.LocationClass;
AddlOrgUnit = facility.HsrpFacilityProperties?.OrganizationalUnit;
Active = facility.Active;
}
public Guid Id { get; set; }

[Display(Name = "Facility Number")]
public string FacilityNumber { get; }

[Display(Name = "Facility Name")]
public string Name { get; }

[Display(Name = "Organizational Unit")]
public OrganizationalUnit OrganizationalUnit { get; set; }

[Display(Name = "Compliance Officer")]
public ComplianceOfficer ComplianceOfficer { get; set; }

[Display(Name = "County")]
public County County { get; set; }

[Display(Name = "Location Class")]
public LocationClass LocationClass { get; set; }

[Display(Name = "Add'l Org Unit")]
public OrganizationalUnit AddlOrgUnit { get; set; }

public bool Active { get; set; }
}
}
61 changes: 61 additions & 0 deletions FMS.Domain/Dto/Dashboard/DashboardUnitEventsDto.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
using FMS.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Text;

namespace FMS.Domain.Dto
{
public class DashboardUnitEventsDto
{
public DashboardUnitEventsDto() { }

public DashboardUnitEventsDto(Event facilityEvent)
{
Id = facilityEvent.Id;
FacilityId = facilityEvent.FacilityId;
FacilityNumber = facilityEvent.Facility?.FacilityNumber;
FacilityName = facilityEvent.Facility?.Name;
EventType = facilityEvent.EventType;
ActionTaken = facilityEvent.ActionTaken;
StartDate = facilityEvent.StartDate;
DueDate = facilityEvent.DueDate;
CompletionDate = facilityEvent.CompletionDate;
ComplianceOfficer = facilityEvent.ComplianceOfficer;
Comment = facilityEvent.Comment?.Substring(0, Math.Min(facilityEvent.Comment.Length, 100));
Active = facilityEvent.Active;
}

public Guid Id { get; set; }

public Guid FacilityId { get; set; }

[Display(Name = "Facility Number")]
public string FacilityNumber { get; }

[Display(Name = "Facility Name")]
public string FacilityName { get; set; }

[Display(Name = "Event Type")]
public EventType EventType { get; }

[Display(Name = "Action Taken")]
public ActionTaken ActionTaken { get; set; }

[Display(Name = "Start Date")]
public DateOnly? StartDate { get; set; }

[Display(Name = "Due Date")]
public DateOnly? DueDate { get; set; }

[Display(Name = "Completion Date")]
public DateOnly? CompletionDate { get; set; }

[Display(Name = "Compliance Officer")]
public ComplianceOfficer ComplianceOfficer { get; set; }

[Display(Name = "Comment")]
public string Comment { get; set; }

public bool Active { get; set; }
}
}
47 changes: 47 additions & 0 deletions FMS.Domain/Dto/Dashboard/DashboardUnitFacilitiesDto.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
using FMS.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Text;

namespace FMS.Domain.Dto
{
public class DashboardUnitFacilitiesDto
{
public DashboardUnitFacilitiesDto(Facility facility)
{
Id = facility.Id;
Name = facility.Name;
FacilityNumber = facility.FacilityNumber;
OrganizationalUnit = facility.OrganizationalUnit;
ComplianceOfficer = facility.ComplianceOfficer;
County = facility.County;
LocationClass = facility.LocationDetails?.LocationClass;
AddlOrgUnit = facility.HsrpFacilityProperties?.OrganizationalUnit;
Active = facility.Active;
}
public Guid Id { get; set; }

[Display(Name = "Facility Number")]
public string FacilityNumber { get; }

[Display(Name = "Facility Name")]
public string Name { get; }

[Display(Name = "Organizational Unit")]
public OrganizationalUnit OrganizationalUnit { get; set; }

[Display(Name = "Compliance Officer")]
public ComplianceOfficer ComplianceOfficer { get; set; }

[Display(Name = "County")]
public County County { get; set; }

[Display(Name = "Location Class")]
public LocationClass LocationClass { get; set; }

[Display(Name = "Add'l Org Unit")]
public OrganizationalUnit AddlOrgUnit { get; set; }

public bool Active { get; set; }
}
}
62 changes: 62 additions & 0 deletions FMS.Domain/Dto/Dashboard/DashboardUserEventsDto.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
using FMS.Domain.Entities;

namespace FMS.Domain.Dto
{
public class DashboardUserEventsDto
{
public DashboardUserEventsDto() { }

public DashboardUserEventsDto(Event facilityEvent)
{
Id = facilityEvent.Id;
FacilityId = facilityEvent.FacilityId;
FacilityNumber = facilityEvent.Facility.FacilityNumber;
FacilityName = facilityEvent.Facility.Name;
EventType = facilityEvent.EventType;
ActionTaken = facilityEvent.ActionTaken;
StartDate = facilityEvent.StartDate;
DueDate = facilityEvent.DueDate;
CompletionDate = facilityEvent.CompletionDate;
ComplianceOfficer = facilityEvent.ComplianceOfficer;
OrganizationalUnit = facilityEvent.Facility.OrganizationalUnit;
Comment = facilityEvent.Comment?.Substring(0, Math.Min(facilityEvent.Comment.Length, 100));
Active = facilityEvent.Active;
}

public Guid Id { get; set; }

public Guid FacilityId { get; set; }

[Display(Name = "Facility Number")]
public string FacilityNumber { get; }

[Display(Name = "Facility Name")]
public string FacilityName { get; set; }

[Display(Name = "Event Type")]
public EventType EventType { get; }

[Display(Name = "Action Taken")]
public ActionTaken ActionTaken { get; set; }

[Display(Name = "Start Date")]
public DateOnly? StartDate { get; set; }

[Display(Name = "Due Date")]
public DateOnly? DueDate { get; set; }

[Display(Name = "Completion Date")]
public DateOnly? CompletionDate { get; set; }

[Display(Name = "Compliance Officer")]
public ComplianceOfficer ComplianceOfficer { get; set; }

[Display(Name = "Organizational Unit")]
public OrganizationalUnit OrganizationalUnit { get; set; }

[Display(Name = "Comment")]
public string Comment { get; set; }

public bool Active { get; set; }
}
}
47 changes: 47 additions & 0 deletions FMS.Domain/Dto/Dashboard/DashboardUserFacilitiesDto.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
using FMS.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Text;

namespace FMS.Domain.Dto
{
public class DashboardUserFacilitiesDto
{
public DashboardUserFacilitiesDto(Facility facility)
{
Id = facility.Id;
Name = facility.Name;
FacilityNumber = facility.FacilityNumber;
OrganizationalUnit = facility.OrganizationalUnit;
ComplianceOfficer = facility.ComplianceOfficer;
County = facility.County;
LocationClass = facility.LocationDetails?.LocationClass;
AddlOrgUnit = facility.HsrpFacilityProperties?.OrganizationalUnit;
Active = facility.Active;
}

public Guid Id { get; set; }

[Display(Name = "Facility Number")]
public string FacilityNumber { get; }

[Display(Name = "Facility Name")]
public string Name { get; }

[Display(Name = "Organizational Unit")]
public OrganizationalUnit OrganizationalUnit { get; set; }

[Display(Name = "Compliance Officer")]
public ComplianceOfficer ComplianceOfficer { get; set; }

[Display(Name = "County")]
public County County { get; set; }

[Display(Name = "Location Class")]
public LocationClass LocationClass { get; set; }

[Display(Name = "Add'l Org Unit")]
public OrganizationalUnit AddlOrgUnit { get; set; }
public bool Active { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
namespace FMS.Domain.Dto
using FMS.Domain.Entities;

namespace FMS.Domain.Dto
{
public class OrganizationalUnitCreateDto
{
[Required(ErrorMessage = "Organizational Unit Name is required.")]
[Display(Name = "Organizational Unit")]
public string Name { get; set; }

[Display(Name = "Program")]
public UserProgram UserProgram { get; set; }

public void TrimAll()
{
Name = Name?.Trim();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ public OrganizationalUnitEditDto(OrganizationalUnit organizationalUnit)
{
Active = organizationalUnit.Active;
Name = organizationalUnit.Name;
UserProgram = organizationalUnit.UserProgram;
}

public bool Active { get; set; }
Expand All @@ -21,6 +22,9 @@ public OrganizationalUnitEditDto(OrganizationalUnit organizationalUnit)
[Display(Name = "Organizational Unit")]
public string Name { get; set; }

[Display(Name = "Program")]
public UserProgram UserProgram { get; set; }

public void TrimAll()
{
Name = Name?.Trim();
Expand Down
Loading
Loading