public (bool isValid, IEnumerable <ValidationResult> errors) Validate()
        {
            var validator = new OrderValidation();
            var result    = validator.Validate(this);

            if (result.IsValid)
            {
                return(true, null);
            }
            return(false, result.Errors.Select(item => new ValidationResult(item.ErrorMessage, new[] { item.PropertyName })));
        }
Example #2
0
        public bool PlaceOrder(Order orderToBePlaced)
        {
            var result = _orderValidator.Validate(orderToBePlaced);

            if (!result.IsValid)
            {
                return(false);
            }

            //process the order...

            _orderRepository.Save(orderToBePlaced);

            return(true);
        }
Example #3
0
        public void AllRules_RuleFreeShippingIfOverOneHundredDollars_CustomerHas75DollarsTotal_Valid()
        {
            //Arrange
            var order = new Order
            {
                CustomerId         = 2,
                OrderDateTime      = DateTime.Today,
                FreeShipping       = false,
                ConfirmationNumber = new Guid().ToString()
            };
            //Act
            var res = _orderValidation.Validate(order);

            //Assert
            Assert.IsTrue(res.IsValid);
        }