From 08438cc920c03aba21daa41af96fcebe89d1fad6 Mon Sep 17 00:00:00 2001 From: Bryan Jonker Date: Fri, 7 Aug 2026 13:10:22 -0500 Subject: [PATCH] Adding ability to filter by rubric --- .../DataHelpers/CourseImportHelper.cs | 4 ++-- .../Components/Pages/Audit/CourseImportLog.razor | 8 ++++++++ .../Components/Pages/Audit/CourseImportLog.razor.cs | 9 ++++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ProgramInformationV2.Data/DataHelpers/CourseImportHelper.cs b/ProgramInformationV2.Data/DataHelpers/CourseImportHelper.cs index a775090..85e040b 100644 --- a/ProgramInformationV2.Data/DataHelpers/CourseImportHelper.cs +++ b/ProgramInformationV2.Data/DataHelpers/CourseImportHelper.cs @@ -14,9 +14,9 @@ public class CourseImportHelper(ProgramRepository programRepository) { return await _programRepository.ReadAsync(pr => pr.CourseImportEntries.OrderBy(c => c.LastUpdated).FirstOrDefault(c => c.DateImported == null)); } - public async Task> GetLog(string sourceCode) { + public async Task> GetLog(string sourceCode, string rubric) { var sourceId = _programRepository.Read(c => c.Sources.FirstOrDefault(s => s.Code == sourceCode))?.Id ?? 0; - return await _programRepository.ReadAsync(pr => pr.CourseImportEntries.Where(c => c.SourceId == sourceId).OrderBy(c => c.Rubric).ThenBy(c => c.CourseNumber)); + return await _programRepository.ReadAsync(pr => pr.CourseImportEntries.Where(c => c.SourceId == sourceId && (rubric == "" || c.Rubric == rubric)).OrderBy(c => c.Rubric).ThenBy(c => c.CourseNumber).ThenByDescending(c => c.DateImported)); } public async Task LoadComplete(string rubric, string courseNumber, string urlPattern, bool importTitleAndDescriptionOnly, bool includeSections, string sourceCode, string log) { diff --git a/ProgramInformationV2/Components/Pages/Audit/CourseImportLog.razor b/ProgramInformationV2/Components/Pages/Audit/CourseImportLog.razor index 29a4587..52baa79 100644 --- a/ProgramInformationV2/Components/Pages/Audit/CourseImportLog.razor +++ b/ProgramInformationV2/Components/Pages/Audit/CourseImportLog.razor @@ -6,6 +6,14 @@

Course Import Logs

+
+ + +
+ + + + @if (LastItemImported != null) {

Last Import on @LastItemImported.Value.ToString("g")

diff --git a/ProgramInformationV2/Components/Pages/Audit/CourseImportLog.razor.cs b/ProgramInformationV2/Components/Pages/Audit/CourseImportLog.razor.cs index dc8f0f1..d51aed7 100644 --- a/ProgramInformationV2/Components/Pages/Audit/CourseImportLog.razor.cs +++ b/ProgramInformationV2/Components/Pages/Audit/CourseImportLog.razor.cs @@ -19,12 +19,19 @@ public partial class CourseImportLog { public IEnumerable LogItems { get; set; } = []; public int NumberItemsPending { get; set; } + public string Rubric { get; set; } = ""; + protected override async Task OnInitializedAsync() { await base.OnInitializedAsync(); Layout.SetSidebar(SidebarEnum.Audit, "Audit"); - LogItems = await CourseImportHelper.GetLog(await Layout.CheckSource()); LastItemImported = await CourseImportHelper.GetLastItemUpdated(); NumberItemsPending = await CourseImportHelper.NumberItemsPending(); + _ = await Search(); + } + + public async Task Search() { + LogItems = await CourseImportHelper.GetLog(await Layout.CheckSource(), Rubric); + return true; } } } \ No newline at end of file