private IEnumerable <Subtask> CreateSubtasks(DistributedTaskDefinition taskDefinition, DistributedTask distributedTask) { var problemPluginFacade = _problemPluginFacadeProvider.Provide(taskDefinition); var subtasksData = problemPluginFacade.GetSubtasksFromData(distributedTask.InputData); return(subtasksData.Select((subtaskData, index) => new Subtask { DistributedTaskId = distributedTask.Id, InputData = subtaskData, SequenceNumber = index, Status = SubtaskStatus.WaitingForExecution })); }
public IProblemPluginFacade Provide(DistributedTaskDefinition taskDefinition) { return(Provide(taskDefinition.DefinitionGuid, taskDefinition.MainDllName)); }