using Application.Abstractions.Messaging; using Application.Abstractions.Data; using Microsoft.EntityFrameworkCore; namespace Application.Features.Popup.Update; public sealed class Handler(IAppDbContext db) : ICommandHandler { public async Task Handle(Command request, CancellationToken ct) { if (request.StartAt > request.EndAt) { throw new Exception("ÆË¾÷ÀÇ Á¾·áÀÏÀº ½ÃÀÛÀϺ¸´Ù ÀÌÀüÀÏ ¼ö ¾ø½À´Ï´Ù."); } var popup = await db.Popup.FirstOrDefaultAsync(x => x.ID == request.ID, ct); if (popup is null) { throw new Exception("ÆË¾÷À» ãÀ» ¼ö ¾ø½À´Ï´Ù."); } popup.Update( request.Subject, request.Content, request.Link, request.StartAt, request.EndAt, request.Order, request.IsActive ); await db.SaveChangesAsync(ct); } }