/// <summary> /// 同步方法调用 /// </summary> /// <param name="taskModel">操作实体类</param> /// <returns>返回结果</returns> public Object ExecuteCmd(TaskModelBase taskModel) { object backObj = null; try { using (System.Threading.Tasks.Task <Object> result = System.Threading.Tasks.Task.Run <object>(() => { IOperator _operator = null; try { _operator = operatorFactory.CreateOperator(taskModel.operatorName); _operator.taskModel = taskModel; } catch { } return(_operator.doOperator()); })) { backObj = result.Result; }; } catch (Exception ex) { iCMS.WG.Agent.Common.LogHelper.WriteLog(iCMS.WG.Agent.Common.Enum.EnumLogType.Error.ToString(), "iCMS.WG.Agent.SyncTools.ExecuteCmd 执行上层命令失败,异常:" + ex.Message + "\r\n详细:" + ex.StackTrace.ToString()); } return(backObj); }
public static void insertInDB(TaskModelBase document) { MongoClient client = getClient(); IMongoDatabase db = client.GetDatabase(Resources.Constants.ToDoDBName); var collection = db.GetCollection <TaskModelBase>(Resources.Constants.ToDoTaskTableName); collection.InsertOne(document); }
public static void updateDocument(TaskModelBase document, string id) { var filter = Builders <TaskModelBase> .Filter.Eq("_id", new ObjectId(id)); MongoClient client = getClient(); IMongoDatabase db = client.GetDatabase(Resources.Constants.ToDoDBName); var collection = db.GetCollection <TaskModelBase>(Resources.Constants.ToDoTaskTableName); collection.ReplaceOne(filter, document); }
public IHttpActionResult Post(TaskModelBase model) { if (!ModelState.IsValid) { return(BadRequest("Invalid data.")); } model.Date = DateTime.SpecifyKind(model.Date, DateTimeKind.Utc); ToDoMongoCRUD.insertInDB(model); return(Ok()); }
/// <summary> /// 获取触感器信息 /// </summary> public void GetWSInfo() { TaskModelBase param = new TaskModelBase(); UploadResult result = new UploadResult(); try { param.operatorName = "RefreshWSStatesOper"; if (iCMS.WG.AgentServer.Common.syncTools == null) { Common.Init(); } Common.asyncTools.AddCmd(param); } catch { } }
/// <summary> /// 用在异步方法内调用 /// </summary> /// <param name="taskModel">操作实体类</param> /// <returns>返回结果</returns> public static async Task <Object> AsyncExecuteCmd(TaskModelBase taskModel) { Object backObj = null; IOperator _operator = null; try { _operator = operatorFactory.CreateOperator(taskModel.operatorName); _operator.taskModel = taskModel; backObj = _operator.doOperator(); } catch (Exception ex) { iCMS.WG.Agent.Common.LogHelper.WriteLog(iCMS.WG.Agent.Common.Enum.EnumLogType.Error.ToString(), "iCMS.WG.Agent.SyncTools.ExecuteCmd 执行上层命令失败,异常:" + ex.Message + "\r\n详细:" + ex.StackTrace.ToString()); } return(backObj); }
/// <summary> ///重启Agent /// </summary> public void ReSetAgent() { TaskModelBase param = new TaskModelBase(); UploadResult result = new UploadResult(); try { param.operatorName = "ReSetAgentOper"; if (iCMS.WG.AgentServer.Common.syncTools == null) { Common.Init(); } Common.asyncTools.AddCmd(param); result.Result = 0; } catch { result.Result = 1; result.Reason = "发生错误无法受理请求"; } }
private void ExecuteCmd(TaskModelBase taskmMdel) { IOperator _operator = null; try { _operator = operatorFactory.CreateOperator(taskmMdel.operatorName); if (_operator != null) { _operator.taskModel = taskmMdel; _operator.doOperator(); } } catch (Exception ex) { iCMS.WG.Agent.Common.LogHelper.WriteLog(iCMS.WG.Agent.Common.Enum.EnumLogType.Error.ToString(), "iCMS.WG.Agent.AsyncTools.ExecuteCmd 执行上层命令失败,异常:" + ex.Message + "\r\n详细:" + ex.StackTrace.ToString()); iCMS.WG.Agent.Common.LogHelper.WriteLog(iCMS.WG.Agent.Common.Enum.EnumLogType.Error.ToString(), "详细执行对象Json::" + iCMS.WG.Agent.ComFunction.GetJson(taskmMdel)); } finally { _hasNew.Set(); } }
/// <summary> /// Agent响应上层应用命令 /// </summary> /// <param name="taskModel">命令实体类</param> public void AddCmd(TaskModelBase taskModel) { TaskList.Enqueue(taskModel); _hasNew.Set(); }