25 lines
900 B
C#
25 lines
900 B
C#
using Hutopy.Application.Common.Interfaces;
|
|
|
|
namespace Hutopy.Application.Stripe.Commands;
|
|
public record ConfirmStripeTransactionCommand : IRequest<string>
|
|
{
|
|
public required Guid UserTransactionId { get; init; }
|
|
public required bool IsConfirmed { get; init; }
|
|
}
|
|
|
|
public class ConfirmStripeTransactionCommandHandler(
|
|
IApplicationDbContext dbContext
|
|
)
|
|
: IRequestHandler<ConfirmStripeTransactionCommand, string>
|
|
{
|
|
public async Task<string> Handle(ConfirmStripeTransactionCommand request, CancellationToken cancellationToken)
|
|
{
|
|
var transaction = await dbContext.UserTransactions.FirstOrDefaultAsync(x => x.Id == request.UserTransactionId, cancellationToken);
|
|
if (transaction is null) return "";
|
|
transaction.IsConfirmed = request.IsConfirmed;
|
|
dbContext.UserTransactions.Update(transaction);
|
|
|
|
return transaction.Id.ToString();
|
|
}
|
|
}
|