Files
2026-09-20 16:21:15 +07:00

25 lines
791 B
C#

using MediatR;
using mws.backend.dotnet.application.Audit;
using mws.backend.dotnet.application.Common;
namespace mws.backend.dotnet.application.Tasks;
public record DeleteTaskCommand(Guid UserId, Guid TaskId) : IRequest, IAuditableRequest
{
public string Action => "Task.Delete";
public string EntityType => "Task";
public Guid? EntityId => TaskId;
}
public class DeleteTaskHandler(IUnitOfWork uow, IAuditContext auditContext) : IRequestHandler<DeleteTaskCommand>
{
public async Task Handle(DeleteTaskCommand command, CancellationToken ct)
{
var task = await TaskAccess.GetTaskForUserAsync(uow, command.UserId, command.TaskId, ct);
uow.Tasks.Remove(task);
await uow.SaveChangesAsync(ct);
auditContext.EntityName = task.Title;
}
}