Beispiel #1
0
        public void SaveBath_Order()
        {
            var orderRepository = LocalServiceLocator.GetService <IYmtOrderRepository>();

            //var orderList = new HashSet<Ymt_OrderLine>();
            for (var i = 0; i < 50000; i++)
            {
                //1.
                var order = new YmtOrder(Guid.NewGuid().ToString(), "ok", 20M);

                order.SetAddress(new ReceiptAddress {
                    City = "A", Street = "B", Zip = "CCC"
                });
                //2.
                //这里是DTO映射到实体
                //var order = orderDto.MapTo<OrderDto, Ymt_Order>();

                //3.
                //这里是实体验证(实体需要继承 IValidatableObject 接口),主意:如果不显示执行xx.Validatory 方法,程序会自动隐式执行实体验证
                var val = order.Validator();
                Assert.AreEqual(true, val.Success, val.Message);
                //验证的原始写法
                //var entityValidator = EntityValidatorFactory.CreateValidator();
                //Assert.AreEqual(false, entityValidator.IsValid(order));

                //3.
                //
                orderRepository.Add(order);
            }
            //4
            var result = orderRepository.Context.Commit();

            Assert.AreEqual(true, result.Success);
            Assert.AreEqual(3, result.ResultData);
        }
Beispiel #2
0
        public void OneToOne_Order()
        {
            var order = new YmtOrder(Guid.NewGuid().ToString("N"), "TT", 55.78M);

            Assert.AreEqual(true, order.Validator().ResultData.Success);
            //1:1
            order.SetAddress(new ReceiptAddress {
                City = "A", Street = "C", Zip = "D"
            });
            var orderRepository = LocalServiceLocator.GetService <IYmtOrderRepository>();

            orderRepository.Add(order);
            var x = orderRepository.Context.Commit();

            Assert.AreEqual(1, x.ResultData);
        }