@using Groceries.Data @using Microsoft.EntityFrameworkCore @inject IDbContextFactory DbContextFactory
@*@CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol*@
@ChildContent
@code { [Parameter] public required Transaction Transaction { get; set; } [Parameter] public TransactionPromotion? Promotion { get; set; } [Parameter] public RenderFragment? ChildContent { get; set; } [Parameter(CaptureUnmatchedValues = true)] public Dictionary? AdditionalAttributes { get; set; } private Guid[] selectedItemIds = []; private Dictionary itemNames = new(); protected override async Task OnParametersSetAsync() { selectedItemIds = Promotion?.Items.Select(item => item.Id).ToArray() ?? []; using var dbContext = DbContextFactory.CreateDbContext(); 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)); } }