Example #1
0
        public async Task BizActionAsync(Guid inputData)
        {
            var task = (await _taskDirectory.LoadTasks()).FirstOrDefault(x => x.Id == inputData);

            if (task == null)
            {
                AddValidationResult(TaskErrors.TaskNotFound);
                return;
            }

            var sessionKey = SessionKey.CreateUtcNow("ManualTrigger");
            await _management.TriggerNow(task, sessionKey, new DatabaseTaskResultStorage(_serviceProvider));

            foreach (var status in _activeTasksManager.ActiveCommands.Where(x => !x.Key.IsServer))
            {
                if (status.Value.Tasks.Any(x => x.TaskId == inputData))
                {
                    if (_connectionManager.ClientConnections.TryGetValue(status.Key.ClientId, out var connection))
                    {
                        await TasksResource.TriggerTask(inputData, sessionKey, connection);
                    }
                }
            }
        }