Ejemplo n.º 1
0
 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));
 }
Ejemplo n.º 2
0
 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));
 }
Ejemplo n.º 3
0
 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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 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));
 }