예제 #1
0
        public void Apply(WarehouseItemQuantitySubstracted @event)
        {
            Id = @event.WarehouseId;
            WarehouseItem warehouseItem = Items.FirstOrDefault(item => item.ProductId == @event.ProductId);

            warehouseItem.Quantity -= @event.Quantity;
        }
예제 #2
0
        public void SubstractItemQuantity(int productNumber, int quantity)
        {
            var @event = new WarehouseItemQuantitySubstracted
            {
                WarehouseId = Id,
                ProductId   = productNumber,
                Quantity    = quantity
            };

            Apply(@event);
            Append(@event);
        }
        public void Handle(WarehouseItemQuantitySubstracted message)
        {
            if (!IsItemExist(message.WarehouseId, message.ProductId))
            {
                return;
            }

            WarehouseItemReadView warehouseItem = GetItem(message.WarehouseId, message.ProductId);

            warehouseItem.Quantity -= message.Quantity;

            db.SaveChanges();
        }