public async Task<List<Multiplex>> LoadMultiplexes() { var db = new MovieDataService(); var appSettings = new AppSettingsHelper(); var lastUpdated = appSettings.DateLastUpdated; var result = db.GetMultiplexes(); if (result.Count == 0 || (DateTime.Now - lastUpdated) > new TimeSpan(0, 0, 10)) { HttpClient client = new HttpClient(); var response = await client.GetStringAsync(new Uri(MultiplexUri)); var items = response.ParseMultiplexCollection(); db.SaveMultiplexes(items); appSettings.DateLastUpdated = DateTime.Now; result = db.GetMultiplexes(); } return result.OrderBy(x => x.City).ThenBy(y => y.Title).ToList(); }
public async Task<List<Movie>> LoadMovies() { var db = new MovieDataService(); var appSettings = new AppSettingsHelper(); var lastUpdated = appSettings.DateLastUpdated; var multiplexId = appSettings.MultiplexId; var result = db.GetMovies(multiplexId); if(result.Count == 0 || (DateTime.Now - lastUpdated) > new TimeSpan(0, 0, 10)) { HttpClient client = new HttpClient(); var uri = string.Format(MoviesUri, multiplexId); var response = await client.GetStringAsync(new Uri(uri)); var items = response.ParseMovieCollection(multiplexId); db.SaveMovies(items, multiplexId); appSettings.DateLastUpdated = DateTime.Now; result = db.GetMovies(multiplexId); } return result; }