using Microsoft.AspNetCore.Components; using Schaad.Accounting.Interfaces; using Schaad.Accounting.Models; namespace Schaad.Accounting.UI.Components.Pages; public partial class BankTransactions : ComponentBase { [Inject] private IBankTransactionRepository bankTransactionRepository { get; set; } = null!; private IReadOnlyList source = []; private string filter = ""; private IQueryable Filtered => string.IsNullOrWhiteSpace(filter) ? source.AsQueryable() : source.AsQueryable().Where(t => (t.Text != null && t.Text.Contains(filter, StringComparison.OrdinalIgnoreCase)) || (t.Debtor != null && t.Debtor.Contains(filter, StringComparison.OrdinalIgnoreCase)) || (t.Creditor != null && t.Creditor.Contains(filter, StringComparison.OrdinalIgnoreCase)) || t.Value.ToString().Contains(filter)); protected override async Task OnInitializedAsync() { source = await bankTransactionRepository.GetBankTransactionListAsync(); await base.OnInitializedAsync(); } }