using Microsoft.EntityFrameworkCore; using Toolkit.Foundation; using Wallet.Data; namespace Wallet; public class DeleteItemHandler(IDbContextFactory dbContextFactory) : IHandler>, bool> { public async Task Handle(DeleteEventArgs> args, CancellationToken cancellationToken) { if (args.Sender is Item item) { Guid id = item.Value; using WalletContext context = await dbContextFactory.CreateDbContextAsync(cancellationToken); if (await context.FindAsync(id) is ItemEntry result) { context.Items.Remove(result); await context.SaveChangesAsync(cancellationToken); } } return false; } }