예제 #1
0
 public Task Execute()
 {
     return(AirportsHttpService.Get()
            .ContinueWith(x => AirportsRepository.Put(
                              MapperFactory.ResolveMapper <AirportsJsonGetResponse, AirportsRepositoryItem>()
                              .Map(x.Result))));
 }
예제 #2
0
        public async Task <AirportServiceResponse> GetAirports(bool bypassCache = false)
        {
            AirportServiceResponse response;

            if (bypassCache)
            {
                var httpResponseObject = await AirportsHttpService.Get();

                response = MapperFactory.ResolveMapper <AirportsJsonGetResponse, AirportServiceResponse>()
                           .Map(httpResponseObject);
                response.FromCache = false;
                return(response);
            }

            var cachedAirports = AirportsRepository.Get();

            response = MapperFactory.ResolveMapper <IEnumerable <IAirportsRepositoryItem>, AirportServiceResponse>()
                       .Map(cachedAirports);
            response.FromCache = true;
            return(response);
        }