Files
yes.blog/Yes.Application/Admins/Articles/DeleteArticleCommandHandler.cs
2025-04-30 09:51:36 +08:00

25 lines
799 B
C#

namespace Yes.Application.Admins.Articles
{
public record DeleteArticleCommand(int Id) : IRequest<DeleteArticleCommandResponse>;
public record DeleteArticleCommandResponse(int Id);
public class DeleteArticleCommandHandler(BlogDbContext db) : IRequestHandler<DeleteArticleCommand, DeleteArticleCommandResponse>
{
private readonly BlogDbContext _db = db;
public async Task<DeleteArticleCommandResponse> Handle(DeleteArticleCommand request, CancellationToken cancellationToken)
{
var article = await _db.Articles.FindAsync(request.Id);
if (article != null)
{
article.Delete();
_db.Articles.Update(article);
await _db.SaveChangesAsync();
}
return new DeleteArticleCommandResponse(request.Id);
}
}
}