public async Task <bool> Handle(RollbackDecreaseFromStockCommand request, CancellationToken cancellationToken) { IStockActionRepository stockActionRepository = _stockDbContext.StockActionRepository; StockAction stockAction = await stockActionRepository.GetByCorrelationIdAsync(request.CorrelationId, cancellationToken); AddToStockCommand addToStockCommand = new AddToStockCommand(stockAction.ProductId, stockAction.Count, $"{stockAction.CorrelationId}-rollback"); await _domainMessageBroker.SendAsync(addToStockCommand, cancellationToken); return(true); }
public async Task <bool> CheckAsync(string correlationId, CancellationToken cancellationToken) { IStockActionRepository stockActionRepository = _stockDbContext.StockActionRepository; bool unique = false; try { await stockActionRepository.GetByCorrelationIdAsync(correlationId, cancellationToken); } catch (StockActionNotFoundException) { unique = true; } return(unique); }