Example #1
0
 public ProductCommandHandlers(
     IUnitOfWork uow,
     IProductRepository repository,
     IProductPolicy policy,
     IPriceTypeRepository priceTypeRepository)
 {
     _uow                 = uow;
     _repository          = repository;
     _policy              = policy;
     _priceTypeRepository = priceTypeRepository;
 }
 public ProductAppService(IRepository <MyPassword.Core.Product.Product> productRepository,
                          IProductPolicy policy,
                          IRepository <TenantFeatureSetting, long> tenantFeatureRepository,
                          IAbpZeroFeatureValueStore abpZeroFeatureValueStore,
                          AbpEditionManager abpEditionManager)
 {
     _abpEditionManager       = abpEditionManager;
     _tenantFeatureRepository = tenantFeatureRepository;
     _productRepository       = productRepository;
     _policy = policy;
     _abpZeroFeatureValueStore = abpZeroFeatureValueStore;
 }
Example #3
0
        public static Result <Product> New(Title title, IProductPolicy policy)
        {
            if (title == null)
            {
                throw new ArgumentNullException(nameof(title));
            }
            if (policy == null)
            {
                throw new ArgumentNullException(nameof(policy));
            }

            var product = new Product(title);

            if (!policy.IsUnique(product))
            {
                return(Fail <Product>("Product Title Should Be Unique"));
            }

            product.RaiseDomainEvent(new ProductCreated(product));

            return(Ok(product));
        }
Example #4
0
 public void DeNumber(int num, IProductPolicy policy)
 {
     policy.CheckDeNumber(this, num);
     this.Number = num;
 }
Example #5
0
 public void UpdateNumber(int number, IProductPolicy policy)
 {
     policy.CheckNumber(number);
     this.Number = number;
 }
Example #6
0
 public void UpdatePrice(decimal price, IProductPolicy policy)
 {
     policy.CheckPrice(price);
     this.Price = price;
 }
Example #7
0
 public ProductAppService(IRepository <MyPassword.Core.Product.Product> productRepository, IProductPolicy policy)
 {
     _productRepository = productRepository;
     _policy            = policy;
 }