@using Groceries.Data @layout Layout @inject AppDbContext DbContext Groceries – Transactions

Transactions

New transaction
@* View *@
@code { private record TransactionModel { public Guid Id { get; init; } public DateTime CreatedAt { get; init; } public required string Store { get; init; } public decimal TotalAmount { get; init; } public int TotalItems { get; init; } } private IQueryable transactions = null!; private PaginationState pagination = new(); protected override void OnParametersSet() { transactions = DbContext.Transactions .Join( DbContext.TransactionTotals, transaction => transaction.Id, transactionTotal => transactionTotal.TransactionId, (transaction, transactionTotal) => new TransactionModel { Id = transaction.Id, CreatedAt = transaction.CreatedAt, Store = string.Concat(transaction.Store!.Retailer!.Name, " ", transaction.Store.Name), TotalAmount = transactionTotal.Total, TotalItems = transaction.Items.Sum(item => item.Quantity), }) .OrderByDescending(transaction => transaction.CreatedAt); } }