using MediatR;
using TakeoutSaaS.Application.App.Tenants.Commands;
using TakeoutSaaS.Domain.Tenants.Repositories;
namespace TakeoutSaaS.Application.App.Tenants.Handlers;
///
/// 删除公告处理器。
///
public sealed class DeleteTenantAnnouncementCommandHandler(ITenantAnnouncementRepository announcementRepository)
: IRequestHandler
{
///
/// 处理删除公告请求。
///
/// 删除命令。
/// 取消标记。
/// 执行结果。
public async Task Handle(DeleteTenantAnnouncementCommand request, CancellationToken cancellationToken)
{
// 1. 删除公告
await announcementRepository.DeleteAsync(request.TenantId, request.AnnouncementId, cancellationToken);
await announcementRepository.SaveChangesAsync(cancellationToken);
// 2. 返回执行结果
return true;
}
}