public List <Task> GetTaskList(string mac) { List <Task> list = new List <Task> (); try { MongoDBHelper <Task> mongo = new MongoDBHelper <Task>(); QueryDocument query = new QueryDocument(); query.Add("MeterMac", mac); query.Add("TaskState", 0); MongoCursor <Task> mongoCursor = mongo.Query(CollectionNameDefine.TaskCollectionName, query); var dataList = mongoCursor.ToList(); foreach (Task task in dataList) { if (task.TaskType != TaskType.TaskType_校准) { task.CommandList.AddRange(CommandDA.QueryCommandList(task.TaskID)); list.Add(task); } } } catch (Exception e) { //记录日志 Console.WriteLine(e.Message); } return(list); }
public static string Undo(string taskID) { //先读任务 try { MongoDBHelper <Task> mongo = new MongoDBHelper <Task>(); QueryDocument query = new QueryDocument(); query.Add("TaskID", taskID); MongoCursor <Task> mongoCursor = mongo.Query(CollectionNameDefine.TaskCollectionName, query); var dataList = mongoCursor.ToList(); if (dataList == null || dataList.Count == 0) { return("没有找到TaskID:【" + taskID + "】的任务。"); } Task task = dataList[0]; if (task.TaskState != TaskState.Waitting) { return(string.Format("任务TaskID:{0}状态为:{1},不能撤销.", taskID, task.TaskState)); } task.TaskState = TaskState.Undo; List <Command> list = CommandDA.QueryCommandList(task.TaskID); if (list != null && list.Count == 0) { return(string.Format("任务TaskID:{0}的指令已执行,不能撤销.", taskID)); } foreach (Command cmd in list) { cmd.CommandState = CommandState.Undo; cmd.AnswerDate = QuShi.getDate(); CommandDA.Update(cmd); } new TaskManageDA().TaskCompile(task); return(""); } catch (Exception e) { //记录日志 Console.WriteLine(e.Message); return(e.Message); } }
public string XZFinished(string taskID) { string result = ""; List <Command> list = CommandDA.QueryCommandList(taskID); foreach (Command cmd in list) { if (cmd.CommandState == CommandState.Waitting) { cmd.CommandState = CommandState.Finished; result += CommandDA.Update(cmd); } } TaskManageDA taskMDa = new TaskManageDA(); Task task = taskMDa.QueryTask(taskID); if (task.TaskState == TaskState.Waitting) { task.TaskState = TaskState.Finished; result += taskMDa.TaskCompile(task); } return(result); }