22 lines
874 B
C#
22 lines
874 B
C#
|
|
using CMSMicroservice.Domain.Events;
|
||
|
|
namespace CMSMicroservice.Application.UserOrderCQ.Commands.CreateNewUserOrder;
|
||
|
|
public class CreateNewUserOrderCommandHandler : IRequestHandler<CreateNewUserOrderCommand, CreateNewUserOrderResponseDto>
|
||
|
|
{
|
||
|
|
private readonly IApplicationDbContext _context;
|
||
|
|
|
||
|
|
public CreateNewUserOrderCommandHandler(IApplicationDbContext context)
|
||
|
|
{
|
||
|
|
_context = context;
|
||
|
|
}
|
||
|
|
|
||
|
|
public async Task<CreateNewUserOrderResponseDto> Handle(CreateNewUserOrderCommand request,
|
||
|
|
CancellationToken cancellationToken)
|
||
|
|
{
|
||
|
|
var entity = request.Adapt<UserOrder>();
|
||
|
|
await _context.UserOrders.AddAsync(entity, cancellationToken);
|
||
|
|
entity.AddDomainEvent(new CreateNewUserOrderEvent(entity));
|
||
|
|
await _context.SaveChangesAsync(cancellationToken);
|
||
|
|
return entity.Adapt<CreateNewUserOrderResponseDto>();
|
||
|
|
}
|
||
|
|
}
|