Esempio n. 1
0
        public void SubscribeStationChanged(string stationName, string cityName, int timeInSeconds)
        {
            IVelibEvent subscriber = OperationContext.Current.GetCallbackChannel <IVelibEvent>();
//            var timer = new System.Threading.Timer(Callback, null, 0, timeInSeconds * 1000);
            Timer timer = new Timer(_ => Callback(subscriber, stationName, cityName), subscriber, 0,
                                    timeInSeconds * 1000);
        }
Esempio n. 2
0
        private void Callback(IVelibEvent subscriber, string stationName, string cityName)
        {
            WebRequest webRequest =
                WebRequest.Create(
                    $"https://api.jcdecaux.com/vls/v1/stations?contract={cityName}&apiKey={VelibIntermediary.ApiKey}");

            webRequest.Credentials = CredentialCache.DefaultCredentials;

            var response = webRequest.GetResponse();

            Stream dataStream = response.GetResponseStream();

            StreamReader reader = new StreamReader(dataStream);

            string responseFromServer = reader.ReadToEnd();

            List <Station> stations = JsonConvert.DeserializeObject <List <Station> >(responseFromServer);

            reader.Close();
            response.Close();
            subscriber.StationChanged(stations.Find(station => station.Name == stationName));
            Console.WriteLine("LOLOLOLOLOLOL");
        }