Handler.cs 710 B

12345678910111213141516171819202122
  1. using Application.Abstractions.Data;
  2. using Application.Abstractions.Messaging;
  3. using Microsoft.EntityFrameworkCore;
  4. namespace Application.Features.Api.Crew.UpdateMember;
  5. internal sealed class Handler(IAppDbContext db) : ICommandHandler<Command>
  6. {
  7. public async Task Handle(Command request, CancellationToken ct)
  8. {
  9. var member = await db.CrewMember
  10. .FirstOrDefaultAsync(m => m.ID == request.CrewMemberID, ct);
  11. if (member is null)
  12. {
  13. throw new KeyNotFoundException("크루원을 찾을 수 없습니다.");
  14. }
  15. member.Update(request.Nickname, request.Role, request.SortOrder, request.IsActive);
  16. await db.SaveChangesAsync(ct);
  17. }
  18. }