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

21 lines
872 B
C#

using Brizco.Domain.Entities.Tasks;
namespace Brizco.Core.EntityServices.Handlers.Activities;
public class UnDoneActivityCommandHandler(IRepositoryWrapper repositoryWrapper) : IRequestHandler<UnDoneActivityCommand, bool>
{
public async Task<bool> Handle(UnDoneActivityCommand request, CancellationToken cancellationToken)
{
var activity = await repositoryWrapper.SetRepository<Activity>()
.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<Activity>()
.Update(activity);
await repositoryWrapper.SaveChangesAsync(cancellationToken);
return true;
}
}