Handler.cs 801 B

12345678910111213141516171819202122232425262728
  1. using Application.Abstractions.Data;
  2. using Application.Abstractions.Messaging;
  3. using Microsoft.EntityFrameworkCore;
  4. namespace Application.Features.Admin.Channel.List.Update;
  5. public sealed class Handler(IAppDbContext db) : ICommandHandler<Command>
  6. {
  7. public async Task Handle(Command request, CancellationToken ct)
  8. {
  9. var channel = await db.Channel.FirstOrDefaultAsync(c => c.ID == request.ID, ct);
  10. if (channel is null)
  11. {
  12. throw new Exception("채널을 찾을 수 없습니다.");
  13. }
  14. channel.Update(
  15. request.Name,
  16. request.Handle,
  17. request.YouTubeUrl,
  18. request.PlatformFeeRate,
  19. request.IsVerified,
  20. request.IsActive
  21. );
  22. await db.SaveChangesAsync(ct);
  23. }
  24. }