public async Task <MovieDetails> GetMovie(long id) { var key = String.Format("movie{0}", id); MovieDetails movie = _cacheService.Get <MovieDetails>(key); if (movie == null) { if (_connectivity.EnsureInternetAccess()) { var uri = ResourceIdentifier.MovieUri(id); try { var responseString = await _httpService.Get(uri); movie = (MovieDetails)_jsonConverter.DeserializeObject(responseString, typeof(MovieDetails)); _cacheService.Set(key, movie, CacheExpiry(15.0)); } catch { ShowGetFailedNotification(); return(new MovieDetails()); } } else { ShowConnectionNotification(); return(new MovieDetails()); } } return(movie); }
public void MovieUriReturnsProperMovieUri(long id) { var expectedRegexPattern = @"https://epertuar.azurewebsites.net/api/Movie/\d+"; var actual = ResourceIdentifier.MovieUri(id); Assert.Matches(expectedRegexPattern, actual); }
public async Task <Movie> GetMovie(long id) { Movie movie = null; string uri = ResourceIdentifier.MovieUri(id); try { string dataString = await _httpService.Get(uri); movie = (Movie)_converter.FromJson(dataString, typeof(Movie)); } catch { return(new Movie()); } return(movie); }