예제 #1
0
        public async Task <IEnumerable <Review> > GetReviewByRestId(int restId, CancellationToken cancellationToken = new CancellationToken())
        {
            var url = new UrlBuilder(ApiConstants.BaseUrl).Append(ApiConstants.ApiUrl)
                      .Append(ApiConstants.RestaurantsGetAll);

            try
            {
                //TODO: Transfer to cloud data service
                var result = new Utility.DataFacade().GetReviewsByRestId(restId);

                // var result = await _apiClient.GetAsync<IEnumerable<RestaurantListDto>>(string.Format(url.ToString()));

                return(result);
            }
            catch (HttpResponseException e)
            {
                //TODO: check unauthorized exceptions here
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }

            return(null);
        }
        public async Task <Restaurant> GetRestaurantById(int restaurantId, CancellationToken cancellationToken = default(CancellationToken))
        {
            var url = new UrlBuilder(ApiConstants.BaseUrl).Append(ApiConstants.ApiUrl)
                      .Append(ApiConstants.RestaurantsGetById).ToString();

            url = string.Format(url, restaurantId.ToString());

            try
            {
                //TODO: enable retry mechanism
                //var result = await ExecuteRemoteRequest(async () => await _apiClient.GetAsync<IEnumerable<Restaurant>>(string.Format(url.ToString()),
                //    cancellationToken));

                // var result = await _apiClient.GetAsync<Restaurant>(string.Format(url.ToString()));
                var result = new Utility.DataFacade().GetRestaurantById(restaurantId);

                return(result);
            }
            catch (HttpResponseException e)
            {
                //TODO: check unauthorized exceptions here
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }

            return(null);
        }
        public async Task <MenuItem> GetMenuItemById(int menuItemId, CancellationToken cancellationToken = default(CancellationToken))
        {
            try
            {
                var result = new Utility.DataFacade().GetMenuItemById(menuItemId);

                return(result);
            }
            catch (HttpResponseException e)
            {
                //TODO: check unauthorized exceptions here
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }

            return(null);
        }