Inheritance: System.EventArgs
Ejemplo n.º 1
0
 public void NotifyObservers(Object form, RouteRequestEventArgs args)
 {
     if (RouteRequestEvent != null)
     {
         RouteRequestEvent(form, args);
     }
 }
Ejemplo n.º 2
0
 protected void EmitRouteEvent(Object sender, RouteRequestEventArgs args)
 {
     if (RouteRequestEvent != null)
     {
         RouteRequestEvent(sender, args);
     }
 }
Ejemplo n.º 3
0
        public override List <Link> FindShortestRouteBetween(string fromCity, string toCity, TransportModes mode)
        {
            RouteRequestEventArgs routeRequestEventArgs = new RouteRequestEventArgs(fromCity, toCity, mode);

            if (RouteRequestEvent != null)
            {
                RouteRequestEvent(this, routeRequestEventArgs);
            }

            var citiesBetween = FindCitiesBetween(fromCity, toCity);

            if (citiesBetween == null || citiesBetween.Count < 1 || routes == null || routes.Count < 1)
            {
                return(null);
            }

            var source = citiesBetween[0];
            var target = citiesBetween[citiesBetween.Count - 1];

            Dictionary <City, double> dist;
            Dictionary <City, City>   previous;
            var q = FillListOfNodes(citiesBetween, out dist, out previous);

            dist[source] = 0.0;

            // the actual algorithm
            previous = SearchShortestPath(mode, q, dist, previous);

            // create a list with all cities on the route
            var citiesOnRoute = GetCitiesOnRoute(source, target, previous);

            // prepare final list if links
            return(FindPath(citiesOnRoute, mode));
        }
Ejemplo n.º 4
0
 public void LogRouteRequests(object _sender, RouteRequestEventArgs _e)
 {
     setCityRequests(_e.ToCity);
     Console.WriteLine("Current Request State");
     Console.WriteLine("---------------------");
     foreach (KeyValuePair<City, int> entry in DictionaryCities)
         Console.WriteLine("ToCity: {0} has been requested {1} times", entry.Key.Name, entry.Value);
 }
        public void LogRouteRequests(object sender, RouteRequestEventArgs args)
        {
            if (!requestCountList.ContainsKey(args.FromCity.Name))
                requestCountList.Add(args.FromCity.Name, 0);

            if (requestCountList.ContainsKey(args.ToCity.Name))
                requestCountList[args.ToCity.Name]++;
            else requestCountList.Add(args.ToCity.Name, 1);

            Status();
        }
Ejemplo n.º 6
0
 // Define what actions to take when the event is raised.
 public void LogRouteRequests(object sender, RouteRequestEventArgs e)
 {
     if (!(CityRequests.ContainsKey(e.ToCity)))
     {
         CityRequests[e.ToCity] = 1;
     }
     else
     {
         int number;
         CityRequests.TryGetValue(e.ToCity, out number);
         number++;
         CityRequests[e.ToCity] = number;
     }
 }
 public void LogRouteRequests(object sender, RouteRequestEventArgs e)
 {
     if (e.ToCity != null)
     {
         string toCityLowered = e.ToCity.ToLower();
         if (routeCounter.ContainsKey(toCityLowered))
         {
             routeCounter[toCityLowered]++;
         }
         else
         {
             routeCounter[toCityLowered] = 1;
         }
     }
 }
Ejemplo n.º 8
0
        public void OnRaiseRouteRequestEvent(RouteRequestEventArgs routeRequestEventArgs)
        {
            // Make a temporary copy of the event to avoid possibility of
            // a race condition if the last subscriber unsubscribes
            // immediately after the null check and before the event is raised.
            RouteRequestHandler handler = RouteRequestEvent;

            // Event will be null if there are no subscribers
            if (handler != null)
            {
                // Format the string to send inside the CustomEventArgs parameter
                //routeRequestEventArgs.FromCity += String.Format("bla");
                //routeRequestEventArgs.ToCity += String.Format("Zürich");
                // Use the () operator to raise the event.
                handler(this, routeRequestEventArgs);
            }
        }
Ejemplo n.º 9
0
        public void LogRouteRequests(object sender, RouteRequestEventArgs args)
        {
            string toCity = args.ToCity.Name;
            if (requests.ContainsKey(toCity))
            {
                requests[toCity] += 1;
            } else {
                requests.Add(args.ToCity.Name, 1);
            }

            Console.WriteLine("Current Request state");
            Console.WriteLine("---------------------");
            foreach(string cityName in requests.Keys) {
                Console.WriteLine("ToCity: {0} has been requested {1} times", cityName, GetCityRequests(cityName));
            }
            Console.WriteLine();
        }
