56 lines
1.7 KiB
C#
56 lines
1.7 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 MRBAll {
|
|
[Inject] IMRBService mrbService { 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<MRB> allMrbs = new List<MRB>();
|
|
|
|
protected override async Task OnParametersSetAsync() {
|
|
inProcess = true;
|
|
try {
|
|
cache.Set("redirectUrl", "mrb/all");
|
|
|
|
if (mrbService is null) {
|
|
throw new Exception("MRB service not injected!");
|
|
} else {
|
|
allMrbs = await mrbService.GetAllMRBs(false);
|
|
}
|
|
} catch (Exception ex) {
|
|
snackbar.Add(ex.Message, Severity.Error);
|
|
}
|
|
inProcess = false;
|
|
}
|
|
|
|
private bool FilterFuncForTable(MRB mrb) => FilterFunc(mrb, searchString);
|
|
|
|
private bool FilterFunc(MRB mrb, string searchString) {
|
|
if (string.IsNullOrWhiteSpace(searchString))
|
|
return true;
|
|
if (mrb.Title.ToLower().Contains(searchString.Trim().ToLower()))
|
|
return true;
|
|
if (mrb.OriginatorName.ToLower().Contains(searchString.Trim().ToLower()))
|
|
return true;
|
|
if (mrb.MRBNumber.ToString().Contains(searchString.Trim()))
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
private void GoTo(string page) {
|
|
cache.Set("redirectUrl", page);
|
|
navigationManager.NavigateTo(page);
|
|
}
|
|
}
|