diff --git a/src/CMSMicroservice.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs b/src/CMSMicroservice.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs index 3289faf..a9188be 100644 --- a/src/CMSMicroservice.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs +++ b/src/CMSMicroservice.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs @@ -12,6 +12,9 @@ public class CreateNewUserOrderCommandHandler : IRequestHandler Handle(CreateNewUserOrderCommand request, CancellationToken cancellationToken) { + if (await _context.UserOrders.AnyAsync(x => x.UserId == request.UserId && x.PackageId == request.PackageId, cancellationToken: cancellationToken)) + throw new Exception(message: "duplicate order!!"); + var entity = request.Adapt(); await _context.UserOrders.AddAsync(entity, cancellationToken); entity.AddDomainEvent(new CreateNewUserOrderEvent(entity));