using Brizco.Domain.Entities.Tasks; namespace Brizco.Core.EntityServices.Handlers.Activities; public class UnDoneActivityCommandHandler(IRepositoryWrapper repositoryWrapper) : IRequestHandler { public async Task Handle(UnDoneActivityCommand request, CancellationToken cancellationToken) { var activity = await repositoryWrapper.SetRepository() .TableNoTracking .FirstOrDefaultAsync(a => a.Id == request.Id, cancellationToken); if (activity == null) throw new AppException("Activity not found ", ApiResultStatusCode.NotFound); activity.UnDoneActivity(request.UndoneReason); repositoryWrapper.SetRepository() .Update(activity); await repositoryWrapper.SaveChangesAsync(cancellationToken); return true; } }