Add sender dependency to UpdateUserCartsCommandHandler and handle empty cart case
This commit is contained in:
@@ -1,16 +1,23 @@
|
||||
using CMSMicroservice.Application.UserCartsCQ.Commands.DeleteUserCarts;
|
||||
using CMSMicroservice.Domain.Events;
|
||||
namespace CMSMicroservice.Application.UserCartsCQ.Commands.UpdateUserCarts;
|
||||
public class UpdateUserCartsCommandHandler : IRequestHandler<UpdateUserCartsCommand, Unit>
|
||||
{
|
||||
private readonly IApplicationDbContext _context;
|
||||
private readonly ISender _sender;
|
||||
|
||||
public UpdateUserCartsCommandHandler(IApplicationDbContext context)
|
||||
public UpdateUserCartsCommandHandler(IApplicationDbContext context, ISender sender)
|
||||
{
|
||||
_context = context;
|
||||
_sender = sender;
|
||||
}
|
||||
|
||||
public async Task<Unit> Handle(UpdateUserCartsCommand request, CancellationToken cancellationToken)
|
||||
{
|
||||
if (request.Count<=0)
|
||||
{
|
||||
await _sender.Send(request.Adapt<DeleteUserCartsCommand>(), cancellationToken);
|
||||
}
|
||||
var entity = await _context.UserCartss
|
||||
.FirstOrDefaultAsync(x => x.Id == request.Id, cancellationToken) ?? throw new NotFoundException(nameof(UserCarts), request.Id);
|
||||
request.Adapt(entity);
|
||||
|
||||
Reference in New Issue
Block a user