@using Groceries.Data @using Microsoft.EntityFrameworkCore @layout Layout @inject IDbContextFactory DbContextFactory Groceries – New Transaction

New Transaction

@Transaction.CreatedAt.ToShortDateString() @Transaction.CreatedAt.ToLongTimeString() – @store
@itemNames.GetValueOrDefault(item.ItemId)
Qty Edit
Subtotal @Transaction.Items.Sum(item => item.Amount).ToString("c")
Back
@code { private string store = string.Empty; private Dictionary itemNames = new(); [Parameter] public required Transaction Transaction { get; set; } protected override async Task OnParametersSetAsync() { using var dbContext = DbContextFactory.CreateDbContext(); store = await dbContext.Stores .Where(store => store.Id == Transaction.StoreId) .Select(store => string.Concat(store.Retailer!.Name, " ", store.Name)) .SingleAsync(); var itemIds = Transaction.Items.Select(item => item.ItemId); itemNames = await dbContext.Items .Where(item => itemIds.Contains(item.Id)) .ToDictionaryAsync(item => item.Id, item => string.Concat(item.Brand, " ", item.Name)); } }