Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        public void InitializeWatch(Guid taskId, TaskSessionsInfo taskSessions)
        {
            _taskId = taskId;

            InitializeData(taskSessions);
            InitializeEvents();
        }
Beispiel #3
0
        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);
                }
            }
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        public void InitializeData(Guid taskId, TaskSessionsInfo taskSessions)
        {
            _taskId = taskId;

            InitializeData(taskSessions);
        }