public ProductComponent(ProductStorage storage) { if (storage == null) { throw new ArgumentNullException(nameof(storage)); } _productId = Guid.NewGuid(); State = new NewProductState(_productId, this, storage); }
public DeletedProductState(Guid productId, ProductComponent product, ProductStorage storage) : base(productId, product, storage) { }
public ProductComponent(Guid productId, ProductStorage storage) { _productId = productId; State = new ValidProductState(_productId, this, storage); }
protected ProductState(Guid productId, ProductComponent product, ProductStorage storage) { _productId = productId; _storage = storage ?? throw new ArgumentNullException(nameof(storage)); _product = product ?? throw new ArgumentNullException(nameof(product)); }