Ejemplo n.º 1
0
        public string GetHelp()
        {
            DateTime start = DateTime.Now;

            Monitor_Manager.AddRequestFromClientSize();
            WebRequest  requestCache  = WebRequest.Create("http://localhost:8001/cache/help");
            WebResponse responseCache = requestCache.GetResponse();

            Monitor_Manager.AddRequestToVelib();
            Stream       dataStreamCache         = responseCache.GetResponseStream();
            StreamReader readerCache             = new StreamReader(dataStreamCache);
            string       responseFromServerCache = readerCache.ReadToEnd();

            if (responseFromServerCache != "")
            {
                return(responseFromServerCache);
            }

            string res = "This is a console client. We can access to the IWS to query the information of the bikes. We also can query the route information by googleMap\n";

            cacheManager.AddHelp(res);
            Monitor_Manager.AddCacheSize();
            Monitor_Manager.AddDelay(DateTime.Now.Subtract(start).TotalMilliseconds);
            return(res);
        }
Ejemplo n.º 2
0
        public string GetTheNumberOfClient(string startTime, string endTime)
        {
            double start = Convert.ToDouble(startTime);
            double end   = Convert.ToDouble(endTime);

            return(Monitor_Manager.GetTheNumberOfClient(start, end).ToString());
        }
Ejemplo n.º 3
0
        public string GetRequestToVelib(string startTime, string endTime)
        {
            double start = Convert.ToDouble(startTime);
            double end   = Convert.ToDouble(endTime);

            return(Monitor_Manager.GetRequestNumberToVelib(start, end).ToString());
        }
Ejemplo n.º 4
0
        public string GetRequestOfClient(string startTime, string endTime)
        {
            double start = Convert.ToDouble(startTime);
            double end   = Convert.ToDouble(endTime);

            return(Monitor_Manager.GetRequestFromClientSize(start, end).ToString());
        }
Ejemplo n.º 5
0
        public string GetInfomationsOfStation(string city_name, string station_number)
        {
            DateTime start = DateTime.Now;

            Monitor_Manager.AddRequestFromClientSize();
            string postData = "station=" + station_number + "&city=" + city_name;

            byte[]     byteArray    = System.Text.Encoding.UTF8.GetBytes(postData);
            WebRequest requestCache = WebRequest.Create("http://localhost:8001/cache/Station?station=" + station_number + "&city=" + city_name);

            requestCache.Method = "POST";

            requestCache.ContentLength = byteArray.Length;
            Stream newStream = requestCache.GetRequestStream();

            newStream.Write(byteArray, 0, byteArray.Length);
            newStream.Close();

            WebResponse responseCache = requestCache.GetResponse();

            Monitor_Manager.AddRequestToVelib();
            Stream       dataStreamCache         = responseCache.GetResponseStream();
            StreamReader readerCache             = new StreamReader(dataStreamCache);
            string       responseFromServerCache = readerCache.ReadToEnd();

            if (responseFromServerCache != "")
            {
                return(responseFromServerCache);
            }


            try
            {
                WebRequest  request  = WebRequest.Create("https://api.jcdecaux.com/vls/v1/stations/" + station_number + "?contract=" + city_name + "&apiKey=" + apiKey_Jce);
                WebResponse response = request.GetResponse();
                Monitor_Manager.AddRequestToVelib();
                Stream       dataStream         = response.GetResponseStream();
                StreamReader reader             = new StreamReader(dataStream);
                string       responseFromServer = reader.ReadToEnd();
                Station      station            = JsonConvert.DeserializeObject <Station>(responseFromServer);
                cacheManager.AddStationInformation(city_name, station_number, station.ToString());
                Monitor_Manager.AddCacheSize();
                Monitor_Manager.AddDelay(DateTime.Now.Subtract(start).TotalMilliseconds);
                return(station.ToString());
            }
            catch (WebException wex)
            {
                Console.WriteLine("Web Exception" + wex);
                return("Web Exception" + wex);
            }
        }
Ejemplo n.º 6
0
        public List <Station> GetStations(string city)
        {
            WebRequest  request_station  = WebRequest.Create("https://api.jcdecaux.com/vls/v1/stations?contract=" + city + "&apiKey=" + this.apiKey_Jce);
            WebResponse response_station = request_station.GetResponse();

            Monitor_Manager.AddRequestFromClientSize();
            Monitor_Manager.AddRequestToVelib();
            Stream         dataStream         = response_station.GetResponseStream();
            StreamReader   reader             = new StreamReader(dataStream);
            string         responseFromServer = reader.ReadToEnd();
            List <Station> station_list       = JsonConvert.DeserializeObject <List <Station> >(responseFromServer);

            return(station_list);
        }
Ejemplo n.º 7
0
        public string GetAllStationsOfCity(string city_name)
        {
            DateTime start = DateTime.Now;

            Monitor_Manager.AddRequestFromClientSize();
            WebRequest  requestCache  = WebRequest.Create("http://localhost:8001/cache/city/" + city_name);
            WebResponse responseCache = requestCache.GetResponse();

            Monitor_Manager.AddRequestToVelib();
            Stream       dataStreamCache         = responseCache.GetResponseStream();
            StreamReader readerCache             = new StreamReader(dataStreamCache);
            string       responseFromServerCache = readerCache.ReadToEnd();

            if (responseFromServerCache != "")
            {
                return(responseFromServerCache);
            }


            try
            {
                WebRequest  request  = WebRequest.Create("https://api.jcdecaux.com/vls/v1/stations?contract=" + city_name + "&apiKey=" + this.apiKey_Jce);
                WebResponse response = request.GetResponse();
                Monitor_Manager.AddRequestToVelib();
                Stream         dataStream         = response.GetResponseStream();
                StreamReader   reader             = new StreamReader(dataStream);
                string         responseFromServer = reader.ReadToEnd();
                List <Station> stationList        = JsonConvert.DeserializeObject <List <Station> >(responseFromServer);

                String res = "";
                foreach (Station station in stationList)
                {
                    res = res + station.name + "   station_number:  " + station.number + "\n";
                }
                cacheManager.AddAllStationOfCity(city_name, res);
                Monitor_Manager.AddCacheSize();
                Monitor_Manager.AddDelay(DateTime.Now.Subtract(start).TotalMilliseconds);
                return(res);
            }
            catch (WebException wex)
            {
                return("Web Exception" + wex);
            }
        }
Ejemplo n.º 8
0
 public VelibService()
 {
     Monitor_Manager.AddClientSize();
     cacheManager = new Caching();
 }
Ejemplo n.º 9
0
 public int GetCacheNumber()
 {
     return(Monitor_Manager.GetCacheSize());
 }
Ejemplo n.º 10
0
 public string GetAverageDelay()
 {
     return(Monitor_Manager.GetAverageDelay());
 }