@page "/pcrb/all" @using System.Globalization @inject IPCRBService pcrbService @inject ISnackbar snackbar @inject IMemoryCache cache @inject NavigationManager navigationManager PCRB PCRB List @if (allPCRBs is not null && allPCRBs.Count() > 0) { Change# Title Owner Stage Submitted Date Last Updated Closed Date @context.PlanNumber @context.Title @context.OwnerName @(GetStageName(context.CurrentStep)) @DateTimeUtilities.GetDateAsStringMinDefault(context.InsertTimeStamp) @DateTimeUtilities.GetDateAsStringMinDefault(context.LastUpdateDate) @DateTimeUtilities.GetDateAsStringMaxDefault(context.ClosedDate) } @code { private bool inProcess = false; private string searchString = ""; private IEnumerable allPCRBs = new List(); protected override async Task OnParametersSetAsync() { inProcess = true; try { if (pcrbService is null) { throw new Exception("PCRB service not injected!"); } else { allPCRBs = await pcrbService.GetAllPCRBs(false); } } catch (Exception ex) { snackbar.Add(ex.Message, Severity.Error); } inProcess = false; } private bool FilterFuncForTable(PCRB pcrb) => FilterFunc(pcrb, searchString); private bool FilterFunc(PCRB pcrb, string searchString) { if (string.IsNullOrWhiteSpace(searchString)) return true; if (pcrb.Title.ToLower().Contains(searchString.Trim().ToLower())) return true; if (pcrb.OwnerName.ToLower().Contains(searchString.Trim().ToLower())) return true; if (pcrb.PlanNumber.ToString().Contains(searchString.Trim())) return true; return false; } private void GoTo(string page) { cache.Set("redirectUrl", page); navigationManager.NavigateTo(page); } private string GetStageName(int step) { if (step >= PCRB.Stages.Length || step < 0) return ""; return PCRB.Stages[step]; } }