23 lines
971 B
C#
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;
|
|
}
|
|
} |