public List <GraphRoute> Find(string start_table, List <string> destination_tables, bool reduce = true) { // Make sure that start table doesn't exists in list of destination tables... destination_tables = destination_tables.Where(z => z != start_table).ToList(); var routes = destination_tables.Select(z => Find(start_table, z)).ToList(); if (reduce) { return(GraphRouteUtility.Reduce(routes)); } return(routes); }
public GraphRoute ReduceBy(List <GraphRoute> routes) { return(new GraphRoute(Items.Where(z => !GraphRouteUtility.ExistsAny(routes, z)).ToList())); }