Ejemplo n.º 1
0
        static async Task Main(string[] args)
        {
            string stationName = "Munkkiniemen aukio";
            int    bikeCount   = -1;

            if (args.Length == 0)
            {
                throw new ArgumentException("No argument provided");
            }

            ICityBikeDataFetcher dataFetcher = null;

            if (args[0] == "online")
            {
                dataFetcher = new RealTimeCityBikeDataFetcher();
            }
            else if (args[0] == "offline")
            {
                dataFetcher = new OfflineCityBikeDataFetcher();
            }
            else
            {
                throw new ArgumentException("Argument must be 'online' or 'offline'");
            }

            try
            {
                bikeCount = await dataFetcher.GetBikeCountInStation(stationName);
            }
            catch
            {
                throw new NotFoundException("Not found: " + stationName);
            }
            Console.WriteLine(bikeCount);
        }
Ejemplo n.º 2
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Console.WriteLine(args[0]);

            string teststring;
            string townstring;


            Console.WriteLine("do you want offline or online = off/on");
            teststring = Console.ReadLine();

            if (teststring == "off")
            {
                Console.WriteLine("What street are you looking for: ");
                townstring = Console.ReadLine();

                OfflineCityBikeDataFetcher offline = new OfflineCityBikeDataFetcher();

                try
                {
                    Console.WriteLine(await offline.GetBikeCountInStation(townstring));
                }

                catch (NotFoundException e)
                {
                    Console.WriteLine("Not Found " + e.Message);
                }
            }

            if (teststring == "on")
            {
                Console.WriteLine("What street are you looking for: ");
                townstring = Console.ReadLine();
                RealTimeCityBikeDataFetcher realTime = new RealTimeCityBikeDataFetcher();
                try
                {
                    Console.WriteLine(await realTime.GetBikeCountInStation(townstring));
                }
                catch (NotFoundException e)
                {
                    Console.WriteLine("Not Found " + e.Message);
                }
            }
            if (teststring != "off" && teststring != "on")
            {
                Console.WriteLine("wrote something else");
            }
        }
Ejemplo n.º 3
0
        static async Task Main(string[] args)
        {
            if (args[0] == "realtime")
            {
                RealTimeCityBikeDataFetcher querier = new RealTimeCityBikeDataFetcher();
                Task <int> bikeamount = querier.GetBikeCountInStation(args[1]);
                Console.WriteLine("Waiting results");
                int result = await bikeamount;
            }

            else if (args[0] == "offline")
            {
                OfflineCityBikeDataFetcher OfflineQuery = new OfflineCityBikeDataFetcher();
                Task <int> bikeamount2 = OfflineQuery.GetBikeCountInStation(args[0]);
            }
        }
Ejemplo n.º 4
0
        static async Task Main(string[] args)
        {
            int    bikeAmount = 0;
            string haku       = args[0];

            if (args.Length > 2)
            {
                for (int i = 1; i < args.Length - 1; i++)
                {
                    haku += " " + args[i];
                }
            }

            //Console.WriteLine(args[0]);

            OfflineCityBikeDataFetcher  offlinehaku = new OfflineCityBikeDataFetcher();
            RealTimeCityBikeDataFetcher nettihaku   = new RealTimeCityBikeDataFetcher();

            if (args[args.Length - 1] == "offline")
            {
                try{
                    bikeAmount = await offlinehaku.GetBikeCountInStation(haku);

                    Console.WriteLine("Täällä pyöriä onpi: " + bikeAmount);
                }
                catch (ArgumentException ex) {
                    Console.WriteLine("Invalid argument \n" + ex.Message);
                }
                catch (NotFoundException ex) {
                    Console.WriteLine("Not found: \n" + ex.Message);
                }
            }
            if (args[args.Length - 1] == "online")
            {
                try{
                    bikeAmount = await nettihaku.GetBikeCountInStation(haku);

                    Console.WriteLine("Täällä pyöriä onpi: " + bikeAmount);
                }
                catch (ArgumentException ex) {
                    Console.WriteLine("Invalid argument \n" + ex.Message);
                }
                catch (NotFoundException ex) {
                    Console.WriteLine("Not found: \n" + ex.Message);
                }
            }
        }
Ejemplo n.º 5
0
        static async Task <int> Main(string[] args)
        {
            ICityBikeDataFetcher fetcher;

            if (args.Length < 2)
            {
                Console.WriteLine("More arguments needed: arg1 = station name; arg2 {realtime|offline}");
                return(await Task.FromResult(-1));
            }

            if (args[1] == "realtime")
            {
                fetcher = new RealTimeCityBikeDataFetcher();
            }
            else if (args[1] == "offline")
            {
                fetcher = new OfflineCityBikeDataFetcher();
            }
            else
            {
                fetcher = null;
                throw new Exception("No fetcher type provided");
            }
            try {
                Console.WriteLine(await fetcher.GetBikeCountInStation(args[0]));
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (NotFoundException ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(await Task.FromResult(0));
        }
Ejemplo n.º 6
0
        static async Task Main(string[] args)
        {
            if (args[0].Any(char.IsDigit))
            {
                throw new ArgumentException("Invalid argument: String contains numbers");
            }

            Console.WriteLine(args[0]);
            ICityBikeDataFetcher fetcher;//= new ICityBikeDataFetcher();

            //Online?
            if (args.Length > 1)
            {
                if (args[1].Equals("realtime") || args[1].Equals("online"))
                {
                    fetcher = new RealTimeCityBikeDataFetcher();
                    //Console.WriteLine("Realtime data: " + await fetcher.GetBikeCountInStation(args[0]));
                }
                //Offline?
                else
                {
                    fetcher = new OfflineCityBikeDataFetcher();
                    //OfflineCityBikeDataFetcher fetcher_offline = new OfflineCityBikeDataFetcher();
                    // Console.WriteLine("Offline data: " + await fetcher.GetBikeCountInStation(args[0]));
                }
            }
            else //Do both
            {
                fetcher = new OfflineCityBikeDataFetcher();
                //RealTimeCityBikeDataFetcher fetcher = new RealTimeCityBikeDataFetcher();
                //Console.WriteLine("Realtime data: " + await fetcher.GetBikeCountInStation(args[0]));

                //OfflineCityBikeDataFetcher fetcher_offline = new OfflineCityBikeDataFetcher();
                //Console.WriteLine("Offline data: " + await fetcher.GetBikeCountInStation(args[0]));
            }
            Console.WriteLine("Realtime data: " + await fetcher.GetBikeCountInStation(args[0]));
        }