예제 #1
0
        public async Task FirstLoadCicloStationsAsync()
        {
            var token = await _tokenManager.GetTokenAsync();
            string cicloStationsUrl = String.Format("{0}{1}", _url, token.access_token);
            string jsonResult = await _httpCommunicator.GetRequestAsync(cicloStationsUrl);
            var cicloStationResult = JsonConvert.DeserializeObject<CicloStationResult>(jsonResult);

            if (cicloStationResult != null)
            {
                JsonController<IEnumerable<CicloStation>> jsonController = new JsonController<IEnumerable<CicloStation>>(fileName);
                CicloStations = cicloStationResult.stations;
                await jsonController.SaveElementAsync(cicloStationResult.stations);
            }
        }
예제 #2
0
        public async Task<EcoBiciToken> GetTokenAsync()
        {
            EcoBiciToken result = default(EcoBiciToken);
            JsonController<EcobiciTokenControllerEntity> xmlController = new JsonController<EcobiciTokenControllerEntity>(fileName);

            var ecobiciTokenControllerResult = await xmlController.ReadElementAsync();

            //TODO: el token solo esta disponible 1 hora
            if (ecobiciTokenControllerResult != null && (DateTime.Now - ecobiciTokenControllerResult.SaveDate).Hours < 1) return ecobiciTokenControllerResult.EcoBiciToken;
            result = await _authenticator.GetAccessTokenAsync();
            EcobiciTokenControllerEntity ecobiciTokenControllerEntity = new EcobiciTokenControllerEntity()
            {
                EcoBiciToken = result,
                SaveDate = DateTime.Now
            };

            await xmlController.SaveElementAsync(ecobiciTokenControllerEntity);
            return result;
        }