public int getAvailableBikes(string contract, string station, int delay)
        {
            JObject jsonObject = null;

            StationProperties p = tampon[contract][station];

            if (checkUpdate(p, delay))
            {
                int        station_number = tampon[contract][station].StationNumber;
                WebRequest req            = WebRequest.Create(@"https://api.jcdecaux.com/vls/v1/stations/" + station_number + @"?contract="
                                                              + contract + @"&apiKey=" + API_KEY);

                WebResponse response = req.GetResponse();
                Console.WriteLine(((HttpWebResponse)response).StatusDescription);
                Stream dataStream = response.GetResponseStream();

                StreamReader reader = new StreamReader(dataStream);

                string responseFromServer = reader.ReadToEnd();

                reader.Close();
                response.Close();

                jsonObject = JObject.Parse(responseFromServer);

                p.AviableBikes = (int)jsonObject["available_bikes"];
                p.LastUpdate   = DateTime.Now;
            }

            return(p.AviableBikes);
        }
        private bool checkUpdate(StationProperties p, int delay)
        {
            if (p.AviableBikes == -1)
            {
                return(true);
            }
            if (p.LastUpdate == null)
            {
                return(true);
            }

            if (DateTime.Now.Subtract(p.LastUpdate.Value).TotalSeconds >= delay)
            {
                return(true);
            }

            return(false);
        }