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()); }
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()); }