Esempio n. 1
0
        public Result Command([FromForm] int taskId, [FromForm] int tcid)
        {
            if (!GetAccess(User.Id, taskId, HandleAccess.HandleCommand))
            {
                return(Fail("您还未拥有权限操作"));
            }

            try
            {
                TaskCommandInfo taskCommand;
                if (tcid == -1)
                {
                    taskCommand = new TaskCommandInfo {
                        TaskId = taskId, Description = "停止", Command = "quit"
                    };
                }
                else
                {
                    taskCommand = _repository.FindFirst(n => n.Id == tcid);
                }
                if (taskCommand == null)
                {
                    return(Fail("发送失败,没有找到命令"));
                }
                var task = _manager.GetTasks(n => n.Id == taskCommand.TaskId).FirstOrDefault();
                if (task == null)
                {
                    return(Fail("发送失败,没有找到任务"));
                }
                if (!task.IsRuning)
                {
                    return(Fail("发送失败,任务没有运行"));
                }
                task.Command(taskCommand.Command);
                return(Success(taskCommand, "发送成功"));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message + ex.StackTrace);
                return(Fail("系统错误"));
            }
        }
Esempio n. 2
0
        public Result Add([FromForm] int taskId, [FromForm] string description, [FromForm] string command)
        {
            if (!GetAccess(User.Id, taskId, HandleAccess.HandleCommand))
            {
                return(Fail("您还未拥有权限操作"));
            }

            if (command == "quit")
            {
                return(Fail("添加失败,quit为系统命令,无法手动添加"));
            }
            try
            {
                if (!_manager.GetTasks().Any(n => n.Id == taskId))
                {
                    return(Fail("添加失败,没有找到对应的任务"));
                }

                var taskCommand = new TaskCommandInfo {
                    Description = description, Command = command, TaskId = taskId
                };
                if (_repository.Insert(taskCommand) > 0)
                {
                    return(Success(taskCommand, "添加成功"));
                }
                else
                {
                    return(Fail("添加失败"));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message + ex.StackTrace);
                return(Fail("系统错误"));
            }
        }