public bool Validate(OrderInfo order, out string errorMsg) { bool pass = true; //先检查订单上的配送地址 if (order.Contact.AddressAreaID <= 0) { errorMsg = "请先保存收货人信息!"; return(false); } List <ShipTypeInfo> allShipTypeList = PipelineDA.GetAllShippingTypeList(); //先检查主单 pass = InnerValidate(order, allShipTypeList, true, out errorMsg); if (!pass) { return(pass); } //检查拆分后的子单 if (order.SubOrderList != null && order.SubOrderList.Count > 0) { OrderInfo subOrder = null; foreach (var kvs in order.SubOrderList) { subOrder = kvs.Value; pass = InnerValidate(subOrder, allShipTypeList, false, out errorMsg); if (!pass) { return(pass); } } } //因配送区域删除,所以去掉对商品配送区域的判断 //errorMsg = CheckShippingType(order); if (!string.IsNullOrWhiteSpace(errorMsg)) { return(false); } errorMsg = null; return(true); }