65 lines
2.1 KiB
C#
65 lines
2.1 KiB
C#
using MesaFabApproval.Client.Services;
|
|
using MesaFabApproval.Shared.Models;
|
|
|
|
using Microsoft.AspNetCore.Components;
|
|
using Microsoft.Extensions.Caching.Memory;
|
|
|
|
using MudBlazor;
|
|
|
|
namespace MesaFabApproval.Client.Pages;
|
|
|
|
public partial class PCRBAll {
|
|
[Inject] IPCRBService pcrbService { get; set; }
|
|
[Inject] ISnackbar snackbar { get; set; }
|
|
[Inject] IMemoryCache cache { get; set; }
|
|
[Inject] NavigationManager navigationManager { get; set; }
|
|
|
|
private bool inProcess = false;
|
|
private string searchString = "";
|
|
private IEnumerable<PCRB> allPCRBs = new List<PCRB>();
|
|
|
|
protected override async Task OnParametersSetAsync() {
|
|
inProcess = true;
|
|
try {
|
|
cache.Set("redirectUrl", "pcrb/all");
|
|
|
|
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.Type.ToLower().Contains(searchString.Trim().ToLower()))
|
|
return true;
|
|
if (GetStageName(pcrb.CurrentStep).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];
|
|
}
|
|
}
|