using DigitalData.Core.Abstraction.Application.Repository; using DigitalData.Core.Exceptions; using MediatR; using Microsoft.EntityFrameworkCore; using ReC.Domain.Entities; namespace ReC.Application.RecActions.Commands; public class DeleteRecActionsCommand : IRequest { public required long ProfileId { get; init; } } public class DeleteRecActionsCommandHandler(IRepository repo) : IRequestHandler { public async Task Handle(DeleteRecActionsCommand request, CancellationToken cancel) { // TODO: update DeleteAsync (in Core) to return number of deleted records if (!await repo.Where(act => act.ProfileId == request.ProfileId).AnyAsync(cancel)) throw new NotFoundException(); await repo.DeleteAsync(act => act.ProfileId == request.ProfileId, cancel); } }