Exemplo n.º 1
0
        public async Task <RootObject> FetchDataFromServer(EnumAPIPath path, int?imodelId)
        {
            HttpResponseMessage data = null;

            if (path == EnumAPIPath.imoveis)
            {
                data = await App.baseHttpClient.GetAsync(path.ToString());
            }
            else
            {
                data = await App.baseHttpClient.GetAsync($"{EnumAPIPath.imoveis.ToString()}/{imodelId}");
            }

            if (data != null && data.IsSuccessStatusCode)
            {
                var dataAsString = await data.Content.ReadAsStringAsync();

                if (!string.IsNullOrEmpty(dataAsString))
                {
                    var obj = JsonConvert.DeserializeObject <RootObject>(dataAsString);
                    return(obj);
                }
            }

            return(new RootObject());
        }
Exemplo n.º 2
0
        public async Task <RootObject> Get(EnumAPIPath path, int?imovelId = null)
        {
            if (!await _connectivityService.IsConnected())
            {
                throw new NoConnectionException();
            }

            var data = await FetchDataFromServer(path, imovelId);

            if (data != null)
            {
                if (path == EnumAPIPath.imoveis)
                {
                    data.Imoveis.ForEach((obj) => _repository.Insert(obj as T));
                }
                else
                {
                    _repository.Insert(data.Imovel as T);
                }

                return(data);
            }
            return(new RootObject());
        }