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);
                }
            }
        }
示例#2
0
        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);
                }
            }
        }
示例#3
0
        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 { }
        }