コード例 #1
0
        public static StockSnapshot Create(string productId, int availableStock, Guid stockActionId, DateTime lastStockActionDate, IStockSnapshotUniqueChecker stockSnapshotUniqueChecker, CancellationToken cancellationToken)
        {
            if (!stockSnapshotUniqueChecker.CheckAsync(productId, cancellationToken).ConfigureAwait(false).GetAwaiter().GetResult())
            {
                throw new StockSnapshotAlreadyExistException(productId);
            }

            StockSnapshot             stockSnapshot        = new StockSnapshot(productId, availableStock, stockActionId, lastStockActionDate);
            StockSnapshotCreatedEvent snapshotCreatedEvent = new StockSnapshotCreatedEvent(stockSnapshot);

            stockSnapshot.AddDomainEvent(snapshotCreatedEvent);
            return(stockSnapshot);
        }
コード例 #2
0
 public StockInitializedEvent_CreateStockSnapshot(IStockSnapshotUniqueChecker snapshotUniqueChecker, IStockDbContext stockDbContext)
 {
     _snapshotUniqueChecker = snapshotUniqueChecker;
     _stockDbContext        = stockDbContext;
 }