public void Add(TaskSessionsInfo taskSessions, TargetId targetId) { if (taskSessions.Sessions?.Count > 0) { foreach (var session in taskSessions.Sessions) { AddSession(session); } } if (taskSessions.Executions?.Count > 0) { foreach (var execution in taskSessions.Executions) { AddExecution(execution, targetId); } } if (taskSessions.Results?.Count > 0) { foreach (var commandResult in taskSessions.Results) { AddCommandResult(commandResult); } } }
public void InitializeWatch(Guid taskId, TaskSessionsInfo taskSessions) { _taskId = taskId; InitializeData(taskSessions); InitializeEvents(); }
private void InitializeData(TaskSessionsInfo taskSessions) { _sessions = taskSessions.Sessions.ToDictionary(x => x.TaskSessionId, dto => new TaskSessionViewModel(dto), StringComparer.OrdinalIgnoreCase); _executions = taskSessions.Executions.ToDictionary(x => x.TaskExecutionId, dto => new TaskExecutionViewModel(dto)); _results = taskSessions.Results.ToDictionary(x => x.CommandResultId, dto => (ICommandStatusViewModel) new CommandResultViewModel(dto)); Sessions = new ObservableCollection <TaskSessionViewModel>(_sessions.Values); foreach (var executions in _executions.Values.GroupBy(x => x.TaskSessionId)) { if (!_sessions.TryGetValue(executions.Key, out var sessionViewModel)) { continue; } sessionViewModel.Executions = new ObservableCollection <TaskExecutionViewModel>(); foreach (var taskExecution in executions) { var results = _results.Values.Where(x => x.TaskExecutionId == taskExecution.TaskExecutionId); taskExecution.Results = new ObservableCollection <ICommandStatusViewModel>(results); sessionViewModel.Executions.Add(taskExecution); } } }
public async Task <IActionResult> GetTaskSessions(Guid taskId, [FromServices] ITaskReferenceDbAccess dbAccess) { var result = new TaskSessionsInfo { Sessions = (await dbAccess.GetSessions(taskId)).Select(Mapper.Map <TaskSessionDto>).ToList(), Executions = (await dbAccess.GetExecutions(taskId)).Select(Mapper.Map <TaskExecutionDto>).ToList(), Results = (await dbAccess.GetCommandResults(taskId)).Select(Mapper.Map <CommandResultDto>).ToList() }; return(Ok(result)); }
public void InitializeData(Guid taskId, TaskSessionsInfo taskSessions) { _taskId = taskId; InitializeData(taskSessions); }