| 12345678910111213141516171819202122232425262728293031323334 |
- using Application.Abstractions.Messaging;
- using Application.Abstractions.Data;
- using SharedKernel.Results;
- using Microsoft.EntityFrameworkCore;
- namespace Application.Features.Admin.Member.List.Approve;
- public sealed class GetHandler(IAppDbContext db) : IQueryHandler<Query, Result<Response>>
- {
- public async Task<Result<Response>> Handle(Query request, CancellationToken ct)
- {
- var member = await db.Member.AsNoTracking().Include(x => x.MemberApprove).FirstOrDefaultAsync(x => x.ID == request.MemberID, ct);
- if (member is null)
- {
- return Result.Failure<Response>(Error.NotFound("Member.NotFound", "회원을 찾을 수 없습니다."));
- }
- var approve = member.MemberApprove;
- return Result.Success(new Response
- {
- MemberID = member.ID,
- IsReceiveSMS = approve.IsReceiveSMS,
- ReceiveSMSConsentAt = approve.ReceiveSMSConsentAt,
- IsReceiveEmail = approve.IsReceiveEmail,
- ReceiveEmailConsentAt = approve.ReceiveEmailConsentAt,
- IsReceiveNote = approve.IsReceiveNote,
- ReceiveNoteConsentAt = approve.ReceiveNoteConsentAt,
- IsDisclosureInvest = approve.IsDisclosureInvest,
- DisclosureInvestConsentAt = approve.DisclosureInvestConsentAt
- });
- }
- }
|