public async Task <IActionResult> GetTaskInfo(Guid taskId, [FromServices] ITaskDirectory taskDirectory, [FromServices] IMazeTaskManager taskManager, [FromServices] ITaskReferenceDbAccess dbAccess) { var tasks = await taskDirectory.LoadTasks(); var task = tasks.FirstOrDefault(x => x.Id == taskId); if (task == null) { return(NotFound()); } var localActiveTask = taskManager.LocalActiveTasks.FirstOrDefault(x => x.MazeTask.Id == taskId); var taskInfo = await dbAccess.GetTaskInfo(taskId); taskInfo.Name = task.Name; taskInfo.Commands = task.Commands.Count; taskInfo.IsCompletedOnServer = localActiveTask == null; taskInfo.NextExecution = localActiveTask?.NextExecution; return(Ok(taskInfo)); }
public OnServerStartupEvent(IMazeTaskManager mazeTaskManager, IOptions <TasksOptions> options) { _mazeTaskManager = mazeTaskManager; _options = options.Value; }
public async Task <IActionResult> GetTasks([FromServices] ITaskDirectory taskDirectory, [FromServices] IMazeTaskManager taskManager, [FromServices] ITaskReferenceDbAccess dbAccess) { var tasks = await taskDirectory.LoadTasks(); var taskInfos = await dbAccess.GetTasks(); var infos = tasks.Select(x => { var taskInfo = taskInfos[x.Id]; var localActiveTask = taskManager.LocalActiveTasks.FirstOrDefault(y => y.MazeTask.Id == x.Id); taskInfo.Name = x.Name; taskInfo.Commands = x.Commands.Count; taskInfo.IsCompletedOnServer = localActiveTask == null; taskInfo.NextExecution = localActiveTask?.NextExecution; return(taskInfo); }); return(Ok(infos)); }
public GetTaskSyncInfo(IMazeTaskManager mazeTaskManager, IServiceProvider services) { _mazeTaskManager = mazeTaskManager; _services = services; }