| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using Application.Abstractions.Data;
- using Application.Abstractions.Messaging;
- using Microsoft.EntityFrameworkCore;
- namespace Application.Features.Admin.Payment.Danal.Cancel.Get;
- public sealed class Handler(IAppDbContext db) : IQueryHandler<Query, Response>
- {
- public async Task<Response> Handle(Query request, CancellationToken ct)
- {
- var cancel = await db.DanalCancel.AsNoTracking()
- .Include(x => x.Member)
- .FirstOrDefaultAsync(x => x.ID == request.ID, ct)
- ?? throw new InvalidOperationException("다날 취소 내역을 찾을 수 없습니다.");
- return new Response
- {
- ID = cancel.ID,
- MemberID = cancel.MemberID,
- MemberEmail = cancel.Member?.Email ?? string.Empty,
- MemberName = cancel.Member?.Name,
- Method = cancel.Method,
- CancelType = cancel.CancelType,
- TransactionID = cancel.TransactionID,
- OrderID = cancel.OrderID,
- Amount = cancel.Amount,
- MerchantID = cancel.MerchantID,
- CancelRequester = cancel.CancelRequester,
- CancelReason = cancel.CancelReason,
- ResponseCode = cancel.ResponseCode,
- ResponseMessage = cancel.ResponseMessage,
- OriginalTransactionID = cancel.OriginalTransactionID,
- CancelledAmount = cancel.CancelledAmount,
- TransDate = cancel.TransDate,
- TransTime = cancel.TransTime,
- Balance = cancel.Balance,
- RemainedAmount = cancel.RemainedAmount,
- ApprovalDateTime = cancel.ApprovalDateTime,
- CreatedAt = cancel.CreatedAt,
- UpdatedAt = cancel.UpdatedAt
- };
- }
- }
|