public override IEnumerable <Route> Handle(Request request, IGraphDatabase graph) { if (request.Solver == "DFS") { IAlgorithm solver = new DFS(); return(solver.Solve(graph, graph.GetByName(request.From), graph.GetByName(request.To))); } return(nextServant.Handle(request, graph)); }
public City GetByName(string cityName) { if (hasRestaurant) { City city = database.GetByName(cityName); if (city != null && city.HasRestaurant) { return(city); } return(null); } return(database.GetByName(cityName)); }
public override IEnumerable <Route> Handle(Request request, IGraphDatabase graph) { if (request.Solver == "Dijkstra") { if (request.Problem == "Cost") { IAlgorithm solver = new DijkstraCost(); return(solver.Solve(graph, graph.GetByName(request.From), graph.GetByName(request.To))); } if (request.Problem == "Time") { IAlgorithm solver = new DijkstraTime(); return(solver.Solve(graph, graph.GetByName(request.From), graph.GetByName(request.To))); } } return(null); }
public override City GetByName(string cityName) { if (base.GetByName(cityName) != null) { return(base.GetByName(cityName)); } return(toMerge.GetByName(cityName)); }
public City GetByName(string cityName) { City city = database.GetByName(cityName); if (city != null && city.Population >= minPopulation) { return(city); } return(null); }
public City GetByName(string cityName) { City found = database.GetByName(cityName); if (condition.IsTrueFor(found)) { return(found); } return(null); }
public City GetByName(string cityName) { City city = database.GetByName(cityName); if (city == null || city.Population < filter.MinPopulation || (city.HasRestaurant == false && filter.RestaurantRequired == true)) { return(null); } return(city); }
public void Merging(IGraphDatabase another) { foreach (var item in cityDictionary) { City city = another.GetByName(item.Key); if (city != null) { foreach (Route route in routes[cityIds[city]]) { if (!routes[cityIds[city]].Contains(route)) { AddRoute(route.From, route.To, route.Cost, route.TravelTime, route.VehicleType); } } } } }
public virtual City GetByName(string cityName) { return(graphDatabase.GetByName(cityName)); }