/// <summary> /// 根据主订单Id获取芒果商城的订单实体及其子订单明细的实体 /// </summary> /// <param name="pOid">主订单Id</param> /// <returns>若成功则返回CWmsMallOrder实体;否则返回null</returns> static public CWmsMallOrder GetCWmsMallOrder(string pOid) { try { string errMsg = string.Empty; CWmsMallOrder outObj = null; // get mango order, TODO: 传入了错误的TCWmsOrderCategory类型? 固定传入了出库单类型 MangoMallOrder mangoOrder = MangoFactory.GetMangoOrder(TCWmsOrderCategory.EExwarehouseOrder, pOid) as MangoMallOrder; if (null == mangoOrder) { C_WMS.Data.Utility.MyLog.Instance.Warning("在{0}中,根据单据ID[{0}]获取商城主订单实体及其子订单明细失败", System.Reflection.MethodBase.GetCurrentMethod().Name, pOid); return(outObj); } // 创建CWmsExWarehouseOrder实例及其子出库订单实例列表 outObj = new CWmsMallOrder(); (outObj.MangoOrder as MangoMallOrder).CopyFrom(mangoOrder); outObj.Owner.CopyFrom(new Wms.Data.WmsOwner(Mango.MisModelPWI.CWmsMisSystemParamCache.Cache.GetDefaultOwner().Code, Mango.MisModelPWI.CWmsMisSystemParamCache.Cache.GetDefaultOwner().Name)); // 对于商城下的订单,货主一定是蓝江智家 outObj.CancelReason = (outObj.MangoOrder as MangoMallOrder).BeiZhu; outObj.WmsOrder.SetWmsStockoutOrderType((TMangoOrderType)(outObj.MangoOrder as MangoMallOrder).DingDanType.Int()); // TODO: 目前阶段不需要处理子订单 return(outObj); } catch (Exception ex) { C_WMS.Data.Utility.MyLog.Instance.Error(ex, "在{0}中,根据单据ID[{0}]获取商城主订单实体及其子订单明细发生异常", System.Reflection.MethodBase.GetCurrentMethod().Name, pOid); return(null); } }
/// <summary> /// return the sub-delivery order of pOrder, or null if failed. /// </summary> /// <param name="pOrder">object of sub-stockout order.</param> /// <returns></returns> public IMangoOrderBase GetSubDeliveryOrder(MangoSubStockoutOrder pOrder) { if (null == pOrder) { C_WMS.Data.Utility.MyLog.Instance.Warning("MangoSubStockoutOrderHandler.GetSubDeliveryOrder(), invalid null param."); return(null); } try { string errMsg = string.Empty; MangoSubDeliveryOrder retOrder = null; List <MangoSubDeliveryOrder> sdList = null; int err = MangoFactory.GetV_Order(NewFilter_GetDeliveryOrder(pOrder), out sdList, out errMsg); if (1 == err) { retOrder = sdList[0]; } else { C_WMS.Data.Utility.MyLog.Instance.Warning("MangoSubStockoutOrderHandler.GetSubDeliveryOrder({0}), failed in retrieving sub-delivery order. err={1}, errMsg={2}", pOrder, err, errMsg); } if (null != sdList) { sdList.Clear(); } return(retOrder); } catch (Exception ex) { C_WMS.Data.Utility.MyLog.Instance.Warning(ex, "Exception in MangoSubStockoutOrderHandler.GetSubDeliveryOrder({0})", pOrder); return(null); } }
/// <summary> /// 更新单据pMangoOrder在Dict709中对应的行的isUpdateOk和isDel. 当pAddOnNotFound为true时,如果Dict709中没有对应的行则插入新行;当pAddOnNotFound为false时,如果Dict709中没有对应的行则操作失败. /// 该方法返回WCF的执行结果或TError值 /// </summary> /// <param name="pOrder">待更新的Mis实体对应的单据对象</param> /// <param name="pIsUpdateOk">Dict709.IsUpdateOK字段</param> /// <param name="pIsDel">Dict709.IsDel字段</param> /// <param name="pAddOnNotFound">当pAddOnNotFound为true时,如果Dict709中没有对应的行则插入新行;当pAddOnNotFound为false时,如果Dict709中没有对应的行则操作失败.</param> /// <returns></returns> virtual public int UpdateDict709(CWmsOrderBase <TOrderType, TMangoType, TWmsType, TSubOrderType, THandlerType> pOrder, TDict285_Values pIsUpdateOk, TDict285_Values pIsDel, bool pAddOnNotFound) { if (null != AreArray) { Array.Clear(AreArray, 0, AreArray.Length); } AreArray = pOrder.SubOrders.Select(x => new AutoResetEvent(false)).ToArray(); var args = new object[] { 0, // 0st pAddOnNotFound, // 1st new DefDlgt_RunWCF <Product_WMS_Interface>(DlgtFunc_RunWCF <Product_WMS_Interface>), // 2nd MangoFactory.GetV_PwiList(pOrder.MapClassId, pOrder.Id, pOrder.SubOrders.Keys), // 3rd pOrder.Id, // 4th pIsUpdateOk, // 5th pIsDel // 6th }; var dlgt = args[2] as DefDlgt_RunWCF <Product_WMS_Interface>;// (DlgtFunc_RunWCF<Product_WMS_Interface>); dlgt.BeginInvoke((pAddOnNotFound) ? TWCFOperation.EUpdateA : TWCFOperation.EUpdate, args, Acb_RunWCF, args); WaitHandle.WaitAll(AreArray); return(-1); }
/// <summary> /// 获取与pOrder关联的商城主订单Id /// </summary> public IMangoOrderBase GetMallOrder(MangoSubStockoutOrder pOrder) { if (null == pOrder) { C_WMS.Data.Utility.MyLog.Instance.Warning("MangoSubStockoutOrderHandler.GetMallOrder(), invalid null param."); return(null); } try { var subOrder = GetSubMallOrder(pOrder); if (null == subOrder as MangoSubMallOrder) { C_WMS.Data.Utility.MyLog.Instance.Warning("MangoSubStockoutOrderHandler.GetMallOrder({0}), COULDNOT retrieve sub-delivery order.", pOrder); return(null); } else { var misEntity = MangoFactory.NewOrder <Product_User_DingDan>((subOrder as MangoSubMallOrder).DingDanID.ToString()); return((null == misEntity) ? null : new MangoMallOrder(misEntity)); } } catch (Exception ex) { C_WMS.Data.Utility.MyLog.Instance.Warning(ex, "Exception in MangoSubStockoutOrderHandler.GetMallOrder({0})", pOrder); return(null); } }
static public int GetV_Order <TOrderType, TMangoOrderType, THandler>(List <CommonFilterModel> pFilters, out IEnumerable <TOrderType> pOutList, out string pErrMsg) where TOrderType : class, new() { int err = TError.WCF_RunError.Int(); List <TMangoOrderType> orderList = null; try { if (0 >= (err = MangoFactory.GetV_Order(pFilters, out orderList, out pErrMsg)) || null == orderList) { pOutList = null; pErrMsg = string.Format("CWmsDataFactory.GetV_Order<{0}, {1}, {2}>列表失败, err={3}, orderList={4}, errMsg={5}", typeof(TOrderType), typeof(TMangoOrderType), typeof(THandler), err, orderList, pErrMsg); C_WMS.Data.Utility.MyLog.Instance.Warning(pErrMsg); return(err); } else { MethodInfo methodInfo = typeof(THandler).GetMethod("NewOrder", BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static); pOutList = orderList.Select(order => methodInfo.Invoke(null, new object[] { (order as IMangoOrderBase)?.GetId() }) as TOrderType); err = Enumerable.Count(pOutList); pErrMsg = (0 < err) ? string.Empty : string.Format(""); return(err); } } catch (Exception ex) { if (null != orderList) { orderList.Clear(); } pOutList = null; pErrMsg = string.Format("CWmsDataFactory.GetV_Order<{0}, {1}, {2}>发生异常,FilterDebug={3}", typeof(TOrderType), typeof(TMangoOrderType), typeof(THandler), Utility.CWmsDataUtility.GetDebugInfo_MisFilter(pFilters)); Data.Utility.MyLog.Instance.Error(ex, pErrMsg); return(TError.Post_NoChange.Int()); } }
/// <summary> /// Constructo by envaluate warehouse id /// </summary> /// <param name="wid"></param> public MangoWarehouse(string wid) { var tmp = MangoFactory.GetWarehouse(wid); if (null != tmp) { WarehouseId = tmp.WarehouseId; WarehouseName = tmp.WarehouseName; CompanyTypeId = tmp.CompanyTypeId; } else { C_WMS.Data.Utility.MyLog.Instance.Warning("MangoWarehouse._ctor({0}), failed in retrieving entity of Product_Warehouse", wid); } }
/// <summary> /// 根据过滤器获取商品,并返回成功获取的商品数量。若操作失败则返回TError.WCFRunnError /// static public int GetProductList(List[CommonFilterModel], ref List[CWmsProduct], out string pMsg) /// </summary> /// <param name="pList">返回成功获取的商品List,若操作失败则返回Count为0的列表实体</param> /// <param name="pFilters">过滤条件</param> /// <param name="pMsg">返回错我描述</param> /// <returns>返回成功获取的商品数量。若操作失败则返回TError.WCFRunnError</returns> static public int GetV_Product(List <CommonFilterModel> pFilters, ref List <CWmsProduct> pList, out string pMsg) { int err = TError.WCF_RunError.Int(); try { if (null == pList) { pList = new List <CWmsProduct>(10); } else { pList.Clear(); } List <MangoProduct> mangoList = null; if (null != (mangoList = MangoFactory.GetV_Product(pFilters, out pMsg)) && 0 < mangoList.Count) { pList.AddRange(mangoList.Select(x => new CWmsProduct(x)).ToList()); err = pList.Count; } else { err = TError.Pro_HaveNoData.Int(); pMsg = string.Format("CWmsDataFactory.GetV_Product(), 查询返回空(mangoList={0})或商品数量为0, err={1}, \r\nFilterDebug={2}", mangoList, err, Utility.CWmsDataUtility.GetDebugInfo_MisFilter(pFilters)); C_WMS.Data.Utility.MyLog.Instance.Warning(pMsg); } } catch (Exception ex) { if (null != pList) { pList.Clear(); } pMsg = ex.Message; err = TError.WCF_RunError.Int(); Data.Utility.MyLog.Instance.Warning(ex, "在{0}中发生异常", System.Reflection.MethodBase.GetCurrentMethod().Name); } return(err); }
/// <summary> /// 根据主退货订单ID获取主退货订单及其所有子订单的实例 /// </summary> /// <param name="pOrderId">芒果商城主退货订单ID</param> /// <returns>CWmsReturnOrder实体,若失败则返回null</returns> static public CWmsReturnOrder GetCWmsReturnOrder(string pOrderId) { var ret = new ThirdResult <List <object> >(string.Format("根据主退货订单{0}获取主退货订单及其所有子订单的实例, 开始", pOrderId)); string errMsg = string.Empty; CWmsReturnOrder retObj = null; MangoReturnOrder mangoOrder = null; List <MangoSubReturnOrder> tmpList = new List <MangoSubReturnOrder>(1);; // 缓存子退货订单实体列表 #region validate parameters if (string.IsNullOrEmpty(pOrderId)) { ret.Append(string.Format("根据主退货订单{0}获取主退货订单及其所有子订单的实例失败, 非法入参", pOrderId)); ret.End(); return(retObj); } #endregion try { #region Handle MangoOrder #region 获取主退货订单 MangoReturnOrder if (null == (mangoOrder = MangoFactory.GetMangoOrder(TCWmsOrderCategory.EReturnOrder, pOrderId) as MangoReturnOrder)) { ret.Append(string.Format("根据主退货订单{0}获取主退货订单及其所有子订单的实例失败, 获取主退货订单失败", pOrderId)); ret.End(); return(retObj); } #endregion #region 获取子退货订单列表 List<MangoSubReturnOrder> errMsg = MangoFactory.GetVSubReturnOrders(pOrderId, out tmpList); ret.Append(string.Format("tmplist.count={0}", tmpList.Count)); ret.Append(string.Format("errMsg={0}", errMsg)); if (!string.IsNullOrEmpty(errMsg) || null == tmpList || 0 >= tmpList.Count) { ret.Append(string.Format("1根据主退货订单{0}获取主退货订单及其所有子订单的实例失败, 获取子退货订单失败, message={1}", pOrderId, errMsg)); ret.End(); return(retObj); } #endregion #endregion // Handle MangoOrder #region 创建CWmsReturnOrder实例及其子出库订单实例列表 retObj = new CWmsReturnOrder(); (retObj.MangoOrder as MangoReturnOrder).CopyFrom(mangoOrder); foreach (var t in tmpList) { CWmsSubReturnOrder tmpSo = new CWmsSubReturnOrder(); tmpSo.CopyFrom(t, null); // TODO: 根据子退货订单Id找原子订单Id, 移到Mis的Factory里面!! var wcfSo = WCF <Product_Warehouse_ProductOutput> .Query((tmpSo.MangoOrder as MangoSubReturnOrder).ProductIOputId.Int()).Data; // 根据原子订单Id取仓库Id, 根据仓库Id取货主 tmpSo.WmsOrderDetail.Owner.CopyFrom(MangoFactory.GetOwner(wcfSo.WarehouseId.ToString())); // 设置商品Id tmpSo.Product.ItemCode = (string.IsNullOrEmpty(t.ProductGuiGeID.ToString()) || "0".Equals(t.ProductGuiGeID.ToString())) ? t.ProductId.ToString() : string.Format("{0}-{1}", t.ProductId, t.ProductGuiGeID); retObj.SubOrders.Add(t.ZiTuihuoID.ToString(), tmpSo);// new CWmsSubReturnOrder(t, null)); } #region Handle WMS order switch ((T芒果商城退货物流)(retObj.MangoOrder as MangoReturnOrder).THwuLiu) { case T芒果商城退货物流.自行返还: { (retObj.WmsOrder as Wms.Data.WmsReturnOrder).SetOrderFlag(false, true, false); break; } case T芒果商城退货物流.蓝江上门: { (retObj.WmsOrder as Wms.Data.WmsReturnOrder).SetOrderFlag(true, false, false); break; } default: { (retObj.WmsOrder as Wms.Data.WmsReturnOrder).SetOrderFlag(false, false, false); break; } } #region TuiHuoType switch ((retObj.MangoOrder as MangoReturnOrder).TuiHuoType) { case 2: (retObj.MangoOrder as MangoReturnOrder).TuiHuoType = TWmsReturnOrderType.HHRK.Int(); break; case 3: (retObj.MangoOrder as MangoReturnOrder).TuiHuoType = TWmsReturnOrderType.HHRK.Int(); break; case 6: (retObj.MangoOrder as MangoReturnOrder).TuiHuoType = TWmsReturnOrderType.HHRK.Int(); break; default: { (retObj.MangoOrder as MangoReturnOrder).TuiHuoType = TWmsReturnOrderType.HHRK.Int(); break; } } #endregion #endregion // Handle WMS order #endregion // 创建CWmsReturnOrder实例及其子出库订单实例列表 } catch (Exception ex) { if (null != ex.InnerException) { ret.Append(string.Format("InnerException: {0}", ex.InnerException.Message)); } ret.Append(string.Format("发生异常: {0}\r\n调用堆栈:{1}", ex.Message, ex.StackTrace)); } ret.Append(string.Format("根据主退货订单{0}获取主退货订单及其所有子订单的实例失败, 获取子退货订单失败, message={1}", pOrderId, errMsg)); ret.End(); return(retObj); }
/// <summary> /// 根据主出库订单ID获取主出库订单及其所有子订单的实例 /// </summary> /// <param name="pOrderId">芒果商城主出库订单ID</param> /// <returns>CWmsExWarehouseOrder</returns> static public CWmsExWarehouseOrder GetCWmsStockoutOrder(string pOrderId) { var ret = new ThirdResult <List <object> >(string.Format("根据主出库订单[{0}]获取主出库订单及其所有子订单的实例,开始", pOrderId)); try { string errMsg = string.Empty; CWmsExWarehouseOrder outObj = null; List <MangoSubExwarehouseOrder> tmpList = null; // get mango order MangoExwarehouseOrder mangoOrder = MangoFactory.GetMangoOrder(TCWmsOrderCategory.EExwarehouseOrder, pOrderId) as MangoExwarehouseOrder; // create CWmsEntryOrder if successful if (null == mangoOrder) { ret.Append(string.Format("根据主出库订单[{0}]获取主出库订单及其所有子订单的实例结束, 获取主出库订单失败", pOrderId)); ret.End(); return(outObj); } // 获取子出库订单列表 errMsg = MangoFactory.GetMangoExwarehouseSubOrderList(pOrderId, out tmpList); if (!string.IsNullOrEmpty(errMsg) || null == tmpList || 0 >= tmpList.Count) { ret.Append(string.Format("根据主出库订单[{0}]获取主出库订单及其所有子订单的实例结束, 获取主出库订单失败。errMsg: {1}", pOrderId, errMsg)); ret.End(); return(outObj); } // 创建CWmsExWarehouseOrder实例及其子出库订单实例列表 outObj = new CWmsExWarehouseOrder(); (outObj.MangoOrder as MangoExwarehouseOrder).CopyFrom(mangoOrder); foreach (var t in tmpList) { CWmsExWarehouseSubOrder subOrder = new CWmsExWarehouseSubOrder(); (subOrder.MangoOrder as MangoSubExwarehouseOrder).CopyFrom(t); subOrder.Product.MangoProduct.ProductId = t.ProductId; (subOrder.WmsOrderDetail).Owner.CopyFrom(MangoFactory.GetOwner((subOrder.MangoOrder as MangoSubExwarehouseOrder).WarehouseId.ToString())); // 获取货主 // 设置商品Id subOrder.Product.ItemCode = (string.IsNullOrEmpty(t.ProductGuiGeID.ToString()) || "0".Equals(t.ProductGuiGeID.ToString())) ? t.ProductId.ToString() : string.Format("{0}-{1}", t.ProductId, t.ProductGuiGeID); outObj.SubOrders.Add((subOrder.MangoOrder as MangoSubExwarehouseOrder).ProductOutputId.ToString(), subOrder); } ret.Append(string.Format("根据主出库订单[{0}]获取主出库订单及其所有子订单的实例结束, 返回{1}", pOrderId, outObj)); ret.End(); return(outObj); } catch (Exception ex) { if (null != ex.InnerException) { ret.Append(string.Format("InnerException: {0}", ex.InnerException.Message)); } ret.Append(string.Format("发生异常: {0}\r\n调用堆栈:{1}", ex.Message, ex.StackTrace)); ret.End(); return(null); } }
/// <summary> /// 获取所有符合条件的主出库订单,若执行成功则返回获取的行数,否则返回TError.WCF_RunError和Count=0的主出库订单列表 /// </summary> /// <param name="pFilters"></param> /// <param name="pOutList">返回所有符合条件的主出库订单</param> /// <param name="pErrMsg"></param> /// <returns></returns> static public int GetVStockoutOrders(List <CommonFilterModel> pFilters, out List <CWmsExWarehouseOrder> pOutList, out string pErrMsg) { int err = TError.WCF_RunError.Int(); string errMsg = string.Empty; pOutList = new List <CWmsExWarehouseOrder>(1); List <MangoExwarehouseOrder> orderList = null; try { if (0 >= (err = MangoFactory.GetVMangoStockoutOrders(pFilters, out orderList, out pErrMsg)) || null == orderList) { pErrMsg = string.Format("根据过滤器获取满足条件的全部出库订单失败, err={0}, orderList={2}, errMsg={1}", err, pErrMsg, orderList); Data.Utility.MyLog.Instance.Error(pErrMsg); return(err); } else { foreach (MangoExwarehouseOrder smo in orderList) { #region 获取子出库单 List <MangoSubExwarehouseOrder> subList = null; errMsg = MangoFactory.GetMangoExwarehouseSubOrderList(smo.ProductOutputMainId.ToString(), out subList); if (null == subList || 0 == subList.Count) { C_WMS.Data.Utility.MyLog.Instance.Error("在{0}中,获取主出库单({1})的子出库单失败, err={2}, errMsg={3}", System.Reflection.MethodBase.GetCurrentMethod().Name, smo?.ProductOutputMainId, err, errMsg); continue; } #endregion #region 处理子出库单 CWmsExWarehouseOrder ceo = new CWmsExWarehouseOrder(); foreach (var mso in subList) { if (null == mso) { C_WMS.Data.Utility.MyLog.Instance.Error("在{0}中,主出库单({1})中有空引用的子出库订单实体" , System.Reflection.MethodBase.GetCurrentMethod().Name, smo.ProductOutputMainId); ceo.SubOrders.Clear(); break; } CWmsExWarehouseSubOrder cso = new CWmsExWarehouseSubOrder(); (cso.MangoOrder as MangoSubExwarehouseOrder).CopyFrom(mso); ceo.SubOrders.Add(mso.ProductOutputId.ToString(), cso); } #endregion if (0 < ceo.SubOrders.Count) { (ceo.MangoOrder as MangoExwarehouseOrder).CopyFrom(smo); pOutList.Add(ceo); } else { C_WMS.Data.Utility.MyLog.Instance.Error("在{0}中,主出库单({1})没有获取到任何子出库订单实体" , System.Reflection.MethodBase.GetCurrentMethod().Name, smo.ProductOutputMainId); } } // foreach (MangoExwarehouseOrder smo in orderList) pErrMsg = string.Empty; return(err); } } catch (Exception ex) { pErrMsg = ex.Message; pOutList.Clear(); Data.Utility.MyLog.Instance.Error(ex, "根据过滤条件获取主出库订单发生异常"); return(TError.Post_NoChange.Int()); } }
/// <summary> /// 根据主入库订单ID获取主入库订单及其所有子订单的实例 /// </summary> /// <param name="pOrderId">芒果商城主入库单ID</param> /// <returns>CWmsEntryOrder对象</returns> static public CWmsEntryOrder GetCWmsEntryOrder(string pOrderId) { try { CWmsEntryOrder outObj = null; List <MangoSubEntryOrder> tmpList = null; string errMsg = string.Empty; // get mango order MangoEntryOrder mangoOrder = MangoFactory.GetMangoOrder(TCWmsOrderCategory.EEntryOrder, pOrderId) as MangoEntryOrder; // get sub orders errMsg = MangoFactory.GetVMangoSubEntryOrders(pOrderId, out tmpList); // create CWmsEntryOrder if successful if (null != mangoOrder && string.IsNullOrEmpty(errMsg) && 0 < tmpList?.Count) { outObj = new CWmsEntryOrder(); (outObj.MangoOrder as MangoEntryOrder).CopyFrom(mangoOrder); outObj.WmsOrder.SetWmsOrderType(TWmsOrderType.CGRK);// 默认采购入库 foreach (var s in tmpList) { int tmpPlanQty = -1; CWmsSubEntryOder cso = new CWmsSubEntryOder(); (cso.MangoOrder as MangoSubEntryOrder).CopyFrom(s); #region // 获取应收数量 if (0 >= s.ProductBuyId.Int()) { // 无采购入库Id,判断为芒果网络商品入库(补),实收数量即为应收数量 (cso.WmsOrderDetail as Wms.Data.WmsEntryOrderDetail).planQty = CWmsUtility.Decimal2Int(s.ProductInputCount.Decimal()); } else { // 有采购入库Id,取采购入库单中的应收数量 (cso.WmsOrderDetail as Wms.Data.WmsEntryOrderDetail).planQty = (TError.RunGood.Int() == MangoFactory.GetPlanQuantityByPid(s.ProductBuyId.ToString(), out tmpPlanQty)) ? tmpPlanQty : -1; } #endregion // 设置商品Id cso.Product.ItemCode = (string.IsNullOrEmpty(s.ProductGuiGeID.ToString()) || "0".Equals(s.ProductGuiGeID.ToString())) ? s.ProductId.ToString() : string.Format("{0}-{1}", s.ProductId, s.ProductGuiGeID); outObj.SubOrders.Add(s.ProductInputId.ToString(), cso); } // TODO: other operations } else { C_WMS.Data.Utility.MyLog.Instance.Error("根据主入库订单ID({0})获取主入库订单及其所有子订单的实例失败, mangoOrder=(1}, 子单据数量={2}", pOrderId, mangoOrder, tmpList?.Count); } return(outObj); } catch (Exception ex) { C_WMS.Data.Utility.MyLog.Instance.Error(ex, "根据主入库订单ID({0})获取主入库订单及其所有子订单的实例异常", pOrderId); return(null); } }
/// <summary> /// construct by id /// </summary> /// <param name="id"></param> public MangoSubStockoutOrder(string id) { Copy(MangoFactory.NewOrder <Product_Warehouse_ProductOutput>(id)); }
/// <summary> /// construct by id /// </summary> /// <param name="id"></param> public MangoEntryOrder(string id) { Copy(MangoFactory.NewOrder <Product_Warehouse_ProductMainInput>(id)); }
/// <summary> /// construct by id /// </summary> /// <param name="id"></param> public MangoSubReturnOrder(string id) { Copy(MangoFactory.NewOrder <Product_TuiHuo>(id)); }
/// <summary> /// construct by id /// </summary> /// <param name="id"></param> public MangoSubDeliveryOrder(string id) { Copy(MangoFactory.NewOrder <Product_PeiSong_Product>(id)); }
/// <summary> /// constructed by pRid /// </summary> /// <param name="pRid">order ID</param> public MangoReturnOrder(string pRid) { Copy(MangoFactory.NewOrder <Product_TuiHuo_main>(pRid)); }
/// <summary> /// construct by id /// </summary> /// <param name="id"></param> public MangoSubMallOrder(string id) { Copy(MangoFactory.NewOrder <Product_User_DingDan_ProductList>(id)); }