Example #1
0
 public static bool RegisterScopeIsValid(this OrderItem item, Product product)
 {
     return IsSatisfiedBy
     (
         AssertIsGreaterThan(item.Price, 0, "Preço inválido"),
         AssertNotNull(item.ProductId, "Produto inválido"),
         AssertIsGreaterThan(item.Quantity, 0, "Quantidade inválida")
     );
 }
        public Product Register(Product product)
        {
            product.RegisterIsValid();

            _productRepository.Register(product);

            Commit();

            return product;
        }
Example #3
0
 public static bool AddProductScopeIsValid(this OrderItem item, Product product, int quantity, decimal price)
 {
     return
         IsSatisfiedBy(
             AssertNotNull(product, "O produto é obrigatório")
         ) && IsSatisfiedBy(
         AssertIsGreaterThan(quantity, 0, $"A quantidade do produto {product.Description} deve ser maior que zero."),
         AssertIsGreaterThan(price, 0, $"O preço do produto {product.Description} deve ser maior que zero."),
         AssertIsGreaterOrEqualThan((product.QuantityOnHand - quantity), 0, "Produto fora de estoque: " + product.Description)
         );
 }
Example #4
0
 public StockMovement(Product product, int amount, decimal price, string userId, MovementType movementType)
 {
     Id = Guid.NewGuid().ToString();
     Price = price;
     UserId = userId;
     Amount = amount;
     Product = product;
     Date = DateTime.Now;
     Status = MovementStatus.Created;
     TypeOfMovement = movementType;
 }
Example #5
0
        public void AddProduct(Product product, int quantity, decimal price)
        {
            if (!this.AddProductScopeIsValid(product, quantity, price))
                return;

            Price = price;
            Quantity = quantity;
            Product = product;
            ProductId = product.Id;

            Product.UpdateQuantityOnHand(Product.QuantityOnHand - quantity);
        }
 public void Register(Product product)
 {
     _context.Products.Add(product);
 }