/// <summary>
        ///异步验证
        /// </summary>
        public static async Task DoValidationAsync(IOrderDetailRespository orderDetailRespository, OrderDetail orderDetail, string validatorType)
        {
            var orderDetailValidator = new OrderDetailValidator(orderDetailRespository);
            var validatorReresult    = await orderDetailValidator.DoValidateAsync(orderDetail, validatorType);

            if (!validatorReresult.IsValid)
            {
                throw new DomainException(validatorReresult);
            }
        }
        /// <summary>
        ///异步验证
        /// </summary>
        private async Task DoValidationAsync(OrderDetail OrderDetail, string validatorType)
        {
            var OrderDetailValidator = new OrderDetailValidator();
            var validatorReresult    = await OrderDetailValidator.DoValidateAsync(OrderDetail, validatorType);

            if (!validatorReresult.IsValid)
            {
                throw new DomainException(validatorReresult);
            }
        }
        public (bool isValid, IEnumerable <ValidationResult> errors) Validate()
        {
            var validator = new OrderDetailValidator();
            var result    = validator.Validate(this);

            if (result.IsValid)
            {
                return(true, null);
            }

            return(false, result.Errors.Select(item => new ValidationResult(item.ErrorMessage, new [] { item.PropertyName })));
        }
Exemple #4
0
        public void Setup()
        {
            _mockOrderDetailDal = new Mock <IOrderDetailDal>();
            _mockOrderDetails   = new List <OrderDetail>
            {
                new OrderDetail {
                    Id = 1, OrderId = It.IsAny <int>(), ProductId = It.IsAny <int>(), Count = It.IsAny <int>(), SalePrice = It.IsAny <decimal>(), CreateDate = DateTime.Now, Active = true
                },
                new OrderDetail {
                    Id = 2, OrderId = It.IsAny <int>(), ProductId = It.IsAny <int>(), Count = It.IsAny <int>(), SalePrice = It.IsAny <decimal>(), CreateDate = DateTime.Now, Active = true
                }
            };
            _mockOrderDetailDal.Setup(m => m.GetAll(null)).Returns(_mockOrderDetails);

            _validator = new OrderDetailValidator();
        }
        /// <summary>
        ///异步验证
        /// </summary>
        public static async Task DoValidationAsync(IOrderDetailRespository orderDetailRespository, IEnumerable <OrderDetail> orderDetails, string validatorType)
        {
            var orderDetailValidator = new OrderDetailValidator(orderDetailRespository);
            var domainException      = new DomainException();

            foreach (var orderDetail in orderDetails)
            {
                var validatorReresult = await orderDetailValidator.DoValidateAsync(orderDetail, validatorType);

                if (!validatorReresult.IsValid)
                {
                    domainException.AddErrors(validatorReresult);
                }
            }

            if (domainException.ValidationErrors.ErrorItems.Any())
            {
                throw domainException;
            }
        }
        /// <summary>
        ///异步验证
        /// </summary>
        private async Task DoValidationAsync(IEnumerable <OrderDetail> OrderDetails, string validatorType)
        {
            var OrderDetailValidator = new OrderDetailValidator();
            var domainException      = new DomainException();

            foreach (var OrderDetail in OrderDetails)
            {
                var validatorReresult = await OrderDetailValidator.DoValidateAsync(OrderDetail, validatorType);

                if (!validatorReresult.IsValid)
                {
                    domainException.AddErrors(validatorReresult);
                }
            }

            if (domainException.ValidationErrors.ErrorItems.Any())
            {
                throw domainException;
            }
        }