//protected override void OnStart(string[] args) public void OnStart() { StopSync = false; server = WCF.GetWCF(); syncReceiptTimeFile = Path.Combine(basePath, syncReceiptFileName); syncDeliveryTimeFile = Path.Combine(basePath, syncDeliveryFileName); syncBaseTimeFile = Path.Combine(basePath, syncBaseFileName); syncQualityStatuceTimeFile = Path.Combine(basePath, synQualityStatuceFileName); int FirstSyncTime = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["FirstSyncTime"]); //同步时间文件不存在,自动创建 createSyncTimeFile(syncReceiptTimeFile, FirstSyncTime); createSyncTimeFile(syncDeliveryTimeFile, FirstSyncTime); createSyncTimeFile(syncBaseTimeFile, FirstSyncTime); createSyncTimeFile(syncQualityStatuceTimeFile, FirstSyncTime); LogNet.LogInfo("Server Start:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); //DocumentSyncReceipt = new Thread(new ThreadStart(SyncReceipt)); //DocumentSyncReceipt.Start(); //DocumentSyncDelivery = new Thread(new ThreadStart(SyncDelivery)); //DocumentSyncDelivery.Start(); DocumentSyncBase = new Thread(new ThreadStart(SyncBase)); DocumentSyncBase.Start(); //QualitySyncStatus = new Thread(new ThreadStart(QualityStatus)); //QualitySyncStatus.Start(); }
/// <summary> /// 向Dict[709]中插入一行 /// </summary> /// <param name="pEntity">带插入的实体</param> /// <param name="pMsg">返回错误描述</param> /// <returns>返回操作成功的行数,若失败则返回DefaultResult[int].RetInt</returns> static public int AddRow_Order(Product_WMS_Interface pEntity, out string pMsg) { #region validate parameters if (null == pEntity) { pMsg = "AddRow结束,非法入参"; return(TError.Post_ParamError.Int()); } #endregion // WCF操作 var retRslt = WCF <Product_WMS_Interface> .Add(pEntity); #region Handle result if (null == retRslt) { pMsg = "WCF插入记录行失败,返回null对象"; return(TError.WCF_RunError.Int()); } else { pMsg = string.Format("WCF插入记录行结束, retRslt.RetInt={0}, retRslt.RETData={1}, retRslt.Data={2}", retRslt.RetInt, retRslt.RETData, retRslt.Data); return(retRslt.RetInt); } #endregion }
private async Task OnNextAsync(Tuple <string, Message> item) { try { this.TraceMessage(true, item); if (this.IsSelf(item.Item1)) { this.Incoming.OnNext(item); } else if (!this.groupConfig.Settings.IsUseHttpTransportForInstanceCommunication) { ChannelFactory <IDxStoreInstance> factory = this.GetChannelFactory(item.Item1); await Concurrency.DropContext(WCF.WithServiceAsync <IDxStoreInstance>(factory, (IDxStoreInstance instance) => instance.PaxosMessageAsync(this.groupConfig.Self, item.Item2), null, default(CancellationToken))); } else { HttpRequest.PaxosMessage msg = new HttpRequest.PaxosMessage(this.nodeEndPoints.Self, item.Item2); string targetHost = this.groupConfig.GetMemberNetworkAddress(item.Item1); await HttpClient.SendMessageAsync(targetHost, item.Item1, this.groupConfig.Name, msg); } } catch (Exception ex) { if (GroupMembersMesh.Tracer.IsTraceEnabled(TraceType.ErrorTrace)) { GroupMembersMesh.Tracer.TraceError((long)this.identity.GetHashCode(), "{0}: OnNextAsync(Node:{1}, Msg:{2}) failed with {3}", new object[] { this.identity, item.Item1, item.Item2, ex }); } } }
// public ActionResult befagua() { string cuenta = Request.Form["numIdetificacion1"].ToString(); BancoHabana.Models.WCF w = new WCF(); w.agua(cuenta); if (Session["opcionagua"].ToString() == "AyA") { if (w.montoagua == "error") { Session["mensaje"] = "El numero de servicio no tiene facturas pendientes"; return(View("SolicitudAgua")); } else { Session["montoagua"] = w.montoagua; Session["fechaagua"] = w.fechaagua; return(View("Agua")); } } else { Session["mensaje1"] = "El servicio no esta en funcionamiento"; return(View("SolicitudAgua")); } }
public ActionResult befluz() { string cuenta = Request.Form["numIdetificacion1"].ToString(); BancoHabana.Models.WCF w = new WCF(); w.luz(cuenta); if (Session["opcionluz"].ToString() == "jasec") { if (w.montoluz == "error") { Session["mensaje"] = "El numero de servicio no tiene facturas pendientes"; return(View("SolicitudLuz")); } else { Session["montoluz"] = w.montoluz; Session["fechaluz"] = w.fechaluz; return(View("Luz")); } } else { Session["mensaje1"] = "El Servicio de no esta en funcionamiento"; return(View("SolicitudLuz")); } }
public ActionResult befinternet() { string cuenta = Request.Form["numIdetificacion1"].ToString(); BancoHabana.Models.WCF w = new WCF(); w.internet(cuenta); if (Session["opcioninternet"].ToString() == "ICE") { if (w.montointernet == "error") { Session["mensaje"] = "El numero de servicio no tiene facturas pendientes"; return(View("SolicitudInternet")); } else { Session["montointernet"] = w.montointernet; Session["fechainternet"] = w.fechainternet; return(View("internet")); } } else { Session["mensaje1"] = "El servicio no esta en funcionamiento"; return(View("SolicitudInternet")); } }
public ActionResult beftelefono() { string cuenta = Request.Form["numIdetificacion1"].ToString(); BancoHabana.Models.WCF w = new WCF(); w.telefono(cuenta); if (Session["opciontelefono"].ToString() == "Kolbi") { if (w.montotelefono == "error") { Session["mensaje"] = "El numero de servicio no tiene facturas pendientes"; return(View("SolicitudTelefono")); } else { Session["consumokolbi"] = w.consumokolbi; Session["consumomovistar"] = w.consumomovistar; Session["consumoclaro"] = w.consumoclaro; Session["consumointernet"] = w.consumointernet; Session["monto"] = w.montotelefono; return(View("Telefono")); } } else { Session["mensaje1"] = "El servicio no esta en funcionamiento"; return(View("SolicitudTelefono")); } }
private void GetData(string sql, int pagenumber, int pagesize, object userState) { var ws = WCF.GetService(); ws.GetDataSetDataCompleted += new EventHandler <DataSetInDataGrid.Silverlight.MyDataService.GetDataSetDataCompletedEventArgs>(ws_GetDataSetDataCompleted); ws.GetDataSetDataAsync(sql, pagenumber, pagesize, userState); }
private void GetData() { object userState = "Data"; var ws = WCF.GetService(); ws.GetSchoolsCompleted += new EventHandler <GetSchoolsCompletedEventArgs>(ws_GetSchoolsCompleted); ws.GetSchoolsAsync(userState); }
void Update_Click(object sender, RoutedEventArgs e) { var ws = WCF.GetService(); ws.UpdateCompleted += new EventHandler <DataSetInDataGrid.Silverlight.MyDataService.UpdateCompletedEventArgs>(ws_UpdateCompleted); ws.UpdateAsync(DynamicDataBuilder.GetUpdatedDataSet(theGrid.ItemsSource as IEnumerable, _tables)); this.Progress.Start(); }
/// <summary> /// 更新Dict[709]中pEntity对应的行。 /// </summary> /// <param name="pEntity">被插入的实体</param> /// <param name="pMsg">返回错误描述</param> /// <returns>若成功则返回成功操作的行数;否则返回TError.WCF_RunError</returns> static public int UpdateRow_Order(Product_WMS_Interface pEntity, out string pMsg) { #region validate parameters pMsg = string.Empty; DefaultResult <List <Product_WMS_Interface> > queryRslt = null; DefaultResult <int> rslt = null; if (null == pEntity) { return(TError.Post_ParamError.Int()); } #endregion #region 在Dict[709]中找pEntity, var wcfPWI var filter = new List <CommonFilterModel>() { }; // query filter filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapId1, "=", pEntity.MapId1.ToString())); filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapId2, "=", pEntity.MapId2.ToString())); filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_IsDel, "!=", TDict285_Values.EDeleted.Int().ToString())); queryRslt = WCF <Product_WMS_Interface> .Query(1, 1, filter, new List <CommonOrderModel>() { }); // query,只取第一页第一条(同一个子单据不应该有2条数据) if (null == queryRslt) { pMsg = "尝试获取符合条件的实体,WCF操作失败,返回null对象"; return(TError.WCF_RunError.Int()); } else if (null == queryRslt.Data) { pMsg = queryRslt.RETData; return(queryRslt.RetInt); } #endregion #region WCF操作,更新 if (0 == queryRslt.Data.Count) { pMsg = string.Format("Dict[709]中没有符合条件的行, MapId1={0}, MapId2={1}", pEntity.MapId1.ToString(), pEntity.MapId2.ToString()); return(TError.WCF_RunError.Int()); } // Dict[709]中没有符合条件的行 else { pEntity.WMS_InterfaceId = queryRslt.Data[0].WMS_InterfaceId; rslt = WCF <Product_WMS_Interface> .Update(pEntity); #region Handle result if (null == rslt) { pMsg = "更新或插入,WCF操作记录行失败,返回null对象"; return(TError.WCF_RunError.Int()); } else { pMsg = string.Format("UpdateRowA(Product_WMS_Interface pEntity)结束, rslt.RetInt={0}, rslt.RetData={1}, rslt.Data={2}", rslt.RetInt, rslt.RETData, rslt.Data); return(1); } #endregion } // Dict[709]中有符合条件的行,更新 #endregion }
/// <summary> /// 更新商品 /// </summary> /// <param name="row"></param> /// <returns></returns> static public int UpdateRow_Product(List <Product_WMS_Interface> row) { var ret = new ThirdResult <List <object> >("向表Product_WMS_Interface更新一行商品"); var wcfPWI = WCF <Product_WMS_Interface> .Update(row); InnerDebug(ret, wcfPWI, "更新商品"); ret.End(); return(wcfPWI.RetInt); }
public ActionResult hacerrecarga() { string numero = Request.Form["numero"].ToString(); string monto = Request.Form["monto"].ToString(); BancoHabana.Models.WCF w = new WCF(); w.recarga(numero, monto); return(View("MenuPrincipal")); }
public ChannelFactory <IDxStoreInstance> GetChannelFactory(string nodeName) { ServiceEndpoint key = this.nodeEndPoints.Map(nodeName); WCF.CachedChannelFactory <IDxStoreInstance> orAdd = this.factoryByEndPoint.GetOrAdd(key, delegate(ServiceEndpoint e) { WCF.Initialize(e); return(new WCF.CachedChannelFactory <IDxStoreInstance>(e)); }); return(orAdd.Factory); }
/// <summary> /// 添加商品 /// </summary> /// <returns></returns> /// <remarks> /// ------+++++++++------- /// --姓名:dongtianyi时间:2018/5/29 16:25 /// --操作简单描述: /// --本次操作需求来源URL: /// --当前设备:DONGTIANYI /// ------+++++++++------- /// </remarks> static public int AddRow_Product(Product_WMS_Interface row) { var ret = new ThirdResult <List <object> >("向表Product_WMS_Interface插入一行商品"); row.IsDel = 1; row.AddTime = DateTime.Now; row.AddUserid = MangoMis.Frame.Frame.CommonFrame.userid; var wcfPWI = WCF <Product_WMS_Interface> .Add(row); InnerDebug(ret, wcfPWI, "添加商品"); ret.End(); return(wcfPWI.RetInt); }
/// <summary> /// 返回Mis2014系统定义的子入库单实例列表 /// </summary> /// <param name="pOrderId">子入库单ID</param> /// <param name="pSubOrderList">返回子入库单实例列表,若失败则返回Count=0的列表</param> /// <returns>若添加成功则返回string.Empty; 否则返回添加失败的错误描述</returns> static public string GetSubEntryOrderList(string pOrderId, out List <Product_Warehouse_ProductInput> pSubOrderList) { var ret = new ThirdResult <List <object> >(string.Format("返回Mis2014系统定义的子入库单({0})实例列表开始", pOrderId)); // temp variables definition string retStr = string.Empty; pSubOrderList = new List <Product_Warehouse_ProductInput>(1); try { // fileter for query sub entry order list List <CommonFilterModel> filters = new List <CommonFilterModel>(1) { new CommonFilterModel(Mis2014_SubEntryOrder_Column.MainId, "=", pOrderId) , new CommonFilterModel(Mis2014_SubEntryOrder_Column.IsDel, "<>", TDict285_Values.EDeleted.Int().ToString()) }; var wcfSubListRet = WCF <Product_Warehouse_ProductInput> .Query(1, CWmsConsts.cIntDefaultWcfQueryPageSize, filters, null); if (null != wcfSubListRet && null != wcfSubListRet.Data) { pSubOrderList = wcfSubListRet.Data; retStr = string.Empty; ret.Append(string.Format("WCF查询完成, ret={0}, ret.Data={1}, SubListCount={2}", wcfSubListRet, wcfSubListRet.Data, wcfSubListRet.Data.Count)); } else { retStr = string.Format("ERROR!! 获取子入库单列表失败, pOrderId={0}, wcfSubListRet={1}", pOrderId, wcfSubListRet); ret.Append(retStr); } } catch (Exception ex) { pSubOrderList.Clear(); retStr = string.Format("Exception!! 获取子入库单列表失败, pOrderId={0}, Message={1}", pOrderId, ex.Message); 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(retStr); }
/// <summary> /// /// </summary> /// <param name="msgType"></param> /// <param name="message"></param> private void sendMessageToClients(WCF.OSAEWCFMessageType msgType, string message) { try { WCF.OSAEWCFMessage msg = new WCF.OSAEWCFMessage(); msg.Type = msgType; msg.Message = message; msg.From = OSAE.Common.ComputerName; msg.TimeSent = DateTime.Now; Thread thread = new Thread(() => wcfService.SendMessageToClients(msg)); thread.Start(); } catch (Exception ex) { logging.AddToLog("Error sending message to clients: " + ex.Message, true); } }
/// <summary> /// 返回Mis2014系统定义的子入库单实例列表 /// </summary> /// <param name="pOrderId">子入库单ID</param> /// <param name="pSubOrderList">返回子入库单实例列表,若失败则返回Count=0的列表</param> /// <returns>若添加成功则返回string.Empty; 否则返回添加失败的错误描述</returns> static protected string GetMisSubEntryOrderList(string pOrderId, out List <Product_Warehouse_ProductInput> pSubOrderList) { string retStr = string.Empty; pSubOrderList = null; // reset pSubOrderList // validate argument int orderId = -1; // stores an integer value of pOrderId if (!int.TryParse(pOrderId, out orderId)) { retStr = string.Format("ERROR!! 异常的输入参数pOrderId={0}", pOrderId); return(retStr); } try { // temp variables definition // fileter for query sub entry order list List <CommonFilterModel> filters = new List <CommonFilterModel>(1) { new CommonFilterModel("MainId", "=", orderId.ToString()) }; // TODO: donot use MainId Product_Warehouse_ProductMainInput entity = new Product_Warehouse_ProductMainInput(); // main entry order entity var wcfSubListRet = WCF <Product_Warehouse_ProductInput> .Query(1, 1000, filters, null); // TODO: donot use 1 and 1000 if (null != wcfSubListRet && null != wcfSubListRet.Data) { pSubOrderList = wcfSubListRet.Data; retStr = string.Empty; } else { retStr = string.Format("ERROR!! 获取子入库单列表失败, pOrderId={0}, wcfSubListRet={1}", pOrderId, wcfSubListRet); } } catch (Exception ex) { retStr = string.Format("Exception ERROR!! 获取子入库单列表失败, pOrderId={0}, Message={1}", pOrderId, ex.Message); } return(retStr); }
/// <summary> /// 更新Mis实体。若执行成功则返回WCF.RetInt,否则返回其他 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="entity">待更新实体</param> /// <returns></returns> static public int UpdateEntity <T>(T entity) where T : class, new() { try { if (null == entity) { C_WMS.Data.Utility.MyLog.Instance.Error("在{0}中,待更新实体为空", System.Reflection.MethodBase.GetCurrentMethod().Name); return(TError.Pro_HaveNoData.Int()); } var rslt = WCF <T> .Update(entity); return((null == rslt) ? TError.WCF_RunError.Int() : rslt.RetInt.Int()); } catch (Exception ex) { C_WMS.Data.Utility.MyLog.Instance.Error(ex, "更新实体[{0}]发生异常", entity); return(TError.WCF_RunError.Int()); } }
/// <summary> /// 向709批量插入数据,废弃 /// </summary> /// <param name="rowlist"></param> /// <returns></returns> static public int AddRow_Product(List <Product_WMS_Interface> rowlist) { var ret = new ThirdResult <List <object> >("向表Product_WMS_Interface插入多条商品"); var renInt = 0; foreach (var row in rowlist) { row.IsDel = 2; row.AddTime = DateTime.Now; row.AddUserid = MangoMis.Frame.Frame.CommonFrame.userid; var wcfPWI = WCF <Product_WMS_Interface> .Add(row); // TODO: 不能add整个list InnerDebug(ret, wcfPWI, "向709批量插入数据,废弃"); renInt += wcfPWI.RetInt; } ret.End(); return(renInt); }
/// <summary> /// 根据主键Id获取实体 /// </summary> /// <param name="id">主键Id</param> /// <returns></returns> public DefaultResult <TEntity> GetEntity(int id) { try { var rslt = WCF <TEntity> .Query(id); if (null == rslt || null == rslt.Data) { C_WMS.Data.Utility.MyLog.Instance.Warning("WCF(V2),根据Id[{0}]获取实体失败", id); return(null); } return(rslt); } catch (Exception ex) { C_WMS.Data.Utility.MyLog.Instance.Fatal(ex, "WCF(V2),根据Id[{0}]获取实体异常", id); return(null); } }
/// <summary> /// 根据过滤器pFilters获取实体列表,若执行成功则返回DefaultResult[List[TEntity]],否则返回null /// </summary> /// <param name="pFilters"></param> /// <returns></returns> public DefaultResult <List <TEntity> > GetList(List <CommonFilterModel> pFilters) { try { var rslt = WCF <TEntity> .QueryAll(pFilters); if (null == rslt || null == rslt.Data) { C_WMS.Data.Utility.MyLog.Instance.Warning("WCF(V2),根据过滤器Filter={0}获取实体列表失败", pFilters); return(null); } return(rslt); } catch (Exception ex) { C_WMS.Data.Utility.MyLog.Instance.Fatal(ex, "WCF(V2),根据过滤器Filter={0}获取实体列表异常", pFilters); return(null); } }
/// <summary> /// /// </summary> /// <param name="pFilters"></param> /// <param name="pOrders"></param> /// <param name="page"></param> /// <param name="size"></param> /// <returns></returns> public DefaultResult <List <TEntity> > GetList(List <CommonFilterModel> pFilters, List <CommonOrderModel> pOrders, int page, int size) { try { var rslt = WCF <TEntity> .Query(page, size, pFilters, pOrders); if (null == rslt || null == rslt.Data) { C_WMS.Data.Utility.MyLog.Instance.Warning("WCF(V2),根据({0}, {1}, {2}, {3})获取实体列表失败", pFilters, pOrders, page, size); return(null); } return(rslt); } catch (Exception ex) { C_WMS.Data.Utility.MyLog.Instance.Fatal(ex, "WCF(V2),根据({0}, {1}, {2}, {3})获取实体列表异常", pFilters, pOrders, page, size); return(null); } }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity"></param> /// <returns></returns> public DefaultResult <int> Add(TEntity entity) { try { var rslt = WCF <TEntity> .Add(entity); if (null == rslt) { C_WMS.Data.Utility.MyLog.Instance.Warning("WCF(V2),添加实体[{0}]失败", entity); return(null); } return(rslt); } catch (Exception ex) { C_WMS.Data.Utility.MyLog.Instance.Fatal(ex, "WCF(V2),添加实体[{0}]异常", entity); return(null); } }
/// <summary> /// 返回Mis2014系统定义的子采购单实例列表 /// </summary> /// <param name="pOrderId">主采购单ID</param> /// <param name="pSubOrderList">返回子采购单实例列表,若失败则返回Count=0的列表</param> /// <returns>若添加成功则返回string.Empty; 否则返回添加失败的错误描述</returns> static public string GetSubPurchaseOrderList(string pOrderId, out List <Product_Warehouse_ProductBuy> pSubOrderList) { var ret = new ThirdResult <int>("返回Mis2014系统定义的子采购单实例列表 开始"); string retStr = string.Empty; pSubOrderList = null; try { List <CommonFilterModel> filter = new List <CommonFilterModel>(2); filter.Add(new CommonFilterModel(Mis2014_SubPurchaseOrder_Column.MainId, "=", pOrderId)); filter.Add(new CommonFilterModel(Mis2014_SubPurchaseOrder_Column.IsDel, "=", TMis2014_IsDel.EDeleted.ToString())); var wcfSubPurchaseOrder = WCF <Product_Warehouse_ProductBuy> .ColumnsAll(filter, Mis2014_SubPurchaseOrder_Column.AllColumnNameList()); if (null == wcfSubPurchaseOrder || null == wcfSubPurchaseOrder.Data) { retStr = "WCF取得列表返回null,判定为WCF连接失败"; ret.Append(retStr); } else { ret.Append(string.Format("WCF取得列表,item数量={0}", wcfSubPurchaseOrder.Data.Count)); pSubOrderList = wcfSubPurchaseOrder.Data; // reset pSubOrderList retStr = string.Empty; } } catch (Exception ex) { ret.Append(string.Format("发生异常: {0}\r\n{1}", ex.Message, ex.StackTrace)); if (null != ex.InnerException) { ret.Append(string.Format("InnerException: {0}", ex.InnerException.Message)); } } ret.Append(string.Format("MisModelFactory.GetMisSubPurchaseOrderList() 开始结束:{0}", retStr)); ret.End(); return(retStr); }
/// <summary> /// 获取所有商品。若操作失败则返回Count=0的List /// </summary> /// <remarks> /// ------+++++++++------- /// --姓名:dongtianyi时间:2018/5/29 16:01 /// --操作简单描述: /// --本次操作需求来源URL: /// --当前设备:DONGTIANYI /// ------+++++++++------- /// </remarks> public static List <Product_WMS_Interface> GetProductList() { var ret = new ThirdResult <List <object> >("取得表Product_WMS_Interface所有商品数据,包含添加商品or更新商品"); // Set filter var filter = new List <CommonFilterModel>() { }; filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapCalssID, "in", new List <object>() { 1, 2 })); filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_IsDel, "!=", TDict285_Values.EDeleted.Int().ToString())); // query var wcfPWI = WCF <Product_WMS_Interface> .QueryAll(filter); // query finished. InnerDebug(ret, wcfPWI, "获取所有商品"); ret.End(); return((null == wcfPWI || null == wcfPWI.Data || 0 >= wcfPWI.RetInt)? new List <Product_WMS_Interface>(): wcfPWI.Data); }
/// <summary> /// 新增一条创建出库订单的记录 /// </summary> /// <param name="pData">待插入的记录</param> /// <param name="pMsg">返回错误描述信息</param> /// <returns>返回成功操作的记录行数,若失败则返回0</returns> static protected int AddRow_StockoutCreate(Product_WMS_Interface pData, out string pMsg) { if (null == pData) { pMsg = "非法入参, pMsg=null"; return(0); } int rslt = 0; var retRslt = WCF <Product_WMS_Interface> .Add(pData); if (null == retRslt) { pMsg = "WCF插入记录行失败,返回null对象"; return(0); } else { rslt = retRslt.RetInt; pMsg = retRslt.RETData; return(rslt); } }
/// <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> /// Event happens when a wcf client invokes it /// </summary> /// <param name="source"></param> /// <param name="e"></param> private void wcfService_MessageReceived(object source, WCF.CustomEventArgs e) { try { logging.AddToLog("received message: " + e.Message, false); if (e.Message.Type == WCF.OSAEWCFMessageType.CONNECT) { try { logging.AddToLog("client connected", false); foreach (Plugin p in masterPlugins) { string msg = p.PluginName + " | " + p.Enabled.ToString() + " | " + p.PluginVersion + " | " + p.Status + " | " + p.LatestAvailableVersion + " | " + p.PluginType + " | " + osae.ComputerName; sendMessageToClients(WCF.OSAEWCFMessageType.PLUGIN, msg); } } catch (Exception ex) { logging.AddToLog("Error sending plugin messages to clients: " + ex.Message, true); } } else { string[] arguments = e.Message.Message.Split('|'); if (arguments[0] == "ENABLEPLUGIN") { bool local = false; if (arguments[2] == "True") osae.ObjectStateSet(arguments[1], "ON"); else if (arguments[2] == "False") osae.ObjectStateSet(arguments[1], "OFF"); foreach (Plugin p in plugins) { if (p.PluginName == arguments[1]) { local = true; OSAEObject obj = osae.GetObjectByName(p.PluginName); if (obj != null) { if (arguments[2] == "True") { enablePlugin(p); } else if (arguments[2] == "False") { disablePlugin(p); } } } } if (!local) { sendMessageToClients(WCF.OSAEWCFMessageType.PLUGIN, e.Message.Message); } } else if (arguments[0] == "plugin") { bool found = false; foreach (Plugin plugin in masterPlugins) { if (plugin.PluginName == arguments[1]) { if (arguments[4].ToLower() == "true") plugin.Enabled = true; else plugin.Enabled = false; plugin.PluginVersion = arguments[3]; found = true; break; } } if (!found) { Plugin p = new Plugin(); p.PluginName = arguments[1]; p.PluginVersion = arguments[3]; if (arguments[4].ToLower() == "true") p.Enabled = true; else p.Enabled = false; masterPlugins.Add(p); } } else if (arguments[0] == "updatePlugin") { foreach (Plugin plugin in masterPlugins) { if (plugin.PluginName == arguments[1]) { if (plugin.Status == "Running") disablePlugin(plugin); //code for downloading and installing plugin break; } } } } logging.AddToLog("-----------Master plugin list", false); foreach (Plugin p in masterPlugins) logging.AddToLog(" --- " + p.PluginName, false); } catch (Exception ex) { logging.AddToLog("Error receiving message: " + ex.Message, true); } }
/// <summary> /// 更新子出库订单的记录, 若没找到记录则新增一条 /// </summary> /// <param name="pOrderId">主出库单Id</param> /// <param name="pUpdateOk">记录的更新状态,遵照Dict[285]</param> /// <param name="pDel">Dict[285]</param> /// <param name="pCount">返回成功更新的行数</param> /// <param name="pMsg">返回错误描述信息</param> /// <returns>若更新成功则返回操作的行数;其他错误返回TError.WCF_RunError</returns> static public int UpdateRow_StockoutCreate(string pOrderId, TDict285_Values pUpdateOk, TDict285_Values pDel, out int pCount, out string pMsg) { pCount = 0; pMsg = string.Empty; CWmsStockOrder order = null; Product_WMS_Interface tmpEntity = null; try { // get order instance if (null == (order = CWms.CWmsDataFactory.GetCWmsStockoutOrder(pOrderId))) { return(TError.WCF_RunError.Int()); } #region prepare updated rows foreach (var subOrder in order.SubOrders) { // 根据主单据Id和子单据Id找到行 var filter = new List <CommonFilterModel>() { }; // query filter filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapId1, "=", order.GetId())); filter.Add(new CommonFilterModel(Product_WMS_Interface_Properties.PropName_MapId2, "=", subOrder.Value.GetId())); var wcfPWI = WCF <Product_WMS_Interface> .QueryAll(filter); // query,只取第一页第一条(同一个子单据不应该有2条数据) if (null == wcfPWI || null == wcfPWI.Data) { pCount = TError.WCF_RunError.Int(); pMsg = "WCF返回null异常"; break; } // TODO: 系统异常 else if (0 >= wcfPWI.RetInt) { tmpEntity = new Product_WMS_Interface(); } // 没有找到 else { tmpEntity = wcfPWI.Data[0]; } // 找到了一条 #region 实例赋值并更新 tmpEntity.MapCalssID = TDict709_Value.EExwarehouseOrder.Int(); tmpEntity.MapId1 = (order.MangoOrder as MangoStockouOrder).ProductOutputMainId; tmpEntity.MapId2 = (subOrder.Value.MangoOrder as MangoSubStockoutOrder).ProductOutputId; tmpEntity.IsUpdateOK = pUpdateOk.Int(); tmpEntity.IsDel = pDel.Int(); tmpEntity.LastTime = DateTime.Now; tmpEntity.UpdateUserID = MangoMis.Frame.Frame.CommonFrame.userid; var updateRslt = (0 >= wcfPWI.RetInt) ? WCF <Product_WMS_Interface> .Add(tmpEntity) : WCF <Product_WMS_Interface> .Update(tmpEntity); if (null == updateRslt) { pCount = TError.WCF_RunError.Int(); pMsg = "WCF返回null异常"; break; } // TODO: 系统异常 else { pCount++; pMsg = updateRslt.RETData; } #endregion } #endregion return(pCount); } catch (Exception ex) { var ret = new ThirdResult <List <object> >(""); 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(pCount = TError.WCF_RunError.Int()); } }
public void Test() { Iconnection connection = new FakeConnection(); WCF classUnderTest = new WCF(connection); //Run test logic }
public void OnMessageReceived(WCF.OSAEWCFMessage message) { throw new NotImplementedException(); }