Contains() public method

public Contains ( ITask task ) : bool
task ITask
return bool
Esempio n. 1
0
        public Layer[] Compose(RegisteredTasks map, Identities filter)
        {
            var allTasks = GetAllTasks(map, filter);
            var result = new List<Layer>();

            while (allTasks.Any())
            {
                var layerTasks = allTasks.Where(task => AllDependenciesResolved(map, task.Id, result));
                var layer = new Layer(layerTasks.Select(x => new ExecutableWithIdentity(x.Task, x.Id)).ToArray());

                if (layer.IsEmpty)
                {
                    throw new Exception(GetErrorMessage(allTasks, result));
                }

                result.Add(layer);
                allTasks = allTasks.Where(item => !layer.Contains(item.Task)).ToList();
            }

            return result.ToArray();
        }