using Wallet.Data; using Microsoft.EntityFrameworkCore; using Toolkit.Foundation; namespace Wallet; public class UpdateItemStateHandler(IDbContextFactory dbContextFactory) : IHandler, bool> { public async Task Handle(UpdateEventArgs<(Guid, int)> args, CancellationToken cancellationToken) { if (args.Sender is (Guid id, int state)) { using WalletContext context = await dbContextFactory.CreateDbContextAsync(cancellationToken); if (await context.FindAsync(id) is ItemEntry result) { result.State = state; await context.SaveChangesAsync(cancellationToken); } } return false; } }