Api/Brizco.Core/EntityServices/Handlers/Activities/CompleteActivitiesCommandHa...

23 lines
971 B
C#

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