public async void GetObject(IServiceDeletegate <object> handler, GetAction action, params object[] prms) { try { var uri = new Uri(String.Format(Config.BASE_SERVICE_URL + action.Url + String.Join("/", prms), string.Empty)); _response = await _httpClient.GetAsync(uri).ConfigureAwait(false);; if (_response.IsSuccessStatusCode) { JsonSerializerSettings serSettings = new JsonSerializerSettings(); serSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); var data = _response.Content.ReadAsStringAsync(); handler.HandleServiceResults(data.Result, true, string.Empty); } else { handler.HandleServiceResults(null, false, "Failed to connect to the web server, verify that you have airtime or switch off mobile data to work offline"); } } catch (Exception ex) { if (ex.Message.Contains("A task was canceled")) { handler.HandleServiceResults(null, false, "Failed to connect to the web server, verify that you have airtime or switch off mobile data to work offline"); } else { handler.HandleServiceResults(null, false, ex.Message); } } }
public async void GetPost(IServiceDeletegate <object> handler, GetAction action, params object[] prms) { try { string parameters = string.Empty; if (prms != null) { parameters = String.Join("/", prms); } var uri = new Uri(String.Format(Config.BASE_SERVICE_URL + action.Url + parameters, string.Empty)); //httpClient.DefaultRequestHeaders.Accept.Clear(); //httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); responseMessage = await httpClient.GetAsync(uri).ConfigureAwait(false); if (responseMessage.IsSuccessStatusCode) { JsonSerializerSettings serSettings = new JsonSerializerSettings(); serSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); var data = responseMessage.Content.ReadAsStringAsync(); handler.HandleServiceResults(data.Result, true, action.Code, string.Empty); } else { handler.HandleServiceResults(null, false, action.Code, "Failed to connect to the web server, verify that you have airtime or switch off mobile data to work offline"); } } catch (Exception ex) { if (ex.Message.Contains("A task was canceled")) { handler.HandleServiceResults(null, false, action.Code, "Failed to connect to the web server, verify that you have airtime or switch off mobile data to work offline"); } else { handler.HandleServiceResults(null, false, action.Code, ex.Message); } } }
public void GetObject(IServiceDeletegate <object> handler, GetAction action, params object[] param) { ResultObj <dynamic> result = new ResultObj <dynamic>(); try { string error = string.Empty; switch (action.Code) { case ActionCode.login: //result.Data = _conn..GetAllWithChildren<OfficerModel>().Where(o => o.USERNAME.ToLower() == param[0].ToString().ToLower() && o.PASSWORD == param[1].ToString()).FirstOrDefault(); error = "Invalid username or password"; break; } if (result.Data != null) { result.isSuccessful = true; result.Error = string.Empty; } else { result.isSuccessful = false; result.Error = error; } if (action.Code == ActionCode.login) { handler.HandleServiceResults(JsonConvert.SerializeObject(result), result.isSuccessful, result.Error); } else { handler.HandleServiceResults(JsonConvert.SerializeObject(result.Data), result.isSuccessful, result.Error); } } catch { } }