@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];
}
}