using Brizco.Domain.Entities.ShiftPlans; using Brizco.Domain.Entities.Tasks; namespace Brizco.Core.EntityServices.Handlers.Activities; public class DoneActivityCommandHandler(IRepositoryWrapper repositoryWrapper) : IRequestHandler { public async Task Handle(DoneActivityCommand 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.DoneActivity(); repositoryWrapper.SetRepository() .Update(activity); await repositoryWrapper.SaveChangesAsync(cancellationToken); return true; } }