/// <summary> /// 验证是否有订单信息 /// </summary> /// <param name="soSysNo"></param> private void ValidateSOInfo(SOInfo soInfo, int soSysNo) { if (soInfo == null || soInfo.Items == null || soInfo.Items.Count == 0) { string errorMessage = string.Format(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-OrderNoExists"), soSysNo); throw new BizException(errorMessage); } if (soInfo.BaseInfo.SOType.HasValue) { if (!soInfo.BaseInfo.Status.HasValue || soInfo.BaseInfo.Status.Value != SOStatus.OutStock) { throw new BizException(ResouceManager.GetMessageString("RMA.Refund", "Refund_SOInfoSatatusNoOutStock")); } if (soInfo.BaseInfo.SOType == SOType.ElectronicCard) { throw new BizException(ResouceManager.GetMessageString("RMA.Refund", "Refund_ElectronicCardNoLogistics")); } else if (soInfo.BaseInfo.SOType == SOType.PhysicalCard) { List <GiftCardInfo> cards = ExternalDomainBroker.GetGiftCardInfoBySOSysNo(soInfo.SysNo.Value, GiftCardType.Standard); if (cards == null || cards.Count == 0) { throw new BizException(ResouceManager.GetMessageString("RMA.Refund", "Refund_CardsException")); } } } foreach (var item in soInfo.Items) { if (item.ProductType.Value == SOProductType.ExtendWarranty) { foreach (var item1 in soInfo.Items) { if (item1.ProductType.Value == SOProductType.Product && item1.ProductSysNo.ToString() == item.MasterProductSysNo) { item.StockSysNo = item1.StockSysNo; break; } } } } }