using Brizco.Domain.Entities.Tasks; namespace Brizco.Core.EntityServices.Handlers.Activities; public class CompleteActivitiesCommandHandler(IRepositoryWrapper repositoryWrapper) : IRequestHandler { public async Task Handle(CompleteActivitiesCommand request, CancellationToken cancellationToken) { foreach (var activityRequestDto in request.Dtos) { var activity = await repositoryWrapper.SetRepository().TableNoTracking .FirstOrDefaultAsync(a => a.Id == activityRequestDto.ActivityId, cancellationToken); if (activity == null) continue; activity.CompleteActivity(activityRequestDto.IsCompleted, activityRequestDto.PerformanceDescription); repositoryWrapper.SetRepository().Update(activity); await repositoryWrapper.SaveChangesAsync(cancellationToken); } return true; } }