public static bool ValidateParameter(BaseECPayLogisticsRequest request) { var parameter = ModelHelper.ToDictionary(request); //all the parameter shound be passed return(parameter.All(validateParameter)); }
protected virtual HttpResponseMessage GetResponse(string url, BaseECPayLogisticsRequest request) { ApplySettingToRequest(request); //Check parameter valid ValidatorChecker.ValidateParameter(request); //converto request to form var httpContent = HttptHelper.ConvertObjectToForm(request); //prepare _webClient.BaseAddress = new Uri(url); _webClient.DefaultRequestHeaders.Accept.Clear(); //query HttpResponseMessage httpResponse = _webClient.PostAsync("", httpContent).Result; return(httpResponse); }
protected virtual Response <string> GetData(string url, BaseECPayLogisticsRequest request, Func <string, string> convert = null) { var httpResponse = GetResponse(url, request); var response = new Response <string>(); if (httpResponse.IsSuccessStatusCode) { //Prepare data var stringData = httpResponse.Content.ReadAsStringAsync().Result; //apply data response.Data = stringData; response.IsSuccess = true; } else { response.ErrorMessage = httpResponse.Content.ReadAsStringAsync().Result; } return(response); }
protected virtual Response <T> GetData <T>(string url, BaseECPayLogisticsRequest request, Func <string, T> convert = null) where T : class, new() { var httpResponse = GetResponse(url, request); var response = new Response <T>(); if (httpResponse.IsSuccessStatusCode) { //Prepare data var stringData = httpResponse.Content.ReadAsStringAsync().Result; //apply data response.Data = convert != null?convert.Invoke(stringData) : ConvertResultToObject <T>(stringData); response.IsSuccess = true; } else { response.ErrorMessage = httpResponse.Content.ReadAsStringAsync().Result; } return(response); }
protected void ApplySettingToRequest(BaseECPayLogisticsRequest request) { request.HashKey = _settings.HashKey; request.HashIV = _settings.HashIV; request.MerchantID = _settings.MerchantID; }