public override ValidationRuleResult Validate(T instance)
        {
            var monthlyOrders = _orderRepository.GetOrdersForCustomerForMonth(CustomerId(instance), OrderDateTime(instance)).ToList();

            if (ValidatingRequestAction != null)
            {
                Validating(monthlyOrders);
            }
            var monthlyTotal = monthlyOrders.Sum(s => s.SubTotal);

            if (!FreeShipping(instance) || (FreeShipping(instance) && monthlyTotal >= (decimal)100.00))
            {
                return(ValidationRuleResult.ValidationPassedResult());
            }

            ValidIf(o => FreeShipping(instance) && monthlyTotal >= (decimal)100.00);

            return(new ValidationRuleResult
            {
                IsValid = false,
                ValidationResults = ValidationResultHelper.NewResult("Free shipping not valid.")
            });
        }
Beispiel #2
0
 public ValidationRuleResult Validate(T instance) => ValidationRuleResult.ValidationPassedResult();