Ejemplo n.º 10
0
        public void LogRouteRequests(object sender, RouteRequestEventArgs args)
        {
            if (requests.ContainsKey(args.ToCity))
            {
                requests[args.ToCity] += 1;
            }
            else
            {
                requests.Add(args.ToCity, 1);
            }

            Console.WriteLine("Current Request State");
            Console.WriteLine("---------------------");

            foreach (var r in requests)
            {
                Console.WriteLine("ToCity: ${r.Key.Name} has been requested ${r.Value} times");
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// observer: increases number of requests for city
        /// if city hasn't been requested before, new entry in CityRequests is made
        /// </summary>
        public void LogRouteRequests(object sender, RouteRequestEventArgs args)
        {
            string toCity = args.ToCity.Name;

            if (CityRequests.ContainsKey(toCity))
            {
                CityRequests[toCity] += 1;
            }
            else
            {
                CityRequests.Add(args.ToCity.Name, 1);
            }
            Console.WriteLine();
            Console.WriteLine("Current Request State");
            Console.WriteLine("---------------------");
            foreach (string city in CityRequests.Keys)
            {
                Console.WriteLine("ToCity: {0} has been requested {1} times.", city, CityRequests[city]);
            }
        }
        public void LogRouteRequests(object sender, RouteRequestEventArgs e)
        {
            if (count.ContainsKey(e.ToCity))
            {
                count[e.ToCity]++;
            }
            else
            {
                count[e.ToCity] = 1;
            }

            Console.WriteLine("Current Request State");
            Console.WriteLine("---------------------");

            foreach (var pair in count)
            {
                Console.WriteLine("ToCity: " + pair.Key.Name + " has been requested " + pair.Value + " times");
            }

            Console.WriteLine();
        }
Ejemplo n.º 13
0
        public void LogRouteRequests(object sender, RouteRequestEventArgs e)
        {
            try
            {
                count[e.ToCity]++;
            }
            catch
            {
                count[e.ToCity] = 1;
            }

            Console.WriteLine("Current Request State");
            Console.WriteLine("---------------------");

            foreach (var pair in count)
            {
                Console.WriteLine("ToCity: " + pair.Key + " has been requested " + pair.Value + " times");
            }

            Console.WriteLine();
        }
Ejemplo n.º 14
0
        public void LogRouteRequests(object sender, RouteRequestEventArgs e)
        {
            Console.WriteLine("test");

            if (searchList.ContainsKey(e.ToCity.Name))
            {
                searchList[e.ToCity.Name] += 1;
            }
            else
            {
                searchList.Add(e.ToCity.Name, 1);
            }

            Console.WriteLine("Current Request State");
            Console.WriteLine("---------------------");

            // foreach (ListKeyValuePair<string, int> entry in search)
            foreach (var entry in searchList)
            {
                Console.WriteLine("ToCity: " + entry.Key + " has been requested " + entry.Value + "time(s)");
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// THE EVENT HANDLER: it must have the same signature as the event's delegate.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        public void LogRouteRequests(object source, RouteRequestEventArgs e)
        {
            var key   = e.ToCity;
            var value = GetCityRequests(key);

            if (source == null || e == null)
            {
                //throw exception
            }
            if (RequestStatistics.ContainsKey(key))
            {
                //key already exists
                RequestStatistics[key] = value + 1;
            }
            else
            {
                //key doesnt exist
                RequestStatistics.Add(key, value + 1);
            }


            //Zählerstände auf Konsole ausgeben
            Console.WriteLine($"ToCity: {key.Name} has been requested {(GetCityRequests(key))} times");
        }
Ejemplo n.º 16
0
 public void TestForCorrectEventArgsWithNotFoundCities(object sender, RouteRequestEventArgs e)
 {
     Assert.AreEqual("doesNotExist", e.FromCity.Name);
     Assert.AreEqual("either", e.ToCity.Name);
 }
Ejemplo n.º 17
0
 public void TestForCorrectEventArgsWithFoundCities(object sender, RouteRequestEventArgs e)
 {
     Assert.AreEqual("Bern", e.FromCity.Name);
     Assert.AreEqual("Zürich", e.ToCity.Name);
 }