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