public AddToStockCommandHandler(IStockActionUniqueChecker stockActionUniqueChecker, IStockDbContext stockDbContext)
 {
     _stockActionUniqueChecker = stockActionUniqueChecker;
     _stockDbContext           = stockDbContext;
 }
示例#2
0
        public static StockAction Create(string productId, StockActionTypes stockActionType, int count, string correlationId, IStockActionUniqueChecker stockActionUniqueChecker, CancellationToken cancellationToken = default)
        {
            if (string.IsNullOrEmpty(correlationId))
            {
                throw new CorrelationIdEmptyException();
            }

            if (!stockActionUniqueChecker.CheckAsync(correlationId, cancellationToken).ConfigureAwait(false).GetAwaiter().GetResult())
            {
                throw new StockActionAlreadyExistException(correlationId, stockActionType);
            }

            StockAction             stockAction             = new StockAction(productId, stockActionType, count, correlationId);
            StockActionCreatedEvent stockActionCreatedEvent = StockActionCreatedEvent.Create(stockAction);

            stockAction.AddDomainEvent(stockActionCreatedEvent);
            return(stockAction);
        }
示例#3
0
 public InitializeStockCommandHandler(IStockDbContext stockDbContext, IStockActionUniqueChecker stockActionUniqueChecker)
 {
     _stockDbContext           = stockDbContext;
     _stockActionUniqueChecker = stockActionUniqueChecker;
 }
示例#4
0
 public RemoveFromStockCommandHandler(IStockActionUniqueChecker stockActionUniqueChecker, IStockDbContext stockDbContext)
 {
     _stockActionUniqueChecker = stockActionUniqueChecker;
     _stockDbContext           = stockDbContext;
 }