diff --git a/src/CMSMicroservice.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs b/src/CMSMicroservice.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs index a9188be..28a839c 100644 --- a/src/CMSMicroservice.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs +++ b/src/CMSMicroservice.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs @@ -15,7 +15,11 @@ public class CreateNewUserOrderCommandHandler : IRequestHandler x.UserId == request.UserId && x.PackageId == request.PackageId, cancellationToken: cancellationToken)) throw new Exception(message: "duplicate order!!"); + var package = await _context.Packages + .FirstOrDefaultAsync(x => x.Id == request.PackageId, cancellationToken) ?? throw new NotFoundException(nameof(Package), request.PackageId); + var entity = request.Adapt(); + entity.Price = package.Price; await _context.UserOrders.AddAsync(entity, cancellationToken); entity.AddDomainEvent(new CreateNewUserOrderEvent(entity)); await _context.SaveChangesAsync(cancellationToken);